需求分析
因为功能的需要分为两点
- 他需要调转转发,并且有首页转发
- 点击button按钮进行转发邀请好友帮忙助力,如何做到一个页面多种转发
如何区分,是button转发还剩右上角三个点转发呢?
通过onShareAppMessage()这个函数的事件对象来判断
点击button按钮进行转发邀请好友帮忙助力,如何做到一个页面多种转发?
-
需要双重判断,先判断是三个点转发还是button转发
-
button需要跳转多个不同的页面,转发是转发的本页面如何进行区分呢?
采用自定义属性传参的方式进行判断
data-
*的意思就是所有字符都可以,只要开头是data-就可以了
如: data-a , data-b,data-c 都是可以的
自定义属性都储存在dataset
这个对象,里面的key就是 data- 后面的参数
<button class="activities-bar-operation-btn" data-item="{{item}}" open-type="share" >邀请好友助力</button>
总结
终点就是自定义属性,也是新手对于小程序开发容易出的坑吧
今天的问题主要就是,需要先知道事件的来源出现在哪里,通过事件来源来控制return里的参数,是通过自定义属性,来区分哪个按钮需要做那一个操作核心带你都是围绕着(自定义属性 data-*)
代码
onShareAppMessage: async function (ops) {
console.log(ops)
// 判断是button还是右上角转发
const bool = ops.from == 'button' // true 是button false是默认转发
console.log(bool)
let obj = {}
if (bool) {
const item = ops.target.dataset.item
obj = {
title: `帮我一起拿"${item.ActivityPrizeName}"`,
path: `/pages/helpchargeoff/cheating?isfirst=0&activityId=${item.ActivityId}&recordId=${item.RecordId}`,
imageUrl: item.Prizeimgurl
}
} else {
obj = {
title: '马上有优惠参与活动抽大奖',
path: '/pages/ymlogin/ymlogin'
}
}
return obj
},