推送:保存用户个推cid

This commit is contained in:
qiaoxin
2021-07-05 19:15:40 +08:00
parent 33dcb728e2
commit 6492c8ce0d
5 changed files with 127 additions and 107 deletions
+33 -22
View File
@@ -23,17 +23,17 @@ export default class Auth extends Service {
* @param telNo - 用户手机号
*/
public async deviceLogin(isGuest: boolean, token: string, deviceId: string, platform: string, pkgName: string, serverType: string) {
public async deviceLogin(isGuest: boolean, token: string, deviceId: string, platform: string, pkgName: string, serverType: string, getuiCID: string) {
const ctx = this.ctx;
let user = await UserModel.findUserByToken(token);
if (!user) {
if(isGuest) {
if (isGuest) {
const tel = ctx.service.utils.genCode(10);
const token = ctx.service.utils.generateStr(256);
let lastGuest = await UserModel.getLastDeviceGuest(deviceId, token);
if(lastGuest) {
if (lastGuest) {
let param = this.getReturnParam(lastGuest);
return this.ctx.service.utils.resResult(STATUS.SUCCESS, {
canLogin: true, // 未设置密码等于未创建账号
@@ -42,6 +42,9 @@ export default class Auth extends Service {
} else {
user = await UserModel.createUser(isGuest, tel, token, platform, pkgName, serverType, deviceId);
if (getuiCID) {//更新个推cid
await UserModel.updateGetuiCID(tel, getuiCID);
}
let param = this.getReturnParam(user);
return this.ctx.service.utils.resResult(STATUS.SUCCESS, {
@@ -51,7 +54,7 @@ export default class Auth extends Service {
}
} else {
return this.ctx.service.utils.resResult(STATUS.SUCCESS, {
canLogin: false
});
@@ -59,10 +62,13 @@ export default class Auth extends Service {
} else {
const token = ctx.service.utils.generateStr(256);
user = await UserModel.updateToken(user.tel, token, deviceId);
if (getuiCID) {//更新个推cid
await UserModel.updateGetuiCID(user.tel, getuiCID);
}
let param = this.getReturnParam(user);
let canLogin = true;
if(!user.isGuest && !user.hasSetPw) canLogin = false;
if (!user.isGuest && !user.hasSetPw) canLogin = false;
return this.ctx.service.utils.resResult(STATUS.SUCCESS, {
canLogin, // 未设置密码等于未创建账号
...param
@@ -76,11 +82,11 @@ export default class Auth extends Service {
let isAdult = age >= ADULT_AGE;
let todayPlayTime = user.todayPlayTime;
let type = user.todayPlayType;
if(shouldRefresh(user.reportTime, new Date(), 0)) {
if (shouldRefresh(user.reportTime, new Date(), 0)) {
todayPlayTime = 0;
type = 0;
}
if((user.isGuest || !user.hasAuthenticated) && user.guestTime > GUEST_MAX_TIME) {
if ((user.isGuest || !user.hasAuthenticated) && user.guestTime > GUEST_MAX_TIME) {
type = ADDICTION_PREVENTION_CODE.GUEST;
}
@@ -137,9 +143,9 @@ export default class Auth extends Service {
return telVerify.resResult;
}
if(type == GET_SMS_TYPE.BIND) {
if (type == GET_SMS_TYPE.BIND) {
let telUser = await UserModel.findUserByTel(tel);
if(telUser && telUser.uid != ctx.uid) {
if (telUser && telUser.uid != ctx.uid) {
return ctx.service.utils.resResult(STATUS.TEL_HAS_USED);
}
}
@@ -179,7 +185,7 @@ export default class Auth extends Service {
* @param pkgName 包名
* @param serverType 服务器类型
*/
public async smsLogin(tel: string, deviceId: string, code: string, platform: string, pkgName: string, serverType: string) {
public async smsLogin(tel: string, deviceId: string, code: string, platform: string, pkgName: string, serverType: string, getuiCID: string) {
const ctx = this.ctx;
// 参数检查
const telVerify = this.checkTelNo(tel);
@@ -211,6 +217,9 @@ export default class Auth extends Service {
// 用户注册登录
const token = ctx.service.utils.generateStr(256);
const user = await UserModel.createOrUpdate(false, tel, token, platform, pkgName, serverType, deviceId);
if (getuiCID) {//更新个推cid
await UserModel.updateGetuiCID(tel, getuiCID);
}
let param = this.getReturnParam(user);
return ctx.service.utils.resResult(STATUS.SUCCESS, param);
}
@@ -224,8 +233,8 @@ export default class Auth extends Service {
const ctx = this.ctx;
const sms = await smsModel.findByTel(tel);
if(sms) {
return ctx.service.utils.resResult(STATUS.SUCCESS, {code: sms?.code});
if (sms) {
return ctx.service.utils.resResult(STATUS.SUCCESS, { code: sms?.code });
} else {
return ctx.service.utils.resResult(STATUS.SMS_INVALID);
}
@@ -238,7 +247,7 @@ export default class Auth extends Service {
public async setPassword(password: string) {
const { ctx } = this;
const { uid } = ctx;
if(!password) return ctx.service.utils.resResult(STATUS.PASSWORD_ILLEGEL);
if (!password) return ctx.service.utils.resResult(STATUS.PASSWORD_ILLEGEL);
let user = await UserModel.setPass(uid, password);
if (user) {
@@ -257,7 +266,7 @@ export default class Auth extends Service {
* @param pkgName 包名
* @param serverType 服务器类型
*/
public async pwLogin(tel: string, deviceId: string, pw: string) {
public async pwLogin(tel: string, deviceId: string, pw: string, getuiCID: string) {
const ctx = this.ctx;
// 参数检查
const telVerify = this.checkTelNo(tel);
@@ -269,8 +278,10 @@ export default class Auth extends Service {
// 用户注册登录
const token = ctx.service.utils.generateStr(256);
const user = await UserModel.checkPass(tel, pw, token, deviceId);
if(!user) return ctx.service.utils.resResult(STATUS.PASSWORD_ERR);
if (!user) return ctx.service.utils.resResult(STATUS.PASSWORD_ERR);
if (getuiCID) {//更新个推cid
await UserModel.updateGetuiCID(tel, getuiCID);
}
let param = this.getReturnParam(user);
return ctx.service.utils.resResult(STATUS.SUCCESS, { ...param });
}
@@ -336,12 +347,12 @@ export default class Auth extends Service {
}
let telUser = await UserModel.findUserByTel(tel);
if(telUser && telUser.uid != ctx.uid) {
if (telUser && telUser.uid != ctx.uid) {
return ctx.service.utils.resResult(STATUS.TEL_HAS_USED);
}
let user = await UserModel.bindTel(ctx.uid, tel);
if(!user) return ctx.service.utils.resResult(STATUS.ACCOUNT_NOT_GUEST);
if (!user) return ctx.service.utils.resResult(STATUS.ACCOUNT_NOT_GUEST);
let param = this.getReturnParam(user);
return ctx.service.utils.resResult(STATUS.SUCCESS, param);
}
@@ -355,7 +366,7 @@ export default class Auth extends Service {
// TODO 接SDK
console.log(name, idNum);
let result = await authenticate(name, idNum, ctx.userCode, ctx.pkgName);
if(!result) return ctx.service.utils.resResult(STATUS.AUTHEN_FAIL);
if (!result) return ctx.service.utils.resResult(STATUS.AUTHEN_FAIL);
let birthday = this.getBirthdayByIdCard(idNum);
let user = await UserModel.authentication(ctx.uid, birthday, '');
@@ -364,9 +375,9 @@ export default class Auth extends Service {
}
private getBirthdayByIdCard(idNum: string) {
let year = idNum.slice(6,10);
let month = idNum.slice(10,12);
let date = idNum.slice(12,14);
let year = idNum.slice(6, 10);
let month = idNum.slice(10, 12);
let date = idNum.slice(12, 14);
return `${year}-${month}-${date}`;
}
}