添加查询和创建角色功能;建立长连接后返回部分初始数据
This commit is contained in:
@@ -1,7 +1,9 @@
|
||||
import { RoleModel } from './../db/Role';
|
||||
import { UserModel } from './../db/User';
|
||||
import { SMS_IN_60S, SMS_CNT_LIMIT, STATUS_SUC, STATUS_WRONG_PARMS, SMS_INVALID } from './../../../shared/statusCode';
|
||||
import { SMS_IN_60S, SMS_CNT_LIMIT, STATUS_SUC, STATUS_WRONG_PARMS, SMS_INVALID, ROLE_NOT_FOUND } from './../../../shared/statusCode';
|
||||
import { smsModel } from './../db/Sms';
|
||||
import { Service } from 'egg';
|
||||
import Counter from '../db/Counter';
|
||||
const _ = require('underscore');
|
||||
|
||||
/**
|
||||
@@ -98,6 +100,30 @@ export default class Auth extends Service {
|
||||
// 用户注册登录
|
||||
const token = ctx.service.utils.generateStr(256);
|
||||
const user = await UserModel.updateToken(tel, token, platform, pkgName, serverType);
|
||||
return { status: STATUS_SUC, data: { token, uid: user?.uid } };
|
||||
return { status: STATUS_SUC.code, data: { token, uid: user?.uid } };
|
||||
}
|
||||
|
||||
public async checkRole(serverId: number) {
|
||||
const ctx = this.ctx;
|
||||
const { uid } = ctx;
|
||||
const role = await RoleModel.findByUid(uid, serverId);
|
||||
if (role) {
|
||||
return { status: STATUS_SUC.code, data: { roleId: role.roleId } };
|
||||
}
|
||||
return ctx.service.utils.exceptionResult(ROLE_NOT_FOUND);
|
||||
}
|
||||
|
||||
public async createRole(serverId: number, roleName: string) {
|
||||
console.log('enter Auth createRole');
|
||||
const ctx = this.ctx;
|
||||
const { uid } = ctx;
|
||||
const roleId = ctx.service.utils.genCode(10);
|
||||
const code = ctx.service.utils.genCode(6);
|
||||
const seqId = await Counter.getNewCounter('role') || -1;
|
||||
const role = await RoleModel.createRole(uid, serverId, { roleId, code, roleName, seqId });
|
||||
if (role) {
|
||||
return { status: STATUS_SUC.code, data: { roleId: role.roleId } };
|
||||
}
|
||||
return ctx.service.utils.exceptionResult(ROLE_NOT_FOUND);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -10,7 +10,17 @@ export default class Utils extends Service {
|
||||
* @param radix 基数
|
||||
*/
|
||||
public generateStr(len: number, radix = 36) {
|
||||
return csprng(len, radix);
|
||||
return `${csprng(len, radix)}`;
|
||||
}
|
||||
|
||||
public genCode(len) {
|
||||
const chars = '123456789ABCDEFGHJKLMNPQRSTWXYZabcdefghijklmnopqrstuvwxyz';
|
||||
const charArr = chars.split('');
|
||||
let code = '';
|
||||
for (let i = 0; i < len; i++) {
|
||||
code += charArr[Math.floor(Math.random() * charArr.length)];
|
||||
}
|
||||
return code;
|
||||
}
|
||||
|
||||
/**
|
||||
|
||||
Reference in New Issue
Block a user