module.exports = { /** * 手机号登陆(手机号+手机验证码) * @url user/pub/loginBySms 前端调用的url参数地址 * @description 手机号登陆(手机号+手机验证码) * data 请求参数 说明 * @param {String} mobile 手机号 * @param {String} code 验证码 * @param {String} type 指定操作类型,不传:存在则登录不存在则注册 login:只能登录 register:只能注册 * @param {String} password 密码,当前用户为新注册时生效 * @param {String} inviteCode 邀请人的邀请码,当前用户为新注册时生效 * @param {String} myInviteCode 设置当前注册用户自己的邀请码,当前用户为新注册时生效(不传会自动生成) * @param {Boolean} needPermission 设置为true时会在checkToken时返回用户权限(permission),如果是在admin端,需传true * 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 { mobile, code, type, password, inviteCode, myInviteCode, needPermission, accountType, company, person } = data; if (vk.pubfn.isNotNull(inviteCode) && inviteCode) { const inviteUser = await vk.baseDao.findByWhereJson({ dbName: "uni-id-users", whereJson: { my_invite_code: inviteCode } }); if (!inviteUser) return {code: 1, msg: '邀请码错误,请重新核实'} } res = await uniID.loginBySms({ mobile, code, type, password, inviteCode, myInviteCode, needPermission }); // 修改用户昵称为:手机尾号xxxx用户 if (res.token) { if (!res.msg) { res.msg = res.type === "register" ? "注册成功" : "登录成功"; } // 注册法大大 if (res.type === "register") { const fadadaRes = await pubFun.fadada('account_register.api', { open_id: res.uid + 'fdd', account_type: accountType + '', }) console.log('fadadaRes: ', { open_id: res.uid + 'fdd', account_type: accountType + '', }); console.log('fadadaRes: ', fadadaRes); if (fadadaRes.code == 1) { const oldNum = await vk.baseDao.findById({ dbName: 'jjx-dict', id: '6587dd3ca09a9be7534ea88b' }) await vk.baseDao.update({ dbName: "uni-id-users", whereJson: { _id: res.uid }, dataJson: { fadadaCustomerId: fadadaRes.data, quoteTimes: 0, person, company, accountType: accountType, nickname: accountType == 1 ? person.personName : company.companyName, authStatus: -1, userLevel: -1, userGrade: 0, paidEnsure: 0, // 累计交易 transactionAmount: 0, // 剩余询价次数 remainQuoteNum: 0, // 剩余学堂下载次数 remainArticleDownloadNum: 3, quoteExpiredAt: null, inviteNum: 0, // 签约宝次数 qybNum: 0, fadadaConfirm: false, remainOldNum: oldNum.content, topExpiredAt: null, factoryStatus: -1, isSignOnly: data.isSignOnly, dcloud_appid: ['__UNI__EB80D26', '__UNI__8BFD66E', '__UNI__0F0703D'] } }); } else { vk.baseDao.del({ dbName: "uni-id-users", whereJson: { _id: res.uid }, }) } await vk.baseDao.add({ dbName: "jjx-message", dataJson: { uid: res.uid, title: '恭喜!您已注册成功!', content: '尊敬的用户,恭喜您已经注册金久信钢铁交易平台,感谢您的支持!', type: 'reg', hasRead: false } }); } else { // const user = await vk.baseDao.findById({ // dbName: "uni-id-users", // id: res.uid // }); // console.log('accountType', user.accountType, accountType) // if (parseInt(user.accountType) !== parseInt(accountType)) return { // code: -1, // msg: '账号类型不匹配' // } } // 日志服务 const loginLogService = vk.require("service/user/util/login_log"); await loginLogService.add({ type: "login", login_type: "sms", user_id: res.uid, context: originalParam.context }, util); } // 业务逻辑结束----------------------------------------------------------- return res; } }