1.收藏
其原理就是点击的时候给他一个状态值false/true,让他的图标状态改变,并将其添加到收藏的数据库中
点击前 点击后
<view>
<view class="iconfont {{!isShouc ? 'icon-shoucang1' : 'icon-shoucangdianjihou1 col'}}" bindtap="Shouc"></view>
收藏
</view>
在js中定义一个状态值
data: {
isShouc: false,
},
在js中定义一个方法
Shouc() {
let isShouc = false
let collect = wx.getStorageSync("collect") || [];//获取本地储存中的数据
let index = collect.findIndex(v => v.goods_id === this.cartList.goods_id);//判断数据是否存在,返回-1为不存在
if (index !== -1) {
collect.splice(index, 1)//如果存在就删除
isShouc = false //改变状态
wx.showToast({//提示
title: '取消收藏',
})
} else {
collect.push(this.cartList)//不存在就添加进去
isShouc = true
wx.showToast({
title: '收藏成功'
})
}
wx.setStorageSync("collect", collect)//添加到本地储存中
this.setData({
isShouc//改变图标的状态
})
},
2.分享
在button中使用open-type:share属性(可以打开分享面板),或者在右上角选择分享
<button open-type="share"></button>
创建好页面后在每一个js文件夹都有这个函数
/**
* 用户点击右上角分享
*/
onShareAppMessage: function () {
return {
title: '黑马优购',//分享时的标题
imageUrl: '//www.17qq.com/img_qqtouxiang/89352043.jpeg',//分享时的图片路径(必须为本地路径或临时路径)
}
}
3.客服
在button中使用open-type:contact属性(打开客服会话,如果用户在会话中点击消息卡片后返回小程序)
<button open-type="contact"></button>
开发者可以通过 bindcontact 事件回调获取到用户所点消息的页面路径 path 和对应的参数 query
handleContact (e) {
console.log(e.detail.path)
console.log(e.detail.query)
}