新手引导:添加储存新手引导接口

This commit is contained in:
luying
2021-09-16 19:10:35 +08:00
parent b2aacbe80d
commit fd6d2ac2e3
3 changed files with 65 additions and 55 deletions

View File

@@ -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)
}
}

View File

@@ -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'];
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'];

View File

@@ -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);