小程序如何写收藏、分享、客服功能

小程序中如何实现收藏

 1)首先把收藏按钮注册个点击事件,在这里我注册的是collect,
 我们可以用数据的id或者index,来检测是否被储存,具体做看下面代码

在Wxml中的代码

<text  bindtap="collect">
<text class="iconfont {{isCollect?'icon-shoucang1':'icon-shoucang'}}"> 收藏</text>
</text>

在js中的代码
具体的思路先写一个数组,用来储存需要收藏的数据, 再循环数组判断判断数组里每一个对象的id ,看是否为收藏过的。
如果id不相同就点击collect的事件就进行收藏,就在要储存的数组中push进去要储存的数据,
如果id相同就说明存储过了,再次点击说明就是取消收藏,就对储存的数据进行splice的操作进行删除
最后把调整过得数据进行存储 我这里用的是wx.setStorageSync( );
最后我们需要在点击事件的开始在调用下我们储存的数据,用来循环

Page({

  /**
   * 页面的初始数据
   */
  data: {
  Snum:0,
    isCollect:false,
  },
  obj:{
    collect:[]
  },

collect() {
  let collect = wx.getStorageSync('collect') || []
  console.log(collect);
let names=this.data.message.goods_name;
let price=this.data.message.goods_price;
let imgs=this.data.message.goods_big_logo;
let  id=this.data.message.goods_id;
let k=false;
let num=1;
let flag=false;
collect.forEach((item,index)=>{
if(item.id==id){
  k=true
  console.log();
  collect.splice(index,1)
  wx.showToast({
    title: '收藏取消',
  }) 
  this.setData({
    isCollect:false
  })
}
});
if(!k){
  collect.push({
imgs,
num ,
id,
names,
flag,
price  
})

wx.showToast({
  title: '收藏成功',
})
this.setData({
  isCollect:true
})

}
console.log(collect);
wx.setStorageSync('collect', collect);
this.getTotalPrice()
},

//在数据请求完成后,再次调用下收藏数据,让一进页面就行判断看是否储存过,判断图标的显示状态
onLoad: function (options) {
      let  id=this.data.message.goods_id;
      let arrs=wx.getStorageSync('collect') ||[]
      console.log(arrs);
      arrs.forEach(item=>{
         if(item.id=id){
           this.setData({
            isCollect:true
           })
         }
      })
    })
  },
}

我在点击事件collect中调用了个函数,那是判断一共收藏的条数。

  getTotalPrice() {
    let arr = wx.getStorageSync("collect");
console.log(arr);
    let Snum = 0
    for (let i = 0; i < arr.length; i++) {
        Snum += arr[i].num
    }
    console.log(Snum)
wx.setStorageSync('Snum', Snum)
  },
})

最后收藏功能就实现完成。

小程序中如何实现分享

只要在你写的button中设置open-type属性等于share,就可完成分享功能
代码如下,
在Wxml中

<button  open-type="share" class="nav_left">
  <text class="iconfont icon-yixianshi-"></text>
  <view>分享</view>
</button>

小程序中如何实现客服功能

这个功能的实现和分享功能一样,在button中设置open-type属性等于contact
代码如下,
在Wxml中

<button class="nav_left" open-type="contact">
  <text class="iconfont icon-kefu"> </text>
  <view>客服</view>
</button >

如果在参考的过程中有问题,还请各位码友指出

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值