圖
首頁
歌曲播放和卡片切換
如正版一樣矢腻,歌曲播放進(jìn)度在播放/暫停 按鈕的邊框顯示(頁面下方庆冕,由黑變紅)
沒登錄的話菲盾,一般只能聽12秒
目前只做了 模塊(‘超帶感的說唱精選’)的點播功能赊抖,
其他地方可以直接套用(1、2行代碼即可),控制臺已經(jīng)寫好
卡片(音樂日歷)切換動畫也是仿照正版來
個人中心和抽屜(未登錄)
云村
視頻(未登錄)
視頻模塊需要登錄才能看到
波紋動畫依然是仿照正版的
登錄
視頻(已登錄)
登錄前后頁面變化
我們看一下半抱,我的、抽屜頁面的前后差異
再退出一下
‘切換賬號’有退出的功能
搜索頁面
文
所用接口
接口為大佬們開源的網(wǎng)易云API,在此感謝
我花了90多買了個云服務(wù)把接口clone下來后膜宋,開發(fā)使用窿侈。
各位clone我項目時,可以用我的接口也可以自己搭一個
一年90多的云服務(wù)器秋茫,你們用時輕點兒...
Tip:
接口返回的數(shù)據(jù)不太穩(wěn)定史简,有的時候還會變形,對于移動端開發(fā)來說,造成了一些麻煩圆兵,各位開發(fā)時要注意跺讯。
另外,如果你運行這個demo發(fā)現(xiàn)出錯了殉农,那大概率時接口廢了或者數(shù)據(jù)變形了刀脏,看日志吧
開發(fā)框架 Bedrock
此項目基于Bedrock 快速開發(fā)框架開發(fā)
MVVM + Provider 設(shè)計模式
初衷
開發(fā)這個demo并不是為了對flutter進(jìn)行練習(xí),而是因為前些日子對flutter路由模塊的封裝超凳,并應(yīng)用于Bedrock框架愈污。
在重構(gòu)了原項目的demo以及添加了針對性演示demo后,覺得有必要再在一個復(fù)雜一些的項目里測試一下轮傍,因此便有了這個:
仿網(wǎng)易云音樂(基礎(chǔ)版)
也算是給我的框架增加了一個繪聲繪色的大Demo吧 :)暂雹。
與此同時,既然是Demo创夜,在項目開發(fā)時盡量做到點到為止杭跪,避免開發(fā)者閱讀過多的冗余的頁面代碼,而無法了解框架的工作原理驰吓。
由于沒有設(shè)計圖涧尿,頁面全憑感覺來,加之接口的不穩(wěn)定(類型/結(jié)果)棚瘟,開發(fā)起來確實費勁...
所以叫基礎(chǔ)版
路由封裝的簡介
此次路由封裝现斋,不但減少了開發(fā)時的代碼書寫喜最,并且對外暴露出state偎蘸,可以做到任何粒度的刷新。
但這并不意味著可以拋棄provider
在兼容靜態(tài)路由的優(yōu)勢同時瞬内,對于靜態(tài)路由的 map 傳值迷雪,取而代之的是構(gòu)造函數(shù)傳值,這樣避免了key的輸錯虫蝶。
更多介紹可以看下面的文章:
關(guān)于這次flutter路由封裝的架構(gòu)介紹
Demo功能概覽
大家可以clone下項目后章咧,挑揀未實現(xiàn)的功能來實現(xiàn)以熟悉框架
登錄(注冊未實現(xiàn),沒有空號了)
我的頁面:登錄/非登錄狀態(tài)(不含子級頁面)
發(fā)現(xiàn)頁面: 點歌 (不含子級頁面)
云村頁面:廣場&關(guān)注子頁(不含其它子級頁面)
視頻頁面:登錄/非登錄狀態(tài)能真,各tab子頁面赁严,視頻播放(不含其它子級頁面)
我的抽屜:登錄/非登錄狀態(tài)(不含子級頁面)
搜索頁面:支持搜索歷史本地化、清理緩存粉铐,搜索及搜索建議疼约,(不含搜索結(jié)果和其它子級頁面)
底部音樂bar:后臺音樂功能模塊,支持單點播放蝙泼,(未實現(xiàn)底部控制臺點擊后彈出的播放歷史記錄和歌單程剥,這個可能后期要做,蠻有意思的)
項目地址
感謝
再次感謝開源網(wǎng)易云音樂api的大佬們汤踏。
同時歡迎各位提issue织鲸,謝謝 :)
Demo代碼可能有些隨意和bug舔腾,還請見諒。