module.exports = { /** * 用户登录(微信授权) * @url user/pub/loginByWeixin 前端调用的url参数地址 * @description 用户登录(微信授权) * data 请求参数 说明 * @param {String} code 微信登录返回的code * @param {String} platform 客户端类型:mp-weixin、app-plus,默认uni-id会自动取客户端类型,但是在云函数url化等场景无法取到客户端类型,可以使用此参数指定 * res 返回参数说明 * @param {Number} code 错误码,0表示成功 * @param {String} msg 详细信息 * @param {String} token 登录成功之后返回的token信息 * @param {String} tokenExpired token过期时间 */ main: async (event) => { let { data = {}, util, originalParam } = event; let { uniID, config, pubFun, vk, db, _ } = util; let { uid } = data; let res = {}; // 业务逻辑开始----------------------------------------------------------- // 微信登录(未绑定任何账号时,会新建账号) let { code, needPermission } = data; res = await uniID.loginByWeixin({ code, needPermission }); //默认用户昵称 await uniID.updateUser({ uid: res.uid, nickname: '微信用户' + res.uid.substr(6, 4) }) if (res.token) { // 日志服务 const loginLogService = vk.require("service/user/util/login_log"); await loginLogService.add({ type: "login", login_type: "weixin", user_id: res.uid, context: originalParam.context }, util); } // 业务逻辑结束----------------------------------------------------------- return res; } }