✨ feat(后台): 37sdk需求
This commit is contained in:
@@ -28,6 +28,7 @@ export enum SDK_37_CONST {
|
||||
PAY_KEY = '0;_Zy.qodXCF8NGQmrOYltk%HgfAz*39', // 重置KEY
|
||||
CHAT_KEY = '3PerD)H!JdTC_pEUnZl8vXKgasj5;7Q~', // 聊天KEY
|
||||
IOS_PID = 'zyz',
|
||||
BACKEND_KEY = 'zyzbackend2022',
|
||||
}
|
||||
|
||||
export enum SDK_TA_CONST {
|
||||
|
||||
@@ -550,6 +550,7 @@ export const STATUS = {
|
||||
GM_OLD_REF_TIME_ERR: { code: 60029, simStr: '正在进行中的时间不可更新成未来' },
|
||||
GM_HIDDEN_CANNOT_INIT: { code: 60030, simStr: '已初始化过' },
|
||||
GM_ACTIVITY_TIME_ERR: { code: 60031, simStr: '时间不可有重叠' },
|
||||
GM_USER_TYPE_ERR: { code: 60032, simStr: '您不可使用账号密码登录,请从专属后台点击链接进入' },
|
||||
// 支付相关状态 70000 - 79999
|
||||
NO_PRODUCT_ID: { code: 70001, simStr: '无效商品' },
|
||||
NO_PAY_TYPE: { code: 70002, simStr: '无效支付类型' },
|
||||
@@ -616,4 +617,13 @@ export const SDK_37_REFUND_CODE = {
|
||||
IP_LIMIT: { code: -3, simStr: 'IP限制' },
|
||||
MD5_ERR: { code: -4, simStr: 'md5校验错误' },
|
||||
TIME_IS_EXPIRED: { code: -6, simStr: 'time时间已过期' },
|
||||
}
|
||||
|
||||
export const BACKEND_37_CODE = {
|
||||
SUCCESS: { code: 1, simStr: '成功' },
|
||||
WRONG_PARAM: { code: -1, simStr: '参数不全' },
|
||||
MD5_ERR: { code: -2, simStr: '加密签名错误' },
|
||||
TIME_IS_EXPIRED: { code: -3, simStr: '请求超时(连接已过期)' },
|
||||
USER_NOT_FOUND: { code: -4, simStr: '非法账号' },
|
||||
LOGIN_FAIL: { code: -5, simStr: '登录失败' },
|
||||
}
|
||||
+15
-3
@@ -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);
|
||||
|
||||
@@ -69,6 +69,14 @@ export function get37GetServerMd5Sign(body: GetServerListParam, key: string) {
|
||||
return sign
|
||||
}
|
||||
|
||||
export function get37BackendMd5Sign(body: {uname: string, time: number}, key: string) {
|
||||
let { uname, time } = body;
|
||||
let str = `${uname}${time}${key}`;
|
||||
let sign = md5(str);
|
||||
console.log('** origin str', body, str, sign);
|
||||
return sign
|
||||
}
|
||||
|
||||
export async function loginValidate37(clientId: string, pst: string, platform: string, platformAppid: string, childGameId: number = SDK_37_CONST.FX_C_GAME_ID) {
|
||||
if(!platformAppid) {
|
||||
if(platform == 'android') {
|
||||
|
||||
Reference in New Issue
Block a user