常见的功能,微信的允许订阅信息和发送信息到微信中,代码如下
// html
<button type="primary" bindtap="btnTestSubscribeMsg" style="margin-top:5px;">订阅消息</button>
<button type="primary" bindtap="btnSendSubscribeMsg" style="margin-top:5px;">发送订阅消息</button>
上序两个方法如下
// 允许小程序发送订阅信息
btnTestSubscribeMsg() {
wx.requestSubscribeMessage({
tmplIds: ["cwOpYIXJ8qhj6PY7SQNRRvXjAYWDw3o1ePOYI6cJQSg"],
success: (res) => {
console.log(res);
},
fail: (err) => {
console.log(err);
}
})
},
// 发送订阅信息
btnSendSubscribeMsg() {
wx.cloud.callFunction({
name: "sendsubscribemsg",
success: (res) => {
console.log(res)
}
});
},
tmplIds在小程序开发平台设置
最后创建云函数来发送信息,如下
// 云函数 sendsubscribemsg
// 云函数入口文件
const cloud = require('wx-server-sdk')
cloud.init()
// 云函数入口函数
exports.main = async (event, context) => {
const wxContext = cloud.getWXContext()
try {
// 发送订阅信息
const result = await cloud.openapi.subscribeMessage.send({
touser: wxContext.OPENID,
page: 'pages/message/index', // 调用该云函数所在页面
lang: 'zh_CN',
data: {
// 以下的几个参数 是必要的
name1: {
value: 'mkp'
},
name2: {
value: "大家好"
},
time2: {
value: '2021年1月1日'
},
thing4: {
value: '我是你爸爸'
}
},
templateId: 'cwOpYIXJ8qhj6PY7SQNRRvXjAYWDw3o1ePOYI6cJQSg', //模板id与上面一致
miniprogramState: 'developer'
})
return result
} catch (err) {
return err
}
}
可能会遇到的报错,如下 编号47003
根据 官网 展示如下,因此把缺少的参数添加上去,便可以了
最后成功~~~