3.3需求分析
该小程序主要有五个主要模块,四个主要功能。如下图3.2。
图3.2
3.4总体设计
3.4.1三个tabbar页面
网易云音乐微信小程序的三个tabbar页面设计如图3.3,三个tabbar页面如图3.4。
图3.3
图3.4
3.4.2从tabbar(发现)页面路由跳转到其他模块
图3.5
该小程序有许多功能模块,为了页面简洁,使用方便,我在tabbar页面添加了三个navigator组件,使用户可以通过tabbar页面路由跳转到相应功能模块。同时在van-search搜索框组件上绑定一个元素获取焦点时触发的事件,通过gosearch方法内置navigator路由跳转到搜索页面。具体设计如上图3.5。
3.4.3在各个模块嵌入自定义songlist组件
图3.6
通过自定义组件的方式来减少代码的冗余性,增加代码的可读性。在该项目中自定义了一个songlist的组件,songlist组件通过props属性接受Songlist数组数据。因为排行榜模块、专辑详情模块、歌单模块、搜索模块都包括歌曲列表,所以将歌单列表单独做成自定义组件的方式来方便功能的实现。其设计如上图3.6。
3.4.4从自定义songlist组件路由跳转到音乐播放页面
图3.7
图3.8
如图3.8所示在songlist组件中内置navigator组件,实现路由跳转到音乐播放页面,与此同时传递songs的唯一标识id,使音乐播放页面能根据接受到的id,通过网络请求唯一的获取到需要播放的音乐的信息。其设计如图3.7所示。
3.4.5音乐播放页面的一系列功能
图3.9
音乐播放页面的设计如上图3.9所示。
图3.10
其播放音乐列表模块使用van-popup实现底部