如正版同樣,歌曲播放進度在播放/暫停 按鈕的邊框顯示(頁面下方,由黑變紅)git
沒登陸的話,通常只能聽12秒
目前只作了 模塊(‘超帶感的說唱精選’)的點播功能,
其餘地方能夠直接套用(一、2行代碼便可),控制檯已經寫好
複製代碼
卡片(音樂日曆)切換動畫也是仿照正版來github
視頻模塊須要登陸才能看到設計模式
波紋動畫依然是仿照正版的
複製代碼
咱們看一下,個人、抽屜頁面的先後差別api
‘切換帳號’有退出的功能
複製代碼
接口爲大佬們開源的網易雲API,在此感謝緩存
開源網易雲api服務器
我花了90多買了個雲服務把接口clone下來後,開發使用。markdown
各位clone我項目時,能夠用個人接口也能夠本身搭一個
一年90多的雲服務器,大家用時輕點兒...
複製代碼
Tip: 接口返回的數據不太穩定,有的時候還會變形,對於移動端開發來講,形成了一些麻煩,各位開發時要注意。架構
另外,若是你運行這個demo發現出錯了,那大機率時接口廢了或者數據變形了,看日誌吧
複製代碼
此項目基於Bedrock 快速開發框架開發框架
MVVM + Provider 設計模式
複製代碼
開發這個demo並非爲了對flutter進行練習,而是由於前些日子對flutter路由模塊的封裝,並應用於Bedrock框架。
在重構了原項目的demo以及添加了針對性演示demo後,以爲有必要再在一個複雜一些的項目裏測試一下,所以便有了這個:
仿網易雲音樂(基礎版)
複製代碼
也算是給個人框架增長了一個繪聲繪色的大Demo吧 :)。
與此同時,既然是Demo,在項目開發時儘可能作到點到爲止,避免開發者閱讀過多的冗餘的頁面代碼,而沒法瞭解框架的工做原理。
因爲沒有設計圖,頁面全憑感受來,加之接口的不穩定(類型/結果),開發起來確實費勁...
因此叫基礎版
複製代碼
這次路由封裝,不但減小了開發時的代碼書寫,而且對外暴露出state,能夠作到任何粒度的刷新。
但這並不意味着能夠拋棄provider
複製代碼
在兼容靜態路由的優點同時,對於靜態路由的 map 傳值,取而代之的是構造函數傳值,這樣避免了key的輸錯。
更多介紹能夠看下面的文章:
你們能夠clone下項目後,挑揀未實現的功能來實現以熟悉框架
複製代碼
登陸(註冊未實現,沒有空號了)
個人頁面:登陸/非登陸狀態(不含子級頁面)
發現頁面: 點歌 (不含子級頁面)
雲村頁面:廣場&關注子頁(不含其它子級頁面)
視頻頁面:登陸/非登陸狀態,各tab子頁面,視頻播放(不含其它子級頁面)
個人抽屜:登陸/非登陸狀態(不含子級頁面)
搜索頁面:支持搜索歷史本地化、清理緩存,搜索及搜索建議,(不含搜索結果和其它子級頁面)
底部音樂bar:後臺音樂功能模塊,支持單點播放,(未實現底部控制檯點擊後彈出的播放歷史記錄和歌單,這個可能後期要作,蠻有意思的)
再次感謝開源網易雲音樂api的大佬們。
同時歡迎各位提issue,謝謝 :)
Demo代碼可能有些隨意和bug,還請見諒。
複製代碼