999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于web的音樂播放器后端的設(shè)計(jì)與實(shí)現(xiàn)

2021-02-28 11:53:54馬杰瑞王風(fēng)碩
電腦知識(shí)與技術(shù) 2021年35期

馬杰瑞 王風(fēng)碩

摘要:該文首先進(jìn)行了系統(tǒng)的需求分析,使用E-R圖繪制出需求模塊,使用MySQL數(shù)據(jù)庫,node.js框架及相關(guān)技術(shù),完成基于web的音樂播放器后端的設(shè)計(jì)與實(shí)現(xiàn)。

關(guān)鍵詞:前端開發(fā);node.js;音樂播放器;MySQL

中圖分類號:TP311 ? ? 文獻(xiàn)標(biāo)識(shí)碼:A

文章編號:1009-3044(2021)35-0072-03

1 引言

為了放松心情,讓聽歌更加方便快捷,沒有廣告等其他干擾使用,于是便有了自己制作一個(gè)音樂播放器的想法。面對廣大的用戶市場,制作一個(gè)便捷好用并且能夠滿足大部分用戶需求的音樂播放器是一件很有意義并且造福于巨大群體的事情。

網(wǎng)頁音樂播放器的構(gòu)筑開發(fā),除基本的播放歌曲的功能。還增加了不同于傳統(tǒng)音樂播放硬件的龐大音樂庫,讓用戶能夠投其所好,提供優(yōu)質(zhì)無損的音源供用戶播放欣賞的同時(shí)也增加了曲目收藏。在多樣化的需求實(shí)現(xiàn)后,讓網(wǎng)頁播放器的功能日趨完善,滿足用戶的音樂鑒賞、交流溝通的要求,為他們提供優(yōu)質(zhì)服務(wù)。

2 技術(shù)選型

在網(wǎng)頁播放器的開發(fā)與技術(shù)選擇上,我們主要采用市面上廣泛使用的、成熟的前端技術(shù),在主流的三種框架vue.js、react.js、angular.js中,這三個(gè)主流框架分別代表著不同的三條路線,底層都是js語言,但是各個(gè)的實(shí)現(xiàn)方式都有不同。我們使用的是目前市場最火的vue.js,配套還應(yīng)用了vuex + vue-router + axios 。

vue.js是一套構(gòu)建用戶界面的框架只關(guān)注視圖層,易上手,有配套的第三方類庫。提高開發(fā)效率,幫助減少不必要的dom操作。

vuex一個(gè)專為vue.js應(yīng)用程序開發(fā)的狀態(tài)管理模式。它采用集中式存儲(chǔ)管理應(yīng)用的所有組件的狀態(tài),并以相應(yīng)的規(guī)則保證狀態(tài)以一種可預(yù)測的方式發(fā)生變化[1]。

vue-router是官方的路由管理器。它和vue.js的核心深度集成,讓構(gòu)建單頁面應(yīng)用變得易如反掌。包含的功能有:

嵌套的路由/視圖表;模塊化的、基于組件的路由配置;路由參數(shù)、查詢、通配符;基于vue.js過渡系統(tǒng)的視圖過渡效果;細(xì)粒度的導(dǎo)航控制;帶有自動(dòng)激活的CSS class 的鏈接;HTML5 歷史模式或 hash模式,在IE9中自動(dòng)降級;自定義的滾動(dòng)條行為[2]。

axios:可以理解為ajax i/o system,這不是一種新技術(shù),本質(zhì)上還是對原生XMLHttpRequest的封裝,可用于瀏覽器和nodejs的HTTP客戶端,只不過它是基于Promise的,符合最新的ES規(guī)范。具備以下特點(diǎn):在瀏覽器中創(chuàng)建XMLHttpRequest請求;在node.js中發(fā)送http請求;支持Promise API;攔截請求和響應(yīng);轉(zhuǎn)換請求和響應(yīng)數(shù)據(jù);取消要求;自動(dòng)轉(zhuǎn)換JSON數(shù)據(jù);客戶端支持防止CSRF/XSRF(跨域請求偽造)。

JavaScript 代碼規(guī)范

變量名命名規(guī)則:變量名使用駝峰法來命名(camelCase)[3]。

空格與運(yùn)算符使用規(guī)則:運(yùn)算符 ( = + - * / ) 前后需要添加空格。

代碼縮進(jìn)規(guī)則:使用 4 個(gè)空格符號來縮進(jìn)代碼塊。

對象定義的規(guī)則:將左花括號與類名放在同一行。冒號與屬性值間有個(gè)空格。字符串使用雙引號,數(shù)字不需要。最后一個(gè)屬性-值對后面不要添加逗號。將右花括號獨(dú)立放在一行,并以分號作為結(jié)束符號。

語句規(guī)則:1)簡單語句:一條語句通常以分號作為結(jié)束符。2)復(fù)雜語句:將左花括號放在第一行的結(jié)尾。左花括號前添加一空格。將右花括號獨(dú)立放在一行。不要以分號結(jié)束一個(gè)復(fù)雜的聲明。

3 需求分析

本項(xiàng)目的是開發(fā)一個(gè)基于網(wǎng)頁可以播放主流的音樂文本格式的播放器。能控制播放,暫停,停止,音量控制,選擇上一曲,選擇下一曲,歌曲列表文件的管理操作,在線播放,讀取個(gè)人信息等多種播放控制。

4 數(shù)據(jù)庫設(shè)計(jì)

數(shù)據(jù)庫邏輯結(jié)構(gòu)E-R圖如圖1所示。

4.1 用戶表單

該表為核心表,用于保存全部注冊用戶的昵稱、賬號、密碼等基礎(chǔ)信息。其中唯一賬號為主鍵。

4.2 收藏曲目表單

該表用于保存用戶個(gè)人收藏歌曲,除賬號主鍵外,還保存了歌曲id、歌曲名、歌曲鏈接。

4.3 歷史聽歌表單

該表包含用戶全部聽歌歷史,在用戶選擇播放時(shí)會(huì)進(jìn)行更新數(shù)據(jù),同收藏曲目表結(jié)構(gòu)相同。

4.4 評論表單

該表包含歌曲下的全部評論,以歌曲id為主鍵,保存了歌曲下用戶的全部評論內(nèi)容同時(shí)保存評論時(shí)間,在用戶評論下方其他用戶可以進(jìn)行回復(fù),傳入數(shù)據(jù)庫中,分別以回復(fù)用戶和回復(fù)內(nèi)容保存在數(shù)據(jù)庫中。

5 模塊功能設(shè)計(jì)與實(shí)現(xiàn)

通過線上線下的調(diào)查歸納與數(shù)據(jù)收集,并且進(jìn)行需求分析后,該在線音樂播放器主要分為五個(gè)部分,進(jìn)行模塊化開發(fā)。分別是:評論管理模塊;收藏管理模塊;用戶安全管理模塊;數(shù)據(jù)庫管理模塊;歌曲管理模塊。

其中評論模塊主要包括發(fā)布評論;刪除評論;回復(fù)評論這三個(gè)功能。收藏管理模塊包括對喜愛歌曲的增刪功能。用戶安全管理模塊主要包括:用戶賬號的登錄;注冊;注銷以及對個(gè)人主頁的編輯。數(shù)據(jù)庫管理模塊用于保存用戶使用本在線播放器的數(shù)據(jù):用戶表單;收藏歌曲表單;歷史聽歌歌單表單;評論表單。歌曲管理模塊主要負(fù)責(zé)用戶的基礎(chǔ)音樂播放器使用實(shí)現(xiàn),包括:歌曲詳情頁;播放歌曲;切換曲目;檢索曲目;以及推薦歌單。

功能模塊分析如圖2所示。

5.1 用戶管理模塊

5.1.1 注冊

用戶在使用本在線音樂播放器時(shí),最先接觸的功能,用戶所注冊的賬戶用于保存用戶的個(gè)人基本資料以及后續(xù)使用播放器時(shí)產(chǎn)生的各種與用戶相關(guān)的數(shù)據(jù)。用戶所輸入的賬戶名與密碼將保存到后端數(shù)據(jù)庫中。

5.1.2 登錄

注冊成功后,頁面將自行跳轉(zhuǎn)到登錄窗口,登錄窗口也可在網(wǎng)頁主頁自行點(diǎn)擊進(jìn)入。在用戶輸入個(gè)人用戶名與密碼之后,服務(wù)端將數(shù)據(jù)與數(shù)據(jù)庫中保存的賬戶信息進(jìn)行比對,若賬戶與密碼匹配成功,顯示登錄成功,并成功進(jìn)入主頁,服務(wù)端將拉取數(shù)據(jù)庫中與該用戶相關(guān)的歷史數(shù)據(jù),供用戶使用訪問修改。

5.1.3 個(gè)人主頁

在用戶登錄后,服務(wù)端將從數(shù)據(jù)庫拉取用戶使用歷史數(shù)據(jù),包括歷史歌單、收藏曲目與推薦曲目。

5.1.4 注銷

注銷功能用于用戶在使用播放器后,保護(hù)個(gè)人隱私的功能,該功能將賬戶從登錄狀態(tài),返回至非登錄狀態(tài),頁面將進(jìn)行刷新,并且清除用戶使用數(shù)據(jù)。

關(guān)于服務(wù)器連接數(shù)據(jù)庫的node.js代碼,這里使用管理員身份用戶對用戶表實(shí)現(xiàn)增刪改查功能為例進(jìn)行演示。

代碼如圖3所示。

5.2 歌曲管理模塊

5.3.1 展示

該功能用于播放器首頁,主界面設(shè)計(jì)得非常簡潔大方,能夠讓用戶快速上手 使用,極佳的人性化設(shè)計(jì)能讓用戶快速直觀地找到自己感興趣的歌曲或MV。

5.3.2 檢索

檢索功能能讓用戶在眾多歌曲中盡快找到自己所想尋找的曲目,支持歌名搜索與歌手搜索。節(jié)約用戶在龐大的歌曲庫中依次尋找的時(shí)間,提升使用體驗(yàn)。

5.3.3 播放\暫停

音樂播放器的基礎(chǔ)功能,用戶可在主界面直接雙擊曲目播放,也可在添加歌單后直接播放,該功能控制基礎(chǔ)的播放與暫停。

5.3.4 歌曲推薦

用戶可以在歌曲推薦中,直觀地看到實(shí)時(shí)更新的最新音樂曲目以及歌曲MV,并且還有根據(jù)個(gè)人喜好推薦的歌單,以及大量用戶收藏的曲目推薦。

5.3.5 切換播放

切換播放可以進(jìn)行切換上一首曲目播放或是下一首曲目播放。作為一個(gè)功能進(jìn)行了單獨(dú)的封裝,單獨(dú)制作了循環(huán)播放或隨機(jī)播放的判斷,在用戶選定了播放順序后,點(diǎn)擊切換播放按鈕,該功能將進(jìn)行播放另外一首曲目,并將當(dāng)前進(jìn)度條歸零。

5.3 評論管理模塊

5.3.1 發(fā)布評論

用戶在歌曲詳情界面,可以在評論區(qū),輸入文本及表情,發(fā)布自己的文章。服務(wù)器將文本保存至個(gè)人數(shù)據(jù)庫中,并發(fā)布至網(wǎng)頁供其他用戶查看、評論,發(fā)表的文章將包含發(fā)布時(shí)間及其發(fā)布用戶昵稱。

5.3.2 刪除評論

用戶在發(fā)表評論后,可對自己的個(gè)人評論進(jìn)行刪除操作,該操作會(huì)同步至后端數(shù)據(jù)庫,刪除該條評論數(shù)據(jù),該操作不可撤回。

5.3.2 回復(fù)

用戶可以在自己感興趣的評論下面跟帖,回復(fù)、評論別人的文章,進(jìn)行交流。

5.4 收藏管理模塊

5.4.1 添加收藏

在用戶使用過程中,在遇到自己喜歡的歌曲時(shí),可在歌曲詳情頁進(jìn)行收藏保存。同時(shí),服務(wù)器會(huì)將歌曲信息保存至該用戶個(gè)人歌曲收藏表中,并在個(gè)人主頁的歌曲收藏表中顯示出來,在后期使用中便于用戶快速切換使用該歌單。

5.4.2 刪除收藏

在收藏歌單中可以刪除已收藏曲目,該操作也會(huì)同步至數(shù)據(jù)庫,更新個(gè)人收藏歌單表中的數(shù)據(jù)。

6 結(jié)束語

本文介紹了基于Web的音樂播放器的后端設(shè)計(jì)與實(shí)現(xiàn),網(wǎng)頁在線音樂播放器在滿足調(diào)查后用戶的基本需求的同時(shí),也進(jìn)行了簡化,提升用戶的使用體驗(yàn)。該播放器基于vue.js框架,使用了模塊化編程,引用了數(shù)據(jù)驅(qū)動(dòng)化開發(fā)的思想,極大地降低了后期更新?lián)Q代與維護(hù)運(yùn)營的成本。該音樂播放器還有可以更深入改進(jìn)的地方,例如:加入大數(shù)據(jù)算法分析用戶收藏表單,將分析后的數(shù)據(jù)與曲庫比對,然后更新推送用戶可能喜歡歌曲。在后續(xù)也將陸續(xù)增添各種功能,并且優(yōu)化系統(tǒng)算法,減少播放器的故障。也會(huì)采納用戶使用后的建議與意見,爭取完善出一個(gè)貼合用戶使用的優(yōu)秀播放器。

參考文獻(xiàn):

[1] 尤雨溪.Vuex [EB/OL].[2021-04-25].https://vuex.vuejs.org/zh/.

[2] 尤雨溪.Vue Router Vue.js官方路由[EB/OL]. [2021-04-25].https://router.vuejs.org/zh/.

[3] Wall L,Schwartz R L.Programming Perl[M]. O′Reilly Associates Inc,1991.

【通聯(lián)編輯:梁書】

主站蜘蛛池模板: 国产精品久久久久久久久| 伊人激情综合网| 亚洲国产高清精品线久久| 国产va在线观看免费| 国产91色在线| 国产精品页| 久久国语对白| 日本不卡免费高清视频| 青青草原国产免费av观看| 国产免费一级精品视频| 又猛又黄又爽无遮挡的视频网站| 尤物国产在线| 亚洲综合日韩精品| 91蜜芽尤物福利在线观看| 亚洲美女高潮久久久久久久| 国内精品九九久久久精品| 成人福利免费在线观看| 无码中文字幕精品推荐| 婷婷午夜影院| 国产精品亚洲а∨天堂免下载| 国产伦精品一区二区三区视频优播| 少妇精品网站| 中文字幕精品一区二区三区视频| 国产成人高清精品免费| 免费一级成人毛片| 无码日韩人妻精品久久蜜桃| 91久久精品日日躁夜夜躁欧美| 黄色网址手机国内免费在线观看| 热99精品视频| 又黄又爽视频好爽视频| 一级福利视频| 日韩精品高清自在线| 免费午夜无码18禁无码影院| 欧美成人aⅴ| AV无码无在线观看免费| 久久九九热视频| 午夜少妇精品视频小电影| 亚洲欧美人成电影在线观看| 亚洲国产清纯| 国产凹凸视频在线观看| 亚洲成人一区二区| 欧美色综合网站| 欧美亚洲国产日韩电影在线| 亚洲欧美日韩成人高清在线一区| 亚洲视频色图| 无码一区二区三区视频在线播放| 亚洲欧美日韩视频一区| 国产精品视频导航| 亚洲天堂成人在线观看| 国产精品亚洲一区二区三区z| 伊人福利视频| 亚洲国产中文精品va在线播放| 国产午夜无码专区喷水| 波多野结衣中文字幕一区二区| 亚洲国产一成久久精品国产成人综合| 视频二区中文无码| 毛片一级在线| 一本色道久久88综合日韩精品| 欧美黑人欧美精品刺激| 亚洲国产91人成在线| 精品国产污污免费网站| 97se亚洲综合不卡| 欧美a在线看| 亚洲精品亚洲人成在线| 国内熟女少妇一线天| 激情六月丁香婷婷四房播| 亚洲乱亚洲乱妇24p| 97在线国产视频| 男女男免费视频网站国产| 丁香亚洲综合五月天婷婷| 精品一區二區久久久久久久網站| 亚洲精品福利视频| 国产精品福利在线观看无码卡| 欧美日韩第二页| 91免费精品国偷自产在线在线| 有专无码视频| 看国产毛片| 不卡视频国产| 伊人91在线| a欧美在线| 亚州AV秘 一区二区三区 | 久久精品亚洲热综合一区二区|