✨ 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
+42 -3
View File
@@ -1,8 +1,11 @@
import { GMUserModel } from '@db/GMUser';
import { GMGroupModel } from '@db/GMGroup';
import { Service } from 'egg';
import { STATUS } from '@consts';
import { BACKEND_37_CODE, SDK_37_CONST, STATUS } from '@consts';
import { gameData } from '@pubUtils/data';
import { nowSeconds } from '@pubUtils/timeUtil';
import { isNumber } from 'util';
import { get37BackendMd5Sign } from '@pubUtils/sdkUtil';
/**
* Test Service
@@ -26,6 +29,9 @@ export default class GMUsers extends Service {
if(!user.isEnable) {
return ctx.service.utils.resResult(STATUS.GM_NO_AUTHORITY_GET);
}
if(user.type != 1) {
return ctx.service.utils.resResult(STATUS.GM_USER_TYPE_ERR);
}
let group = new Array();
if(user.groupId != undefined) {
let g = await GMGroupModel.getGroupById(user.groupId);
@@ -53,6 +59,39 @@ export default class GMUsers extends Service {
return ctx.service.utils.resResult(STATUS.SUCCESS, { user: ctx.user, group });
}
public async channelLogin(uname: string, _time: string, sign: string) {
const {ctx} = this;
let time = parseInt(_time);
if(!uname || !time || !isNumber(time) || !sign) {
return ctx.service.utils.resResult(BACKEND_37_CODE.WRONG_PARAM);
}
if(nowSeconds() - time > 15 * 60) {
return ctx.service.utils.resResult(BACKEND_37_CODE.TIME_IS_EXPIRED);
}
let checkResult = this.check37Sign({ uname, time, sign });
if(!checkResult) {
return ctx.service.utils.resResult(BACKEND_37_CODE.MD5_ERR);
}
let token = ctx.service.utils.genCode(256);
let user = await GMUserModel.channelLogin(uname, token);
if(!user) {
return ctx.service.utils.resResult(BACKEND_37_CODE.USER_NOT_FOUND);
}
if(user.type != 2) {
return ctx.service.utils.resResult(BACKEND_37_CODE.LOGIN_FAIL);
}
return ctx.service.utils.resResult(BACKEND_37_CODE.SUCCESS, { token: user.token });
}
private check37Sign(params: { uname: string, time: number, sign: string }) {
let sign = get37BackendMd5Sign(params, SDK_37_CONST.BACKEND_KEY);
console.log('******37Sign', sign, params.sign, sign == params.sign);
return sign == params.sign;
}
/**
* 修改我的密码
*/
@@ -196,8 +235,8 @@ export default class GMUsers extends Service {
/**
* 用户组添加接口
*/
public async saveGmGroupToUser(uid: number, groupId: number, envs: string[], isEnable: boolean) {
await GMUserModel.updateInfo(uid, { groupId, envs, isEnable });
public async saveGmGroupToUser(uid: number, groupId: number, envs: string[], isEnable: boolean, type: number) {
await GMUserModel.updateInfo(uid, { groupId, envs, isEnable, type });
return this.ctx.service.utils.resResult(STATUS.SUCCESS);
}