✨ feat(后台): 37sdk需求

This commit is contained in:
luying
2022-11-25 17:18:38 +08:00
parent 594a8ce96d
commit 76633e67a6
9 changed files with 99 additions and 9 deletions
+15 -3
View File
@@ -2,6 +2,7 @@ import { COUNTER } from './../consts';
import { CounterAllModal } from './CounterAll';
import BaseModel from './BaseModel';
import { index, getModelForClass, prop, DocumentType, mongoose, ReturnModelType } from '@typegoose/typegoose';
import { nowSeconds } from '@pubUtils/timeUtil';
const bcrypt = require('bcrypt');
const SALT_WORK_FACTOR = 5
@@ -39,6 +40,12 @@ export default class GMUser extends BaseModel {
@prop({ required: true })
token: string;
@prop({ required: true })
expireTime: number;
@prop({ required: true })
type: number; // 1-37账号登录 2-我方账号登录
public static async updateInfo(uid: number, params: GMUserUpdate) {
let user = await GMUserModel.findOneAndUpdate({ uid }, params, { new: true }).lean();
return user;
@@ -53,13 +60,13 @@ export default class GMUser extends BaseModel {
}
public static async getGmAccountList(lean = true) {
const user: GMUserType[] = await GMUserModel.find().select('uid username name token envs groupId isEnable').lean(lean);
const user: GMUserType[] = await GMUserModel.find().select('uid username name token envs groupId isEnable type').lean(lean);
return user;
}
public static async getGmAccountByToken(token: string, lean = true) {
// console.log(token)
const user: GMUserType = await GMUserModel.findOne({ token }).select('uid username name token envs groupId isEnable').lean(lean);
const user: GMUserType = await GMUserModel.findOne({ token }).select('uid username name token envs groupId isEnable expireTime').lean(lean);
return user;
}
@@ -78,13 +85,18 @@ export default class GMUser extends BaseModel {
if (user) {
let { salt } = user;
let { npassword } = await this.encryptPass(password, salt);
const checkUser: GMUserType = await GMUserModel.findOneAndUpdate({ username, password: npassword }, { token }).select('uid username name token envs groupId isEnable').lean(lean);
const checkUser: GMUserType = await GMUserModel.findOneAndUpdate({ username, password: npassword }, { $set: { token, expireTime: nowSeconds() + 24 * 60 * 60 } }).select('uid username name token envs groupId isEnable type').lean(lean);
return checkUser;
} else {
return null
}
}
public static async channelLogin(username: string, token: string) {
const user: GMUserType = await GMUserModel.findOneAndUpdate({ username }, { $set: { token, expireTime: nowSeconds() + 1 * 60 * 60 } }, {new: true}).select('token type').lean();
return user;
}
public static async createGmAccount(username: string, password: string, name: string, token: string, lean = true) {
const uid = await CounterAllModal.getNewCounter(COUNTER.GMUID);
let r = await this.encryptPass(password);