72 lines
2.3 KiB
JavaScript
72 lines
2.3 KiB
JavaScript
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
|
|
} = data;
|
|
res = await uniID.loginBySms({
|
|
mobile,
|
|
code,
|
|
type,
|
|
password,
|
|
inviteCode,
|
|
myInviteCode,
|
|
needPermission
|
|
});
|
|
// 修改用户昵称为:手机尾号xxxx用户
|
|
if (res.token) {
|
|
if (!res.msg) {
|
|
res.msg = res.type === "register" ? "注册成功" : "登录成功";
|
|
}
|
|
let mobileStr = mobile.substring(7);
|
|
await vk.baseDao.update({
|
|
dbName: "uni-id-users",
|
|
whereJson: {
|
|
_id: res.uid,
|
|
nickname: null
|
|
},
|
|
dataJson: {
|
|
nickname: `手机尾号${mobileStr}用户`
|
|
}
|
|
});
|
|
// 日志服务
|
|
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;
|
|
}
|
|
} |