后台:添加跳转地址功能
This commit is contained in:
10
gm-server/app/controller/game.ts
Normal file
10
gm-server/app/controller/game.ts
Normal file
@@ -0,0 +1,10 @@
|
||||
import { Controller } from 'egg';
|
||||
|
||||
export default class GameController extends Controller {
|
||||
|
||||
public async getServerEnv() {
|
||||
const { ctx } = this;
|
||||
ctx.body = await ctx.service.game.getServerEnv();
|
||||
return
|
||||
}
|
||||
}
|
||||
@@ -26,20 +26,22 @@ export default (app: Application) => {
|
||||
|
||||
router.post('/api/users/getuserlist',tokenParser, controller.users.getuserlist);
|
||||
router.post('/api/users/createrole',tokenParser, controller.users.createRole);
|
||||
router.post('/api/users/addauth', controller.users.addAuth);
|
||||
router.post('/api/users/fixsms', controller.users.fixSms);
|
||||
router.post('/api/users/addauth', tokenParser, controller.users.addAuth);
|
||||
router.post('/api/users/fixsms', tokenParser, controller.users.fixSms);
|
||||
router.post('/api/users/deleterole',tokenParser, controller.users.deleteRole);
|
||||
router.post('/api/users/getrolelist',tokenParser, controller.users.getrolelist);
|
||||
router.post('/api/users/createroledata',tokenParser, controller.users.createRoleData);
|
||||
router.post('/api/users/getpvpdefense',tokenParser, controller.users.getPveDefense);
|
||||
router.post('/api/users/getherolist',tokenParser, controller.users.getHeroList);
|
||||
router.post('/api/users/deletehero', controller.users.deleteHero);
|
||||
router.post('/api/users/setherolv', controller.users.setHeroLv);
|
||||
router.post('/api/users/deletehero', tokenParser, controller.users.deleteHero);
|
||||
router.post('/api/users/setherolv', tokenParser, controller.users.setHeroLv);
|
||||
router.post('/api/users/saveherotodefense',tokenParser, controller.users.saveHeroToDefense);
|
||||
router.post('/api/users/removeherofromdefense',tokenParser, controller.users.removeHeroFromDefense);
|
||||
router.post('/api/users/getequiplist', controller.users.getEquipList);
|
||||
router.post('/api/users/getitemlist', controller.users.getItemList);
|
||||
router.post('/api/users/deleteequip', controller.users.deleteEquip);
|
||||
router.post('/api/users/deleteitem', controller.users.deleteItem);
|
||||
router.post('/api/users/setitemcount', controller.users.setItemCount);
|
||||
router.post('/api/users/getequiplist', tokenParser, controller.users.getEquipList);
|
||||
router.post('/api/users/getitemlist', tokenParser, controller.users.getItemList);
|
||||
router.post('/api/users/deleteequip', tokenParser, controller.users.deleteEquip);
|
||||
router.post('/api/users/deleteitem', tokenParser, controller.users.deleteItem);
|
||||
router.post('/api/users/setitemcount', tokenParser, controller.users.setItemCount);
|
||||
|
||||
router.post('/api/game/getserverenv', tokenParser, controller.game.getServerEnv);
|
||||
};
|
||||
|
||||
22
gm-server/app/service/Game.ts
Normal file
22
gm-server/app/service/Game.ts
Normal file
@@ -0,0 +1,22 @@
|
||||
import { Service } from 'egg';
|
||||
import { STATUS } from '@consts';
|
||||
import { GameModel } from '@db/Game';
|
||||
|
||||
/**
|
||||
* Test Service
|
||||
*/
|
||||
export default class Game extends Service {
|
||||
|
||||
/**
|
||||
* 后台账号登录
|
||||
*/
|
||||
public async getServerEnv() {
|
||||
const { ctx, app } = this;
|
||||
const list = await GameModel.getServerEnvList();
|
||||
|
||||
return ctx.service.utils.resResult(STATUS.SUCCESS, {
|
||||
list,
|
||||
env: app.config.env
|
||||
});
|
||||
}
|
||||
}
|
||||
2
gm-server/typings/app/controller/index.d.ts
vendored
2
gm-server/typings/app/controller/index.d.ts
vendored
@@ -2,6 +2,7 @@
|
||||
// Do not modify this file!!!!!!!!!
|
||||
|
||||
import 'egg';
|
||||
import ExportGame from '../../../app/controller/game';
|
||||
import ExportGmaccount from '../../../app/controller/gmaccount';
|
||||
import ExportHome from '../../../app/controller/home';
|
||||
import ExportLogin from '../../../app/controller/login';
|
||||
@@ -10,6 +11,7 @@ import ExportUsers from '../../../app/controller/users';
|
||||
|
||||
declare module 'egg' {
|
||||
interface IController {
|
||||
game: ExportGame;
|
||||
gmaccount: ExportGmaccount;
|
||||
home: ExportHome;
|
||||
login: ExportLogin;
|
||||
|
||||
2
gm-server/typings/app/service/index.d.ts
vendored
2
gm-server/typings/app/service/index.d.ts
vendored
@@ -6,6 +6,7 @@ type AnyClass = new (...args: any[]) => any;
|
||||
type AnyFunc<T = any> = (...args: any[]) => T;
|
||||
type CanExportFunc = AnyFunc<Promise<any>> | AnyFunc<IterableIterator<any>>;
|
||||
type AutoInstanceType<T, U = T extends CanExportFunc ? T : T extends AnyFunc ? ReturnType<T> : T> = U extends AnyClass ? InstanceType<U> : U;
|
||||
import ExportGame from '../../../app/service/Game';
|
||||
import ExportGmUser from '../../../app/service/GmUser';
|
||||
import ExportTest from '../../../app/service/Test';
|
||||
import ExportUtils from '../../../app/service/Utils';
|
||||
@@ -13,6 +14,7 @@ import ExportUsers from '../../../app/service/users';
|
||||
|
||||
declare module 'egg' {
|
||||
interface IService {
|
||||
game: AutoInstanceType<typeof ExportGame>;
|
||||
gmUser: AutoInstanceType<typeof ExportGmUser>;
|
||||
test: AutoInstanceType<typeof ExportTest>;
|
||||
utils: AutoInstanceType<typeof ExportUtils>;
|
||||
|
||||
@@ -55,6 +55,26 @@ export class ServerInfo {
|
||||
this.createTime = new Date();
|
||||
}
|
||||
}
|
||||
|
||||
export class ServerEnv {
|
||||
@prop({ required: true })
|
||||
env: string; // 服务器环境,一台物理机一个
|
||||
|
||||
@prop({ required: true })
|
||||
envName: string; // 环境名 正式服 开发服 测试服 等
|
||||
|
||||
@prop({ required: true })
|
||||
serverType: string; // serverlist表中的serverType
|
||||
|
||||
@prop({ required: true })
|
||||
gmHost: string; // 后台地址
|
||||
|
||||
@prop({ required: true })
|
||||
webHost: string; // web服地址
|
||||
|
||||
@prop({ required: true })
|
||||
gameHost: string; // pinus长链接地址
|
||||
}
|
||||
|
||||
/**
|
||||
* 游戏字段接口
|
||||
@@ -78,6 +98,9 @@ export default class Game extends BaseModel {
|
||||
@prop({ required: true, type: ServerInfo, default: [], _id: false })
|
||||
serverList: Array<ServerInfo>;
|
||||
|
||||
@prop({ required: true, type: ServerEnv, default: [], _id: false })
|
||||
serverEnv: Array<ServerEnv>;
|
||||
|
||||
@prop({ required: true })
|
||||
iconUrl: string;
|
||||
|
||||
@@ -111,6 +134,13 @@ export default class Game extends BaseModel {
|
||||
return serverList;
|
||||
}
|
||||
|
||||
|
||||
public static async getServerEnvList() {
|
||||
let game: GameType = await GameModel.findOne().lean({ getter: true, virtuals: true });
|
||||
let serverList: ServerEnv[] = game ? game.serverEnv : [];
|
||||
return serverList;
|
||||
}
|
||||
|
||||
public static async newServer(serverId: number, serverType: string, name: string, host: string, port: number, status: number, lean = true) {
|
||||
let serverInfo = new ServerInfo(serverId, name, 1, '逍遥津', host, port, status, serverType);
|
||||
let game: GameType = await GameModel.findOneAndUpdate({}, {$push: {serverList: serverInfo}}, {new: true}).lean(lean);
|
||||
|
||||
Reference in New Issue
Block a user