红点:修改推送方式
This commit is contained in:
@@ -1,6 +1,6 @@
|
||||
import { STATUS } from './../../../consts/statusCode';
|
||||
import { EquipModel } from './../../../db/Equip';
|
||||
import { RoleModel } from './../../../db/Role';
|
||||
import { RoleModel, RoleType } from './../../../db/Role';
|
||||
import { UserModel } from '../../../db/User';
|
||||
import { GMUserModel } from '../../../db/GMUser';
|
||||
import { Application } from 'pinus';
|
||||
@@ -61,6 +61,53 @@ export class EntryHandler {
|
||||
}
|
||||
let serverName = this.app.getServerId();
|
||||
await roleLogin(role.roleId, user.userCode, serverName, user.pkgName, role.funcs || []); // 保存在线用户
|
||||
await this.addSession(role, session);
|
||||
|
||||
let channelService = self.app.get('channelService');
|
||||
let channel = channelService.getChannel(role.roleId, true);
|
||||
if (channel.getMembers().indexOf(role.roleId) === -1) {
|
||||
channel.add(role.roleId, self.app.get('serverId'));
|
||||
}
|
||||
|
||||
// put user into channel
|
||||
// console.log(JSON.stringify(self.app.rpc.battle))
|
||||
// await self.app.rpc.battle.battleRemote.add.route(session)(role.roleId, self.app.get('serverId'), role.serverId, true);
|
||||
addRoleToSysChannel(role.roleId, self.app.get('serverId'), role.serverId);
|
||||
addRoleToWorldChannel(role.roleId, self.app.get('serverId'), role.serverId);
|
||||
await self.app.rpc.chat.chatRemote.addWorldChannel.route(session)(role.roleId, serverId, self.app.get('serverId'));
|
||||
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);
|
||||
await chackFunOpenWhenLogin(role, session);
|
||||
if (role.hasInit) await loginRefresh(role.roleId);
|
||||
reportOneOnline(role.roleId, user.userCode, self.app.get('serverId'), user.pkgName);
|
||||
|
||||
let r = new Rank(REDIS_KEY.HERO_NUM_RANK, { serverId });
|
||||
r.setRankWithRoleInfo(role.roleId, role.heroNum, role.heroNumUpdatedAt, role);
|
||||
let r2 = new Rank(REDIS_KEY.SUM_CE_RANK, { serverId });
|
||||
r2.setRankWithRoleInfo(role.roleId, role.lv, role.updatedAt.getTime(), role);
|
||||
|
||||
// 任务
|
||||
checkTaskWithRole(serverId, role.roleId, self.app.get('serverId'), role.funcs, TASK_TYPE.LOGIN_SUM, role);
|
||||
checkTaskWithRole(serverId, role.roleId, self.app.get('serverId'), role.funcs, TASK_TYPE.LOGIN_SERIES, role);
|
||||
// 推送数据
|
||||
pushData(role, session);
|
||||
|
||||
role['heros'] = heros;
|
||||
role['equips'] = equips;
|
||||
role['consumeGoods'] = items;
|
||||
let apJson = await getAp(Date.now(), role.roleId);
|
||||
role['apJson'] = apJson;
|
||||
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);
|
||||
|
||||
return resResult(STATUS.SUCCESS, { role });
|
||||
}
|
||||
|
||||
async addSession(role: RoleType, session: FrontendSession) {
|
||||
const self = this;
|
||||
await session.abind(role.roleId);
|
||||
session.set('uid', role.roleId);
|
||||
session.set('roleId', role.roleId);
|
||||
@@ -87,82 +134,6 @@ export class EntryHandler {
|
||||
// }
|
||||
// });
|
||||
session.on('closed', this.onUserLeave.bind(this));
|
||||
|
||||
let channelService = self.app.get('channelService');
|
||||
let channel = channelService.getChannel(role.roleId, true);
|
||||
if (channel.getMembers().indexOf(role.roleId) === -1) {
|
||||
channel.add(role.roleId, self.app.get('serverId'));
|
||||
}
|
||||
|
||||
// put user into channel
|
||||
// console.log(JSON.stringify(self.app.rpc.battle))
|
||||
// await self.app.rpc.battle.battleRemote.add.route(session)(role.roleId, self.app.get('serverId'), role.serverId, true);
|
||||
addRoleToSysChannel(role.roleId, self.app.get('serverId'), role.serverId);
|
||||
addRoleToWorldChannel(role.roleId, self.app.get('serverId'), role.serverId);
|
||||
await self.app.rpc.chat.chatRemote.addWorldChannel.route(session)(role.roleId, serverId, self.app.get('serverId'));
|
||||
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);
|
||||
|
||||
let r = new Rank(REDIS_KEY.HERO_NUM_RANK, { serverId });
|
||||
r.setRankWithRoleInfo(role.roleId, role.heroNum, role.heroNumUpdatedAt, role);
|
||||
let r2 = new Rank(REDIS_KEY.SUM_CE_RANK, { serverId });
|
||||
r2.setRankWithRoleInfo(role.roleId, role.lv, role.updatedAt.getTime(), role);
|
||||
|
||||
// 任务
|
||||
checkTaskWithRole(serverId, role.roleId, self.app.get('serverId'), role.funcs, TASK_TYPE.LOGIN_SUM, role);
|
||||
checkTaskWithRole(serverId, role.roleId, self.app.get('serverId'), role.funcs, TASK_TYPE.LOGIN_SERIES, role);
|
||||
// 推送数据
|
||||
pushData(role, session);
|
||||
|
||||
role['heros'] = heros;
|
||||
role['equips'] = equips;
|
||||
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 });
|
||||
}
|
||||
|
||||
/**
|
||||
|
||||
Reference in New Issue
Block a user