小程序禁止二次转发分享私密消息,动态消息 wx.updateShareMenu
私密消息:运营人员分享小程序到个人或群之后,该消息只能在被分享者或被分享群内打开,不可以二次转发。
可用于不希望目标客群外的人员看到的分享信息,比如私有化活动的分享
如图:分享和发送到朋友圈都是置灰的
未设置私密消息则可以长按转发
需要使用到以下三种API进行结合操作
//私密消息
wx.updateShareMenu({
isPrivateMessage: true,
})
// 禁用分享
wx.hideShareMenu({
menus: ['shareAppMessage', 'shareTimeline']
})
// 显示分享
wx.showShareMenu({
withShareTicket: true,
menus: ['shareAppMessage', 'shareTimeline']
})
案例需求:私有活动 需要私密消息
实例代码
<script>
export default {
data() {
return {
}
},
created() {
//设置私密消息,在群聊中也不可转发
wx.updateShareMenu({
isPrivateMessage: true,//只是做禁止分享可以不用activityId
})
//隐藏三个点的分享到朋友圈和转发好友或群的按钮
wx.hideShareMenu({
menus: ['shareAppMessage', 'shareTimeline']
})
//进入后判断是否是白名单人员
this.isWhitelist()
},
methods: {
//判断是否是白名单
async isWhitelist() {
const res = await isWhitelist();
if (res.success) {
if(res.result.isStaff){
wx.showShareMenu({
menus: ['shareAppMessage', 'shareTimeline']
})
}
}
},
},
}
</script>
updateShareMenu调用一次之后其他页面也会启用私密转发注意页面卸载时把方法重新调用isPrivateMessage改成false
小程序私密分享之动态消息的两种用法
1.第一种用法
需求是运营人员分享出去给被分享者和或被分享群后被分享者再分享给被分享群之外的用户,被分享用户分享的用户打开后需要判断非被分享群的人并提示关注公众号加群参与活动
流程图如下
动态消息示例
wx.updateShareMenu({
withShareTicket: true, //分享时是否携带ShareTicket
isPrivateMessage: false,//是否是私密消息
activityId: 'xxx' //后端接口生成返回
})
知识概要点牢记
1.ShareTicket是withShareTicket=true后分享自动生成的这点牢记
ShareTicket转发出去的小程序被二次打开的时候能够获取到一些信息,例如群的标识
从群聊、单聊消息卡片进入小程序时,通过 wx.authPrivateMessage 接口可以验证当前用户是否是私密消息的接收者
我们只判断是否是私密消息可以只用valid判断,但是有被篡改的风险。可以使用activityId避免
代码示例
此api需要在APP.vue中的onshow调用也可在onLaunch调用,options中取shareTicket
onShow(options) {
const { shareTicket,referrerInfo } = options
console.log(shareTicket,referrerInfo)
if(shareTicket){
this.authPrivate(shareTicket)
}
},
authPrivate(shareTicket,callback){
wx.authPrivateMessage({
shareTicket: shareTicket,
success(res) {
if(res.valid == true){
//提示这个人是私密分享的接受者 可以参与活动
}else{
//提示这个人是不是私密分享的接受者
}
},
fail(res) {
}
})
}
})
第二种用法
需求限制参与人数组队类型流程
如图
动态消息:仅使用于组队场景,分享消息会带上当前组队的进度,如图,“成员正在加入,当前m/n人”只能修改mn,其他文字不能修改,并且mn只能为正整数
动态消息示例
wx.updateShareMenu({
withShareTicket: true,
isUpdatableMessage: true,
activityId: 'xxx' //后端接口生成返回
templateInfo: {
parameterList: [{
name: 'member_count',//不用修改
value: '1' // 填实际的已加入人数
}, {
name: 'room_limit',//不用修改
value: '3' // 填实际的房间总人数
}]
}
//此处可增加一个templateld 就是消息推送模板 开始提醒或满人提醒由于我没有此模板权限无法给出dome
})
当组队人数有变化时调用一次下面的接口达成动态修改页面中已参与的人数,分享的卡片状态会实时变更
POST https://api.weixin.qq.com/cgi-bin/message/wxopen/updatablemsg/send?access_token=ACCESS_TOKEN
文档地址:https://developers.weixin.qq.com/miniprogram/dev/OpenApiDoc/mp-message-management/updatable-message/setUpdatableMsg.html文章来源:https://www.toymoban.com/news/detail-654858.html
参考文章如下:https://zhuanlan.zhihu.com/p/578915337文章来源地址https://www.toymoban.com/news/detail-654858.html
到了这里,关于小程序禁止二次转发分享私密消息,动态消息 wx.updateShareMenu的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!