diff --git a/shared/db/User.ts b/shared/db/User.ts index a11d7c5e8..1820d8df6 100644 --- a/shared/db/User.ts +++ b/shared/db/User.ts @@ -63,6 +63,10 @@ export default class User extends BaseModel { @prop({ required: true, default: false }) blocked: boolean; + // 用户权限:0-普通用户,1-测试用户 + @prop({ required: true, default: 0 }) + auth: number; + public static async updateToken(tel: string, token: string, platform: string, pkgName: string, serverType: string, lean = true) { let user = await UserModel.findOne({ tel }).lean(); const curTime: Date = new Date(); @@ -79,7 +83,7 @@ export default class User extends BaseModel { } public static async findUserByToken(token: string, lean = true) { - const user = await UserModel.findOne({ token }).select('uid token').lean(lean); + const user = await UserModel.findOne({ token }).select('uid token serverType auth').lean(lean); return user; } diff --git a/web-server/app/controller/game.ts b/web-server/app/controller/game.ts index 4151cebb2..4601742c5 100644 --- a/web-server/app/controller/game.ts +++ b/web-server/app/controller/game.ts @@ -5,8 +5,13 @@ import { Controller } from 'egg'; export default class GameController extends Controller { public async getServerList() { const { ctx } = this; - const { serverType } = ctx.request.body; - const serverList: Array = await GameModel.getServerListByType(serverType); + let serverList: Array = []; + let { serverType, auth } = ctx; + if (auth === 1) { + serverList = await GameModel.getAllServerList(); + } else if (!auth) { + serverList = await GameModel.getServerListByType(serverType); + } if (serverList && serverList.length > 0) { ctx.body = ctx.service.utils.resResult(STATUS.SUCCESS, { serverList }); } else { diff --git a/web-server/app/middleware/tokenParser.ts b/web-server/app/middleware/tokenParser.ts index b70f2658c..9c6ef13eb 100644 --- a/web-server/app/middleware/tokenParser.ts +++ b/web-server/app/middleware/tokenParser.ts @@ -15,6 +15,8 @@ module.exports = () => { return; } ctx.uid = user.uid; + ctx.serverType = user.serverType; + ctx.auth = user.auth; await next(); }; };