分享和客服我写的都是最简单得哪中,就是用wx自带的api完成的,分享是
将button得open-type设置为share
客服是将button得open-type设置为contact
下边是代码
html部分
`<view class="cts">
<text class="iconfont icon-kefu"></text>
<text>客服</text>
<button open-type="contact" class="btn"></button>
</view>
<view class="cts">
<text class="iconfont icon-fenxiang"></text>
<text>分享</text>
<button open-type="share" class="btn"></button>
</view>`
收藏我感觉跟加入购物车差不多,就是某些部分比购物车简单,某些部分比购物车稍微复杂,下边的是我的代码
// pages/goods_detail/goods_detail.js
import regeneratorRuntime from '../../lib/runtime/runtime';
var app = getApp()
Page({
/**
* 页面的初始数据
*/
data: {
goods_id: "",
detail_list: [],
banner: [],
lists: "",
show: true,
lss: []
},
/**
* 生命周期函数--监听页面加载
*/
sc(e) {
console.log(e);
//ls是当前这个商品详情的数据
let ls = e.currentTarget.dataset.list
//如果本地存有收藏的数据就获取过来保存,没就保存为空
let sclist = wx.getStorageSync('sclist') || []
//在本地没有数据的情况下将当前商品收藏进本地
if (sclist.length === 0) {
sclist.push(ls)
//收藏成功的动画
wx.showToast({
title: '收藏成功',
})
//show是html页面收藏按钮的样式
this.setData({
show: false,
lss: sclist
})
//修改完的数据存进本地
wx.setStorageSync('sclist', sclist)
} else {=
/将当前页面的商品id与保存的商品的id对比
let indexx = sclist.findIndex(v => v.goods_id === ls.goods_id)
console.log(indexx);
//不存在这件商品继续收藏进本地保存
if (indexx == -1) {
sclist.push(ls)
wx.showToast({
title: '收藏成功',
})
console.log(sclist);
this.setData({
show: false,
lss: sclist
})
wx.setStorageSync('sclist', sclist)
} else {
//有的话就不保存显示已经收藏
wx.showToast({
title: '已收藏',
})
return false
}
}
},
getlist() {
app.axios.detail(this.data.goods_id).then(res => {
this.setData({
detail_list: res.data.message,
banner: res.data.message.pics,
lists: JSON.stringify(res.data.message)
})
})
},
/**
* 生命周期函数--监听页面显示
*/
onShow: function () {
//页面显示得时候判断当前商品是否收藏
let sclist = wx.getStorageSync('sclist') || []
//判断该商品存在不存在,控制html收藏按钮的样式
let inde = sclist.findIndex(v => v.goods_id == this.data.goods_id)
console.log(inde);
if (inde == -1) {
this.setData({
show: true
})
} else {
this.setData({
show: false
})
}
},
})