项目名称:音乐小程序项目
讲师:coderwhy
学习链接:小程序音乐项目开发实战-大神coderwhy新课-学习视频教程-腾讯课堂课程简介
https://ke.qq.com/course/4162214
此博客用来总结自己学习小程序开发的知识点,有兴趣的小伙伴可以去上面链接进行学习。
一、小程序的背景
1.各个平台小程序的发布时间:
![](https://img-blog.csdnimg.cn/8dce79c3f9294933b302a856f92ff3a1.png?x-oss-process=image/watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBAeHhxc3NzcXM=,size_20,color_FFFFFF,t_70,g_se,x_16)
2.传统App要更新需要先打包再上架到应用商场,这个过程需要审核,时间周期长。而小程序可以在App不更新的情况下,动态地给自己的应用添加新的功能需求(可以绕过审核的步骤 )
![](https://img-blog.csdnimg.cn/61780242e1704ecc8f805753ada81f26.png?x-oss-process=image/watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBAeHhxc3NzcXM=,size_20,color_FFFFFF,t_70,g_se,x_16)
3.原生微信小程序开发主要技术包括:
WXML、WXSS、JavaScript(此项目主要用原生小程序开发)
![](https://img-blog.csdnimg.cn/5177d61a3ec04a1bb299254dd55d6e45.png?x-oss-process=image/watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBAeHhxc3NzcXM=,size_20,color_FFFFFF,t_70,g_se,x_16)
4.由于小程序的技术特点跟前端很相似,所有小程序的开发现在也是由前端开发工程师的工作内容之一。
![](https://img-blog.csdnimg.cn/9b2c41adf4b744d4a7790316e58e659e.png?x-oss-process=image/watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBAeHhxc3NzcXM=,size_20,color_FFFFFF,t_70,g_se,x_16)
5.开发小程序可以使用以下的框架,但本项目使用原生开发。![](https://img-blog.csdnimg.cn/374b8d4178484cdaba21ba84d2584a33.png?x-oss-process=image/watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBAeHhxc3NzcXM=,size_20,color_FFFFFF,t_70,g_se,x_16)
6.小程序的核心技术:WXML、WXSS、JavaScript + WXS![](https://img-blog.csdnimg.cn/15cbdcf2a178446cb43509d60174ea4f.png?x-oss-process=image/watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBAeHhxc3NzcXM=,size_20,color_FFFFFF,t_70,g_se,x_16)
二、开发小程序的准备工作
1.注册账号-申请AppId
先申请小程序再登录打开开发设置后可以查看自己的AppId
https://mp.weixin.qq.com
https://mp.weixin.qq.com/![](https://img-blog.csdnimg.cn/465b8ab26374446b8e5ac56b6a120d76.png?x-oss-process=image/watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBAeHhxc3NzcXM=,size_20,color_FFFFFF,t_70,g_se,x_16)
![](https://img-blog.csdnimg.cn/f0f564f03be143dcbd99b07033121014.png?x-oss-process=image/watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBAeHhxc3NzcXM=,size_20,color_FFFFFF,t_70,g_se,x_16)
![](https://img-blog.csdnimg.cn/fe82c7cb339d4351bf7fd911e4168a53.png?x-oss-process=image/watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBAeHhxc3NzcXM=,size_20,color_FFFFFF,t_70,g_se,x_16)
2.开发工具的选择
![](https://img-blog.csdnimg.cn/83b2897e302b4d3ba460bc83c90d6873.png?x-oss-process=image/watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBAeHhxc3NzcXM=,size_20,color_FFFFFF,t_70,g_se,x_16)
1.安装开发者工具
稳定版 Stable Build | 微信开放文档微信开发者平台文档
https://developers.weixin.qq.com/miniprogram/dev/devtools/download.html ![](https://img-blog.csdnimg.cn/60548b0aab494a91b5c2d62bb2c026e3.png?x-oss-process=image/watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBAeHhxc3NzcXM=,size_20,color_FFFFFF,t_70,g_se,x_16)
如果选择VSCode开发可以安装下面插件
![](https://img-blog.csdnimg.cn/5e9983790b8a47949f583fafbde26f2c.png?x-oss-process=image/watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBAeHhxc3NzcXM=,size_20,color_FFFFFF,t_70,g_se,x_16)
三、开发初体验
1.创建项目
![](https://img-blog.csdnimg.cn/4ada55992a37472286d292975a66c693.png?x-oss-process=image/watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBAeHhxc3NzcXM=,size_20,color_FFFFFF,t_70,g_se,x_16)
2.项目的目录结构
![](https://img-blog.csdnimg.cn/02c841562c1841638022f14142f9cdc6.png?x-oss-process=image/watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBAeHhxc3NzcXM=,size_20,color_FFFFFF,t_70,g_se,x_16)
3.项目起始页面
![](https://img-blog.csdnimg.cn/b033587bd5f64ff3917cad7dd4c4ed8b.png?x-oss-process=image/watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBAeHhxc3NzcXM=,size_20,color_FFFFFF,t_70,g_se,x_16)
4.简单的demo编程
Page/index 下面的index.js:存放数据和方法
修改data中的数据时需要使用Page对象中的setData方法来修改
![](https://img-blog.csdnimg.cn/00db383e30b5452bbec78a33c3e1d29c.png?x-oss-process=image/watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBAeHhxc3NzcXM=,size_20,color_FFFFFF,t_70,g_se,x_16)
index.wxml:页面布局
![](https://img-blog.csdnimg.cn/9049c5a6842b4a3d8c86e19106f15678.png?x-oss-process=image/watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBAeHhxc3NzcXM=,size_20,color_FFFFFF,t_70,g_se,x_16)
index.wxss:编写css样式
![](https://img-blog.csdnimg.cn/a969d76445f045f79156dd72f390d182.png?x-oss-process=image/watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBAeHhxc3NzcXM=,size_20,color_FFFFFF,t_70,g_se,x_16)
四、项目开始
1.底部导航栏的开发
底部导航栏可以直接使用小程序文档的全局配置
![](https://img-blog.csdnimg.cn/ad772be6bbe945d0b9513ba98c96bea6.png?x-oss-process=image/watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBAeHhxc3NzcXM=,size_20,color_FFFFFF,t_70,g_se,x_16)
在项目中的index.json文件中配置tabBar的相关信息
pagePath:tabbar对应的跳转页面
text:tabbar list的名字 iconPath:显示的图标 selectedIconPath:选中时的图标
![](https://img-blog.csdnimg.cn/0f639781af604b4f848ff801316e6e6e.png?x-oss-process=image/watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBAeHhxc3NzcXM=,size_19,color_FFFFFF,t_70,g_se,x_16)
开发时的目录结构 : home-music和home-view都是在pages中的俩个页面
![](https://img-blog.csdnimg.cn/31299c27d4cc47a5a515fe85a968ba71.png?x-oss-process=image/watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBAeHhxc3NzcXM=,size_9,color_FFFFFF,t_70,g_se,x_16)
效果图:
![](https://img-blog.csdnimg.cn/49bf7ada92a640ddbb8e90f30c900ef9.png?x-oss-process=image/watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBAeHhxc3NzcXM=,size_13,color_FFFFFF,t_70,g_se,x_16)
2.封装网络请求的方法
请求的相关api在小程序官方文档中
![](https://img-blog.csdnimg.cn/8857c8a303044f8d94381a3e20a3b59e.png?x-oss-process=image/watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBAeHhxc3NzcXM=,size_20,color_FFFFFF,t_70,g_se,x_16)
普通的请求方法:onload是page对象声明周期创建时调用的方法
![](https://img-blog.csdnimg.cn/79ace071967d41d3a6fcbc33d59404a2.png?x-oss-process=image/watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBAeHhxc3NzcXM=,size_20,color_FFFFFF,t_70,g_se,x_16)
第一层封装:
![](https://img-blog.csdnimg.cn/9fa3e2ff0cf740ea9d97828d9683180e.png?x-oss-process=image/watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBAeHhxc3NzcXM=,size_20,color_FFFFFF,t_70,g_se,x_16)
第二层封装:
![](https://img-blog.csdnimg.cn/999a1aa4ba7b44ad9caf4a57a78237bf.png?x-oss-process=image/watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBAeHhxc3NzcXM=,size_19,color_FFFFFF,t_70,g_se,x_16)
将请求的数据存放到data的topMVs中
![](https://img-blog.csdnimg.cn/c98b163555524447a968b791d5c54f28.png?x-oss-process=image/watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBAeHhxc3NzcXM=,size_18,color_FFFFFF,t_70,g_se,x_16)
在WXML页面中将数据展示出来
![](https://img-blog.csdnimg.cn/7e0d74cd8975481b8a12bda5df2e20b0.png?x-oss-process=image/watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBAeHhxc3NzcXM=,size_18,color_FFFFFF,t_70,g_se,x_16)
![](https://img-blog.csdnimg.cn/67d859453c49404790e1cc8c9bac9d38.png?x-oss-process=image/watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBAeHhxc3NzcXM=,size_10,color_FFFFFF,t_70,g_se,x_16)