diff --git a/game-server/app/servers/role/handler/roleHandler.ts b/game-server/app/servers/role/handler/roleHandler.ts index 066287390..ff3874591 100644 --- a/game-server/app/servers/role/handler/roleHandler.ts +++ b/game-server/app/servers/role/handler/roleHandler.ts @@ -365,53 +365,6 @@ export class RoleHandler { }); } - // 防沉迷调试用,推送窗口 - async debugPlayerTime(msg: { type: number }, session: BackendSession) { - let { type } = msg; - let roleId = session.get('roleId'); - let sid = session.get('sid'); - - if (type == 1) { - pinus.app.channelService.pushMessageByUids('onPlayTime', resResult(STATUS.SUCCESS, { - isGuest: true, - guestTime: 60 * 60, // 游客已体验时间 - hasAuthenticated: false, // 是否进行过实名认证 - isAdult: false, // 是否已成年 - todayPlayTime: 60 * 60, // 今天已游戏时长 - type: 1 - }), [{ uid: roleId, sid: sid }]); - } else if (type == 2) { - pinus.app.channelService.pushMessageByUids('onPlayTime', resResult(STATUS.SUCCESS, { - isGuest: false, - guestTime: 0, // 游客已体验时间 - hasAuthenticated: true, // 是否进行过实名认证 - isAdult: false, // 是否已成年 - todayPlayTime: 60 * 60, // 今天已游戏时长 - type: 2 - }), [{ uid: roleId, sid: sid }]); - } else if (type == 3) { - pinus.app.channelService.pushMessageByUids('onPlayTime', resResult(STATUS.SUCCESS, { - isGuest: false, - guestTime: 0, // 游客已体验时间 - hasAuthenticated: true, // 是否进行过实名认证 - isAdult: false, // 是否已成年 - todayPlayTime: 3 * 60 * 60, // 今天已游戏时长 - type: 3 - }), [{ uid: roleId, sid: sid }]); - } else if (type == 4) { - pinus.app.channelService.pushMessageByUids('onPlayTime', resResult(STATUS.SUCCESS, { - isGuest: false, - guestTime: 0, // 游客已体验时间 - hasAuthenticated: true, // 是否进行过实名认证 - isAdult: false, // 是否已成年 - todayPlayTime: 1.5 * 60 * 60, // 今天已游戏时长 - type: 4 - }), [{ uid: roleId, sid: sid }]); - } - - return resResult(STATUS.SUCCESS); - } - // 保存展示阵容 async saveShowLineup(msg: { showLineup: number[] }, session: BackendSession) { let { showLineup } = msg; @@ -524,12 +477,63 @@ export class RoleHandler { return resResult(STATUS.SUCCESS, { roleName: role.roleName }); } - async setInitRole() { - this.app.rpc.role.roleRemote.setInitRole.toServer(this.app.getServerId()); + async saveGuide(msg: { id: number }, session: BackendSession) { + let roleId = session.get('roleId'); + let { id } = msg; + if(id == undefined) { + return resResult(STATUS.WRONG_PARMS); + } + let role = await RoleModel.saveGuide(roleId, id); + return resResult(STATUS.SUCCESS, { + guide: role.guide + }); + } + + // 防沉迷调试用,推送窗口 + async debugPlayerTime(msg: { type: number }, session: BackendSession) { + let { type } = msg; + let roleId = session.get('roleId'); + let sid = session.get('sid'); + + if (type == 1) { + pinus.app.channelService.pushMessageByUids('onPlayTime', resResult(STATUS.SUCCESS, { + isGuest: true, + guestTime: 60 * 60, // 游客已体验时间 + hasAuthenticated: false, // 是否进行过实名认证 + isAdult: false, // 是否已成年 + todayPlayTime: 60 * 60, // 今天已游戏时长 + type: 1 + }), [{ uid: roleId, sid: sid }]); + } else if (type == 2) { + pinus.app.channelService.pushMessageByUids('onPlayTime', resResult(STATUS.SUCCESS, { + isGuest: false, + guestTime: 0, // 游客已体验时间 + hasAuthenticated: true, // 是否进行过实名认证 + isAdult: false, // 是否已成年 + todayPlayTime: 60 * 60, // 今天已游戏时长 + type: 2 + }), [{ uid: roleId, sid: sid }]); + } else if (type == 3) { + pinus.app.channelService.pushMessageByUids('onPlayTime', resResult(STATUS.SUCCESS, { + isGuest: false, + guestTime: 0, // 游客已体验时间 + hasAuthenticated: true, // 是否进行过实名认证 + isAdult: false, // 是否已成年 + todayPlayTime: 3 * 60 * 60, // 今天已游戏时长 + type: 3 + }), [{ uid: roleId, sid: sid }]); + } else if (type == 4) { + pinus.app.channelService.pushMessageByUids('onPlayTime', resResult(STATUS.SUCCESS, { + isGuest: false, + guestTime: 0, // 游客已体验时间 + hasAuthenticated: true, // 是否进行过实名认证 + isAdult: false, // 是否已成年 + todayPlayTime: 1.5 * 60 * 60, // 今天已游戏时长 + type: 4 + }), [{ uid: roleId, sid: sid }]); + } + return resResult(STATUS.SUCCESS); } - async getInitRole() { - const initRoleInfo = this.app.get('initRoleInfos'); - return resResult(STATUS.SUCCESS, initRoleInfo) - } + } diff --git a/shared/consts/constModules/selectConst.ts b/shared/consts/constModules/selectConst.ts index 7228d1033..018c91e04 100644 --- a/shared/consts/constModules/selectConst.ts +++ b/shared/consts/constModules/selectConst.ts @@ -49,4 +49,4 @@ export enum FRIEND_SHIP_SELECT { GET_FRIEND_VALUE = 'friendValue friendLv' } -export const ENTERY_ROLE_PICK = ['roleId', 'roleName', 'serverId', 'ce', 'topLineupCe', 'coin', 'lv', 'exp', 'vLv', 'gold', 'heros', 'equips', 'consumeGoods', 'title', 'teraphs', 'showLineup', 'heads', 'head', 'frames', 'frame', 'spines', 'spine', 'hasGuild', 'guildCode', 'todayZeroPoint', 'apJson', 'skins', 'totalPay']; \ No newline at end of file +export const ENTERY_ROLE_PICK = ['roleId', 'roleName', 'serverId', 'ce', 'topLineupCe', 'coin', 'lv', 'exp', 'vLv', 'gold', 'heros', 'equips', 'consumeGoods', 'title', 'teraphs', 'showLineup', 'heads', 'head', 'frames', 'frame', 'spines', 'spine', 'hasGuild', 'guildCode', 'todayZeroPoint', 'apJson', 'skins', 'totalPay', 'guide']; \ No newline at end of file diff --git a/shared/db/Role.ts b/shared/db/Role.ts index 1dab9ddb7..0a7939eba 100644 --- a/shared/db/Role.ts +++ b/shared/db/Role.ts @@ -317,7 +317,8 @@ export default class Role extends BaseModel { mainEliteUpdatedAt: number; // 精英通关时间 @prop({ required: true, default: [], type: Number }) rankReceived: number[]; // 已领取奖励 - + @prop({ required: true, default: [], type: Number }) + guide: number[]; // 已领取奖励 public static async findAllByUid(uid: number, getters = false, virtuals = true) { const role: RoleType[] = await RoleModel.find({ 'userInfo.uid': uid }).select('roleId roleName serverId head frame spine lv updatedAt').lean({ getters, virtuals }); @@ -721,6 +722,11 @@ export default class Role extends BaseModel { return role; } + // 保存新手引导记录 + public static async saveGuide(roleId: string, id: number) { + const role: RoleType = await RoleModel.findOneAndUpdate({ roleId }, { $addToSet: { guide: id } }, { new: true }).lean(); + return role; + } } export const RoleModel = getModelForClass(Role);