直接上代码,哈哈,里面是一些常用的去函数
入口函数里面用switch判断传递进来的参数action,不同的action调用不同的去函数
下同定义多个async云函数。
// 云函数入口文件
const cloud = require('wx-server-sdk')
cloud.init()
const db = cloud.database();
// 云函数入口函数
exports.main = async (event, context) => {
console.log(event)
switch (event.action) {
case 'sendTemplateMessage': {
return sendTemplateMessage(event)
}
case 'getWXACode': {
return getWXACode(event)
}
case 'getOpenData': {
return getOpenData(event)
}
case 'getPhone': {
return getPhone(event)
}
case 'getpnumber': {
return getpnumber(event)
}
case 'hdView': {
return hdView(event)
}
case 'hdDown': {
return hdDown(event)
}
case 'upJifen': {
return upJifen(event)
}
default: {
return
}
}
}
async function sendTemplateMessage(event) {
const { OPENID } = cloud.getWXContext()
// 接下来将新增模板、发送模板消息、然后删除模板
// 注意:新增模板然后再删除并不是建议的做法,此处只是为了演示,模板 ID 应在添加后保存起来后续使用
// const addResult = await cloud.openapi.templateMessage.addTemplate({
// id: 'AT0002',
// keywordIdList: [3, 4, 5]
// })
const templateId = 'AGAqGK9g4v08fzwj2umqJBQ1TIvJipWhvbknBGhm8SM'
const sendResult = await cloud.openapi.templateMessage.send({
touser: OPENID,
templateId,
formId: event.formId,
page: 'pages/mydown/mydown',
data: {
keyword1: {
value: '您的邮箱',
},
keyword2: {
value: '课程名子',
},
keyword3: {
value: '2019 年 06 月 20 日',
},
keyword4: {
value: '说明文字',
},
}
})
await cloud.openapi.templateMessage.deleteTemplate({
templateId,
})
return sendResult
}
async function getWXACode(event) {
// 此处将获取永久有效的小程序码,并将其保存在云文件存储中,最后返回云文件 ID 给前端使用
const wxacodeResult = await cloud.openapi.wxacode.get({
path: 'pages/openapi/openapi',
})
const fileExtensionMatches = wxacodeResult.contentType.match(/\/([^\/]+)/)
const fileExtension = (fileExtensionMatches && fileExtensionMatches[1]) || 'jpg'
const uploadResult = await cloud.uploadFile({
// 云文件路径,此处为演示采用一个固定名称
cloudPath: `wxacode_default_openapi_page.${fileExtension}`,
// 要上传的文件内容可直接传入图片 Buffer
fileContent: wxacodeResult.buffer,
})
if (!uploadResult.fileID) {
throw new Error(`upload failed with empty fileID and storage server status code ${uploadResult.statusCode}`)
}
return uploadResult.fileID
}
async function getOpenData(event) {
// 需 wx-server-sdk >= 0.5.0
return cloud.getOpenData({
list: event.openData.list,
})
}
// 浏览加一
async function hdView(event){
await db.collection("huodong").doc(event.hdid).update({
data: {
viewnum: parseInt(event.viewnum) + 1
}
}).then(res => {
return res
})
}
// 下载加一
async function hdDown(event){
await db.collection("huodong").doc(event.hdid).update({
data: {
downnum: parseInt(event.downnum) + 1
}
}).then(res => {
return res
})
}
// 浏览资料状态更新
async function upJifen(event){
await db.collection("jifen").doc(event.jfid).update({
data: {
state: 1
}
}).then(res => {
return res
})
}
async function getPhone(event) {
// 需 wx-server-sdk >= 0.5.0
const wxContext = cloud.getWXContext()
var moblie = event.weRunData.data.phoneNumber;
await db.collection("user").where({
_openid:event.openid
}).update({
data: {
phone: moblie
}
}).then(res => {
return res
})
}
//获取手机号
async function getpnumber(event) {
// 需 wx-server-sdk >= 0.5.0
const wxContext = cloud.getWXContext()
var moblie = event.weRunData.data.phoneNumber;
return moblie;
}