## 定义变量,并引入本地数据
## tips: **[const,var与let的区别](https://www.kancloud.cn/book/lixianshengdezhanghao/wxxx/preview/le.md)**
```
//index.js
//获取应用实例
const local = require("../../../data/local");
const audio = wx.getBackgroundAudioManager();
```
## 下面代码为数据处理,以及事件。
```
Page({
data: {
isPlay: false,
//定义isPlay的初始状态为false
collected:false,//同上,下也同上
shared:false
},
onLoad: function (options) {
var self = this; //将this指向整个页面
console.log(self)
var data = local.postList[options.id]; //拿数据
// console.log(data);
this.setData({
data, //渲染数据
music: local.postList[options.id].music //渲染音乐数据
});
```
## 音乐播放状态监听
```
/* 音乐播放函数--监听页面中音乐状态是否为播放,播放就改变isPlay为true */
playSong.onPlay(() => {
self.setData({
isPlay: true
})
});
/* 音乐暂停函数--监听页面中音乐状态是否为暂停,暂停就改变isPlay为false */
playSong.onPause(() => {
self.setData({
isPlay: false
})
});
/* 音乐停止函数--监听页面中音乐状态是否为停止,停止就改变isPlay为false */
playSong.onStop(() => {
self.setData({
isPlay: false
})
});
```
## 点击播放
```
/* 点击播放或者停止事件 */
playMusic() {
var self = this;
var url = this.data.music.url;//使用this,指明当前页面的整个数据data
var title = this.data.music.title;
var coverImg = this.data.music.coverImg;
/*执行播放音乐函数时,如果isPlay值为true即正在播放,则执行playSong.pause()停止播放,更改相关参数值*/
if (this.data.isPlay) {
playSong.stop();
this.setData({
isPlay: false
});
}
//如果沒有播放则更改isPlay的状态则音乐就会播放,然后找到该音乐的地址,title,以及切换音乐背景图片
else {
playSong.src = url,
playSong.title = self.data.music.title,
playSong.coverImg = self.data.music.coverImg,
// console.log(title);
this.setData({
isPlay: true
});
}
},
```
## 利用缓存对页面收藏按钮进行配置
```
onCollect(){
/*
更新缓存
*/
var allCollected = wx.getStorageSync('allCollected');//取缓存
var storageCollected = allCollected[this.data.postId];//取id
storageCollected = !storageCollected;//取反
allCollected[this.data.postId] = storageCollected;//添加id
wx.setStorageSync('allCollected', allCollected);//通知计算机存入缓存
/*
更新收藏的状态
*/
this.setData({//渲染
collected:storageCollected
})
},
```
## 交互·小程序
```
onShare(){
wx.showActionSheet({
itemList:["分享到微信","分享到微博","分享到朋友圈"],
itemColor:'#808080',
success: (res)=> {
console.log(res.tapIndex);
this.setData({
shared:true
})
},
fail:err=>{
this.setData({
shared:false
})
}
})
}
})
```
- 接口文档
- 1.开发环境的配置
- 2.wxml语法
- 2.1数据绑定
- 2.2列表渲染
- 2.3条件渲染
- 2.4模板引用
- 2.5事件
- 冒泡与非冒泡
- 2.6skill
- 2.7小程序接口调用
- 2.8获取自定义的属性值
- 2.9 Class动态绑定
- 3.小程序API组件
- 3.1音乐播放
- demo
- 3.2target与currentTarget
- 3.3下方导航页切换(tobar)
- 3.4let,var和const的区别
- 3.5轮播
- 3.6map
- 3.7 previewImage
- 3.8 chooseImage使用照相机
- 3.9 onReachBottom上拉刷新
- 3.10 下拉加载
- 3.11 使用缓存
- 3.12 scroll-view
- 3.13 webview
- 3.14 导航条加载,页面加载
- 3.15 模态框,弹出框
- 3.16 修改顶部标题
- 3.17 form,input获取内容
- 4.封装模板与自定义组件
- 4.1 父组件向子组件传参
- 4.2 behavior将子组件公共的部分封装
- 4.3 子组件自定义事件向组件传参
- 4.4 slot--父组件向子组件传递wxml
- 4.5 外部样式--父组件向子组件传递wxss
- 4.6 组件向页面传参
- 5.生命周期
- 6.HTTP封装
- 2.初代
- 4.终级豪华进化版本
- 7.精选小语法
- 7.1 text标签
- 7.2 wxs文件
- 7.3路径
- 7.4 小程序正则
- 8.demo
- 1.取数据并渲染的小程序
- data
- local.js
- images
- pages
- template
- template.wxml
- template.wxss
- index
- index-detail
- index-detail.js
- index-detail.json
- index-detail.wxml
- index-detail.wxss
- index.js
- index.json
- index.wxml
- index.wxss
- map
- map.js
- map.json
- map.wxml
- map.wxss
- movies
- movies.js
- movies.json
- movies.wxml
- movies.wxss
- web-page
- welcome
- utils
- utils.js
- app.js
- app.json
- app.wxss
