1.在插件市场下载安装订阅消息插件到项目中(属于unicloud的uni-subscribemsg 公共模块)
地址存在于\uniCloud\cloudfunctions\common\uni-subscribemsg
2.在edit中加入请求是否通知订阅消息
const onSubmit = async () => {
await uni.requestSubscribeMessage({
tmplIds:["nD0V_AkkZwUeJFhTpfZ6TBoHCu6XrScOb82d68QpW6w"]
});
其中的tmplIds:里面是我们微信申请的订阅消息模板
3.创建云对象subscribemsg,然后添加云对象依赖的公共模块的时候,勾选uni-subscribemsg
const UniSubscribemsg=require('uni-subscribemsg')
module.exports = {
_before: function () { // 通用预处理器
},
async sendSubscribeMessage(){
// 初始化实例
let uniSubscribemsg = new UniSubscribemsg({
dcloudAppid: "__UNI__6A102F8", //在manifest.json里面
provider: "weixin-mp", // 注意,这里是改为weixin-mp就是小程序
});
// 发送模板消息
let res = await uniSubscribemsg.sendSubscribeMessage({
touser: "o51LL6_DfIOMkwIKb69miA_Kp2MY", //用户openid
template_id: "nD0V_AkkZwUeJFhTpfZ6TBoHCu6XrScOb82d68QpW6w",//这是订阅信息模板id
page: "pages/index/index", // 用户点击消息后跳转的链接地址
miniprogram_state: "developer", // 跳转小程序类型:developer为开发版;trial为体验版;formal为正式版;默认为正式版
lang: "zh_CN",
data: {
thing1: {
value: "张三"
},
phrase2: {
value: "发布成功"
},
time3: {
value: "2024-8-20 15:55:20"
},
thing4: {
value: "备注信息"
}
}
});
}
}
其中data数据模板要按照订阅消息的格式来写
4.在edit中引入该云对象然后使用
const subscribemsg=uniCloud.importObject("subscribemsg"); //引入
const updataSuccess=()=>{
if(id){
if(formDate.value.status===1){
let {user_id:[{_id:user_id}],_id:soup_id} =formDate.value
soupScore.soupAdd({user_id,soup_id})
}
}
subscribemsg.sendSubscribeMessage(); //使用
}