66 lines
1.7 KiB
JavaScript
66 lines
1.7 KiB
JavaScript
// 云函数入口文件
|
|
const cloud = require('wx-server-sdk')
|
|
|
|
cloud.init({env : "asr-v3kua"})
|
|
|
|
async function sendTemplateMessage(event) {
|
|
const {OPENID} = cloud.getWXContext()
|
|
|
|
// 接下来将新增模板、发送模板消息、然后删除模板
|
|
// 注意:新增模板然后再删除并不是建议的做法,此处只是为了演示,模板 ID 应在添加后保存起来后续使用
|
|
const addResult = await cloud.openapi.templateMessage.addTemplate({
|
|
id: 'AT0002',
|
|
keywordIdList: [3, 4, 5]
|
|
})
|
|
|
|
const templateId = addResult.result.templateId
|
|
|
|
const sendResult = await cloud.openapi.templateMessage.send({
|
|
touser: OPENID,
|
|
templateId,
|
|
formId: event.formId,
|
|
page: 'page/cloud/pages/scf-openapi/scf-openapi',
|
|
data: {
|
|
keyword1: {
|
|
value: '未名咖啡屋',
|
|
},
|
|
keyword2: {
|
|
value: '2019 年 1 月 1 日',
|
|
},
|
|
keyword3: {
|
|
value: '拿铁',
|
|
},
|
|
}
|
|
})
|
|
|
|
await cloud.openapi.templateMessage.deleteTemplate({
|
|
templateId,
|
|
})
|
|
|
|
return sendResult
|
|
}
|
|
|
|
async function getWXACode() {
|
|
const {result} = await cloud.openapi.wxacode.getUnlimited({
|
|
scene: 'x=1',
|
|
})
|
|
|
|
// 此处返回 Base64 图片仅作为演示用,在实际开发中,
|
|
// 应上传图片至云文件存储,然后在小程序中通过云文件 ID 使用
|
|
return `data:${result.contentType};base64,${result.buffer.toString('base64')}`
|
|
}
|
|
|
|
// 云函数入口函数
|
|
// eslint-disable-next-line
|
|
exports.main = async (event) => {
|
|
switch (event.action) {
|
|
case 'sendTemplateMessage': {
|
|
return sendTemplateMessage(event)
|
|
}
|
|
case 'getWXACode': {
|
|
return getWXACode(event)
|
|
}
|
|
default: break
|
|
}
|
|
}
|