内容比较简单,直接上代码。使用很方便,免得安装依赖。
// 云函数入口文件
const cloud = require('wx-server-sdk')
cloud.init()
// 云函数入口函数
exports.main = async (event, context) => {
const wxContext = cloud.getWXContext()
// 定义简单的路由
if (event.action && routeHelper[event.acton]) {
const result = routeHelper[event.action](wxContext, event)
return result
}
return {
message: '提示!调用此云函数需要提供 action 参数,以使用方法 routeHelper 完成方法路由。',
error: -1,
event,
openid: wxContext.OPENID,
appid: wxContext.APPID,
unionid: wxContext.UNIONID,
}
}
const db = cloud.database()
const _ = db.command
const routeHelper = {
/**
*
* 增加
* @param {ICloud.WXContext} context
* @param {event} params
*/
async addSunshine(context, params) {
const doc = await db.collection('users').where({
openid: context.OPENID
}).update({
data: {
sunshineLevel: _.inc(1)
}
})
return doc
},
/**
*
* 减少
* @param {ICloud.WXContext} context
* @param {event} params 正值增加,负值减少
*/
async subSunshine(context, params) {
const doc = await db.collection('users').where({
openid: context.OPENID
}).update({
data: {
sunshineLevel: _.inc(params.subValue)
}
})
return doc
}
}