登录:绑定、服务器列表

This commit is contained in:
luying
2021-03-03 17:47:00 +08:00
parent c9dbb16adc
commit bbdc20240d
8 changed files with 227 additions and 48 deletions

View File

@@ -1,39 +1,83 @@
import { STATUS } from '@consts';
import { GameModel } from '@db/Game';
import { Controller } from 'egg';
import { RoleModel } from '@db/Role';
export default class GameController extends Controller {
public async getServerList() {
const { ctx } = this;
let serverList: Array<any> = [];
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 {
ctx.body = ctx.service.utils.resResult(STATUS.SERVER_NOT_FOUND);
}
}
public async newServer() {
const { ctx } = this;
const { serverId, serverType, name, host, port, status } = ctx.request.body;
const serverList = await GameModel.getAllServerList();
for (let { id, host: preHost, port: prePort } of serverList) {
if (preHost === host && prePort === port && id === serverId) {
ctx.body = ctx.service.utils.resResult(STATUS.SERVER_EXISTS);
return;
}
public async getServerList() {
const { ctx } = this;
let { serverType, auth, uid } = ctx;
let serverList = [];
let loginServerList = [];
let allServers = await GameModel.getServerList();
let roles = await RoleModel.findAllByUid(uid);
console.log(roles.length)
for(let server of allServers) {
if(auth === 1 || (!auth && server.serverType == serverType)) {
serverList.push(server);
let role = roles.find(role => role.serverId == server.id);
if(!!role) {
let roleInfo = {
roleId: role.roleId,
roleName: role.roleName,
headHid: role.headHid,
sHid: role.sHid,
lv: role.lv
};
loginServerList.push({...server, ...roleInfo});
}
}
}
if (serverList && serverList.length > 0) {
ctx.body = ctx.service.utils.resResult(STATUS.SUCCESS, { serverList, loginServerList });
} else {
ctx.body = ctx.service.utils.resResult(STATUS.SERVER_NOT_FOUND);
}
return
}
const gameInfo = await GameModel.newServer(serverId, serverType, name, host, port, status);
if (gameInfo) {
ctx.body = ctx.service.utils.resResult(STATUS.SUCCESS, { gameInfo });
} else {
ctx.body = ctx.service.utils.resResult(STATUS.NEW_SERVER_ERR);
public async newServer() {
const { ctx } = this;
const { serverId, serverType, name, host, port, status } = ctx.request.body;
const serverList = await GameModel.getAllServerList();
for (let { id, host: preHost, port: prePort } of serverList) {
if (preHost === host && prePort === port && id === serverId) {
ctx.body = ctx.service.utils.resResult(STATUS.SERVER_EXISTS);
return;
}
}
const gameInfo = await GameModel.newServer(serverId, serverType, name, host, port, status);
if (gameInfo) {
ctx.body = ctx.service.utils.resResult(STATUS.SUCCESS, { gameInfo });
} else {
ctx.body = ctx.service.utils.resResult(STATUS.NEW_SERVER_ERR);
}
return
}
}
public async getnotice() {
const { ctx } = this;
let { serverType } = ctx;
console.log(serverType);
let notice = [{
id: 1,
title: '粮草先行',
tag: 1,
type: 1,
content: '欢迎来到三国志赵云传',
startTime: 1584921600,
endTime: 1585353600
}]
ctx.body = ctx.service.utils.resResult(STATUS.SUCCESS, { notice });
return
}
}