小程序禁止二次转发分享私密消息动态消息

第一种用法:私密消息

私密消息:运营人员分享小程序到个人或群之后,该消息只能在被分享者或被分享群内打开,不可以二次转发。

用途:主要用于不希望目标客群外的人员看到的分享信息,比如带有较高金额活动的分享。

如图:设置私密消息的分享和发送到朋友圈都是置灰的;未设置私密消息则可以长按转发。

实现思路:在活动页面统一设置为私密消息并且不允许分享,白名单控制可分享用户。

需要使用到以下三种API进行结合操作:

// 私密消息
wx.updateShareMenu({isPrivateMessage: true,withShareTicket: true, // 分享时是否携带ShareTicketactivityId: 'xxx' // 后端接口生成返回
})
// 禁用分享
wx.hideShareMenu({menus: ['shareAppMessage', 'shareTimeline']
})
// 显示分享
wx.showShareMenu({withShareTicket: true,menus: ['shareAppMessage', 'shareTimeline']
})
注意:updateShareMenu 调用一次之后其他页面也会启用私密转发,需要在页面卸载时重新调用将 isPrivateMessage 改为 false 
// 此api需要在APP.vue中的onshow调用也可在onLaunch调用 通过options取shareTicket
onShow(options) {const { shareTicket,referrerInfo } = optionsconsole.log(shareTicket,referrerInfo)if(shareTicket){this.authPrivate(shareTicket)}
},
authPrivate(shareTicket,callback){wx.authPrivateMessage({shareTicket: shareTicket,success(res) {if(res.valid){// 提示这个人是私密分享的接受者 可以参与活动}else{// 提示这个人是不是私密分享的接受者 返回首页}}})
},

注意:ShareTicket 是 withShareTicket=true 后分享自动生成的这点牢记。

ShareTicket 转发出去的小程序被二次打开的时候能够获取到一些信息,例如群的标识。

从群聊、单聊消息卡片进入小程序时,通过 wx.authPrivateMessage 接口可以验证当前用户是否是私密消息的接收者。

我们只判断是否是私密消息可以只用valid判断,但是有被篡改的风险。可以使用activityId避免。

文档地址:转发 / wx.updateShareMenu (qq.com) 

参考:开放能力 / 转发 / 小程序私密消息 (qq.com)

第二种用法:动态消息

需求限制参与人数组队类型流程
仅使用于组队场景,分享消息会带上当前组队的进度,如图,“成员正在加入,当前m/n人”只能修改mn,其他文字不能修改,并且mn只能为正整数。

wx.updateShareMenu({withShareTicket: true,isUpdatableMessage: true,activityId: 'xxx' //后端接口生成返回templateInfo: {parameterList: [{name: 'member_count',//不用修改value: '1' // 填实际的已加入人数},{name: 'room_limit',//不用修改value: '3' // 填实际的房间总人数},]}
}),
当组队人数有变化时,调用一次下面的接口,达成动态修改页面中已参与的人数,分享的卡片状态会实时变更。

https://api.weixin.qq.com/cgi-bin/message/wxopen/updatablemsg/send?access_token=ACCESS_TOKEN

文档地址:修改动态消息 | 微信开放文档

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/234048.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

在java java.util.Date 已知逝去时间怎么求年月日 数学计算不用其他方法

在Java中,使用java.util.Date类已知逝去时间求年月日的方法如下: 首先,获取当前时间和逝去时间之间的毫秒数差值,可以使用Date类的getTime()方法获得时间戳。 将毫秒数转换为秒数,并计算出总共的天数。 根据总共的天…

消除笔怎么用?手把手教你一键智能消除杂物

消除笔怎么用?消除笔是一种非常实用的工具,可以帮助我们快速修复图片中的小问题。无论是想要消除照片中的路人还是进行一些修改,消除笔都可以轻松地帮助我们实现。 以下是使用消除笔的步骤: 1、打开水印云软件,并在工具…

ProgrammingError: nan can not be used with MySQL

该错误怎么发生的? 我们先在本地创建测试表: CREATE TABLE users_test (id int NOT NULL AUTO_INCREMENT COMMENT 主键,trade_account varchar(50) DEFAULT NULL COMMENT 交易账号,username varchar(50) DEFAULT NULL,email varchar(100) DEFAULT NULL…

大数据HCIE成神之路之数学(4)——最优化实验

最优化实验 1.1 最小二乘法实现1.1.1 算法介绍1.1.2 代码实现1.2 梯度下降法实现1.2.1 算法介绍1.2.2 代码实现1.3 拉格朗日乘子法1.3.1 实验1.3.2 实验操作步骤1.1 最小二乘法实现 1.1.1 算法介绍 最小二乘法(Least Square Method),做为分类回归算法的基础,有着悠久的历…

【UE】简单的警觉系统

效果 步骤 1. 新建一个空白工程,添加第三人称游戏内容包 2. 打开第三人称角色蓝图“BP_ThirdPersonCharacter” 选中弹簧臂组件,将目标臂长度设置为600,z轴方向的插槽偏移设置为100 3. 将“BP_ThirdPersonCharacter”移入场景,该…

Glove学习笔记

global vectors for word representation B站学习视频 1、LSA与word2vec 我们用我们的见解,构建一个新的模型,Glove,全局向量的词表示,因为这个模型捕捉到全局预料的统计信息。 LSA:全局矩阵分解word2vec:局部上下文…

Flat Ads将携6亿独家流量亮相白鲸GTC2023,在7V01展台等你

一年一度的白鲸出海全球流量大会GTC重磅来袭!今年GTC出海展区全面升级,规模扩增至15000平方米,覆盖游戏、应用、技术及品牌出海等热门行业,预计将迎来累计超30000名跨境出海相关从业者莅临参观。 Flat Ads受邀设展,现场互动100%中奖 从出海到全球化,中国互联网企业走向海外寻…

深度学习大数据物流平台 python 计算机竞赛

文章目录 0 前言1 课题背景2 物流大数据平台的架构与设计3 智能车货匹配推荐算法的实现**1\. 问题陈述****2\. 算法模型**3\. 模型构建总览 **4 司机标签体系的搭建及算法****1\. 冷启动**2\. LSTM多标签模型算法 5 货运价格预测6 总结7 部分核心代码8 最后 0 前言 &#x1f5…

[个人笔记] Zabbix实现Webhook推送markdown文本

系统工程 - 运维篇 第四章 Zabbix实现Webhook推送markdown文本 系统工程 - 运维篇系列文章回顾Zabbix实现Webhook推送markdown文本前言实施步骤 Zabbix新增报警媒介类型Zabbix给用户新增报警媒介Zabbix修改动作的执行操作和恢复操作验证&测试 参考来源 系列文章回顾 第一章…

就是说,还有行政人不知道这个神器吗

救命,还有行政人不知道它的吗??再不用真的亏大了啊!!用它写东西再也不用愁了 这东西写啥都可以,只有输入需求马上就写好了啊,什么工作总结,活动策划方案,会议纪要啥啥都…

Vue3生命周期函数(简述题)

1.图示 2.说明 3.补充 1.在vue3组合式API中,我们需要将生命周期函数先导入,然后才能使用。 import {onMounted} from vue2.beforeCreate和created被setup()方法所代替

“逆风飞翔·事实孤儿同行计划”成长陪伴主题区域陪伴培训会

为推进各机构更好地开展事实孤儿成长陪伴工作,促进事实孤儿成长陪伴实施成效,搭建各机构间事实孤儿成长陪伴方式方法交流平台。11月26日,在中国乡村发展基金会、中国民生银行的支持下,由湖南省大爱无疆青少年公益发展中心主办&…