// 云函数模板// 部署:在 cloud-functions/login 文件夹右击选择 “上传并部署”const cloud = require('wx-server-sdk')// 初始化 cloudcloud.init({ // API 调用都保持和云函数当前所在环境一致 mst: cloud.DYNAMIC_CURRENT_ENV})/** * 这个示例将经自动鉴权过的小程序用户 openid 返回给小程序端 * * event 参数包含小程序端调用传入的 data * */const db = cloud.database()const _ = db.commandexports.main = async (event, context) => { const wxContext = cloud.getWXContext() let users = await db.collection('users').where({ openid: wxContext.OPENID }).get() //查询用户信息 let newUser = await db.collection('users').orderBy('createTime', 'desc').get() const userId = () => { console.log('user', users.data.length, 'newuser', newUser.data.length) return users.data.length == 0 && newUser.data.length == 0 ? 10000000 : newUser.data[0].userId + 1 } if (users.data.length) { // console.log('更新用户', newUser) await db.collection('users').doc(users.data[0]._id).update({ data: { userInfo: event.userInfo } }) let upUsers = await db.collection('users').doc(users.data[0]._id).get() console.log('更新用户', upUsers) return upUsers } else { let obj = Object.assign(event, { userId: userId() }, { openid: wxContext.OPENID }, { createTime: db.serverDate() }) let datas = await db.collection('users').add({ data: obj }) let newUser = await await db.collection('users').doc(datas._id).get() console.log('新增用户', newUser ) return newUser }}
{ "name": "login", "version": "1.0.0", "description": "", "main": "index.js", "scripts": { "test": "echo \"Error: no test specified\" && exit 1" }, "author": "", "license": "ISC", "dependencies": { "wx-server-sdk": "latest" }}