import { RoleType } from '../../db/Role'; import { getSeconds } from '../../pubUtils/timeUtil'; import { ServerlistType } from '../../db/Serverlist'; export class ServerParam { id: number; // 区号 serverId: number; // 显示的区号 serverStr: string; // 显示的区号 S1 name: string; // 区名 host: string; // pinus地址 port: number; // pinus端口 status: number; // 状态 openTime: number; // 开服时间 serverType: string; // 分区类型 官服 测试服 开发服 constructor(server: ServerlistType) { this.id = server.id; this.serverId = server.serverId; this.serverStr = `S${server.serverId}`; this.name = server.name; this.host = server.host; this.port = server.port; this.status = server.status; this.openTime = getSeconds(server.openTime); this.serverType = server.serverType; } } export class GroupParam { groupId: number; // 大区号 groupName: string; // 大区名 groupStr: string; // 大区内小区编号 S1-S10 servers: ServerParam[]; // 区 constructor(server: ServerlistType) { this.groupId = server.groupId; this.groupName = server.groupName; this.groupStr = `S${server.serverId}-S${server.serverId + 9}`; this.servers = new Array(); } public pushServer(server: ServerlistType) { let srv = new ServerParam(server); this.servers.push(srv); let min = this.servers.reduce((pre, cur) => pre < cur? pre: cur); this.groupStr = `${min.serverId}-${min.serverId + 9}` } } export class ServerParamWithRole extends ServerParam { groupId: number; // 大区号 groupName: string; // 大区名 roleId: string; // 玩家账号 roleName: string; // 玩家名 head: number; // 头像 frame: number; // 相框 spine: number; // 形象 lv: number; // 等级 updatedAt: Date; constructor(role: RoleType, server: ServerlistType) { super(server); this.groupId = server.groupId; this.groupName = server.groupName; this.roleId = role.roleId; this.roleName = role.roleName; this.head = role.head; this.frame = role.frame; this.spine = role.spine; this.lv = role.lv; this.updatedAt = role.updatedAt; } }