diff --git a/game-server/app/servers/connector/handler/entryHandler.ts b/game-server/app/servers/connector/handler/entryHandler.ts index a32fd4403..9bf01ef1e 100644 --- a/game-server/app/servers/connector/handler/entryHandler.ts +++ b/game-server/app/servers/connector/handler/entryHandler.ts @@ -78,6 +78,7 @@ export class EntryHandler { let heros = await HeroModel.findByRole(role.roleId, [], HERO_SELECT.ENTRY, true); let equips = await EquipModel.findbyRole(role.roleId); let items = await ItemModel.findbyRole(role.roleId); + let mails = await getMails(role.roleId, serverId) await chackFunOpenWhenLogin(role, session); if (role.hasInit) await loginRefresh(role.roleId); reportOneOnline(role.roleId, user.userCode, self.app.get('serverId'), user.pkgName); @@ -98,14 +99,48 @@ export class EntryHandler { role['consumeGoods'] = items; let apJson = await getAp(Date.now(), role.roleId); role['apJson'] = apJson; + role['mails'] = mails; if (!role.showLineup) role.showLineup = role.topLineup.map(cur => cur.hid); role.heads = role.heads.filter(cur => cur.status); role.frames = role.frames.filter(cur => cur.status); role.spines = role.spines.filter(cur => cur.status); + const recentPrivateChats = await recentPrivateChatInfos(role.roleId, role.roleName); + if (recentPrivateChats) { + role['recentPrivateChats'] = recentPrivateChats; + } + role['worldMsgs'] = await recentWorldMsgs(role.serverId); + role['sysMsgs'] = await recentSysMsgs(role.serverId); + + if (role.hasGuild) { + let userGuild = await UserGuildModel.getMyGuild(role.roleId, USER_GUILD_SELECT.ENTRY); + if (userGuild) { + let guild = await GuildModel.findGuild(userGuild.guildCode, role.serverId, GUILD_SELECT.ENTRY); + if (guild) { + addRoleToGuildChannel(role.roleId, self.app.get('serverId'), userGuild.guildCode); + role['guildMsgs'] = await recentGuildMsgs(userGuild.guildCode); + role['guildAuth'] = userGuild.auth; + role['guildCode'] = userGuild.guildCode; + let { lv: guildLv, memberCnt } = guild; + let dicGuild = gameData.centerBase.get(guildLv); + if (dicGuild && memberCnt >= dicGuild.peopleNum) { + role['guildMemberMax'] = true; + } else { + role['guildMemberMax'] = false; + } + } + } + } + // 任务 + let { mainTask, dailyTask, achievement } = await getCurTask(role.roleId, session); + role['mainTask'] = mainTask; + role['dailyTask'] = dailyTask; + role['achievement'] = achievement; + return resResult(STATUS.SUCCESS, { role }); } + async addSession(role: RoleType, session: FrontendSession) { const self = this; await session.abind(role.roleId);