手机号固定写进数据库

This commit is contained in:
luying
2020-12-29 11:03:18 +08:00
parent 6d2f353551
commit cf05fc6bb8
2 changed files with 14 additions and 11 deletions
+3
View File
@@ -26,6 +26,9 @@ export default class Sms extends BaseModel {
@prop({ required: true }) @prop({ required: true })
countToday: number; countToday: number;
@prop({ required: true })
isFixed: boolean;
public static async findByTel(tel: string, lean = true) { public static async findByTel(tel: string, lean = true) {
const sms: SmsType = await smsModel.findOne({ tel }).lean(lean); const sms: SmsType = await smsModel.findOne({ tel }).lean(lean);
return sms; return sms;
+6 -6
View File
@@ -1,4 +1,4 @@
import { FIX_SMS_CODE_TELS, COUNTER, HERO_SYSTEM_TYPE } from '@consts'; import { COUNTER, HERO_SYSTEM_TYPE } from '@consts';
import { DEFAULT_HEROES } from '@consts'; import { DEFAULT_HEROES } from '@consts';
import { HeroModel } from '@db/Hero'; import { HeroModel } from '@db/Hero';
import { RoleModel } from '@db/Role'; import { RoleModel } from '@db/Role';
@@ -64,7 +64,7 @@ export default class Auth extends Service {
} }
let code = ''; let code = '';
if (sms && (!sms.used || FIX_SMS_CODE_TELS.indexOf(tel) !== -1)) { if (sms && (!sms.used || sms.isFixed)) {
code = sms.code; code = sms.code;
} else { } else {
code = this.ctx.service.utils.generateNum(6); code = this.ctx.service.utils.generateNum(6);
@@ -94,16 +94,16 @@ export default class Auth extends Service {
if (!_.isString(code) || code.length !== 6) { if (!_.isString(code) || code.length !== 6) {
return ctx.service.utils.resResult(STATUS.WRONG_PARMS); return ctx.service.utils.resResult(STATUS.WRONG_PARMS);
} }
// 指定手机号不检查验证码是否使用
if (FIX_SMS_CODE_TELS.indexOf(tel) === -1) {
// 手机验证码核验 // 手机验证码核验
const smsValid: boolean = await smsModel.validateSms(tel, code); const smsValid: boolean = await smsModel.validateSms(tel, code);
if (!smsValid) { if (!smsValid) {
const sms = await smsModel.findByTel(tel);
if(sms && sms.isFixed) { // 固定手机号登录
if (sms.code !== code) {
return ctx.service.utils.resResult(STATUS.SMS_INVALID); return ctx.service.utils.resResult(STATUS.SMS_INVALID);
} }
} else { } else {
const sms = await smsModel.findByTel(tel);
if (!sms || sms.code !== code) {
return ctx.service.utils.resResult(STATUS.SMS_INVALID); return ctx.service.utils.resResult(STATUS.SMS_INVALID);
} }
} }