158 lines
6.3 KiB
JavaScript
158 lines
6.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,
|
|
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;
|
|
}
|
|
} |