目的:云函数问题,将用户信息存入用户表,如果用户名和密码都对,返回openid信息,以及将用户信息存入用户表,用openid作为数据库_ID(如果用户已存在则更新,不存在就添加)。
结果:可以返回openid等信息,但是数据更新和添加好像没有被执行,也没有报错。哪里出问题了?
// 云函数模板
// 部署:在 cloud-functions/login 文件夹右击选择 “上传并部署”
const cloud = require('wx-server-sdk')
// 初始化 cloud
cloud.init({
// API 调用都保持和云函数当前所在环境一致
env: cloud.DYNAMIC_CURRENT_ENV
})
const db = cloud.database()
constloguser="aaa"
const logpwd = "123321"
/**
* 这个示例将经自动鉴权过的小程序用户 openid 返回给小程序端
*
* event 参数包含小程序端调用传入的 data*
*/
exports.main = async (event, context) => {
// 可执行其他自定义逻辑
// console.log 的内容可以在云开发云函数调用日志查看
// 获取 WX Context (微信调用上下文),包括 OPENID、APPID、及 UNIONID(需满足 UNIONID 获取条件)等信息
if (event.loguser == loguser && event.loguser == logpwd) {
const wxContext = cloud.getWXContext()
//添加userInfo数据开始
let userInfo = event.userInfo
userInfo.lastTime = db.serverDate() //添加最后更新时间
db.collection('UserInfo').doc(wxContext.OPENID).update({
data: userInfo,
success: function(res) {
console.log(res.data)
}
}).catch(err => {
//用户不存在会抛出异常,在异常中处理新增
// UserInfo._id = wxContext.OPENID //设置OPENID为_id
// userInfo.createTime = db.serverDate() //添加用户创建时间
db.collection('UserInfo').add({
_id:wxContext.OPENID,
createTime:db.serverDate(),
data: userInfo,
success: function(res) {
console.log(res.data)
}
})
})
return{
wxContext,
event,
openid: wxContext.OPENID,
appid: wxContext.APPID,
unionid: wxContext.UNIONID,
env: wxContext.ENV,
}
}
}
看一下集合的权限 允不允许用户写