要在微信小程序中向公众号推送消息模板,需要通过云开发云函数来实现。
1. 在小程序端调用云函数发送模板消息:
// 在小程序端调用云函数发送模板消息 wx.cloud.callFunction({ name: 'sendTemplateMessage', data: { touser: 'OPENID', // 接收消息的用户openid templateId: 'TEMPLATE_ID', // 模板消息ID page: 'index', // 点击模板消息后跳转的页面 data: { keyword1: { value: '数值1' }, keyword2: { value: '数值2' } } }, success: res => { console.log('发送模板消息成功', res) }, fail: err => { console.error('发送模板消息失败', err) } })
2. 创建云函数sendTemplateMessage:
// 云函数sendTemplateMessage const cloud = require('wx-server-sdk') cloud.init() exports.main = async (event, context) => { try { const result = await cloud.openapi.templateMessage.send({ touser: event.touser, templateId: event.templateId, page: event.page, data: event.data }) return result } catch (err) { console.log(err) return err } }
在这个示例中,小程序端调用云函数sendTemplateMessage来发送模板消息,需要传入接收消息的用户openid、模板消息ID、点击模板消息后跳转的页面和消息内容数据。云函数中通过wx-server-sdk提供的openapi.templateMessage.send方法来发送模板消息,发送成功后返回结果,发送失败则返回错误信息。
需要注意的是,使用云函数发送模板消息时需要在小程序后台配置模板消息,并获得对应的模板ID。