登录:显示防沉迷类型
This commit is contained in:
@@ -294,19 +294,8 @@ export async function reportOneOnline(roleId: string, userCode: string, sid: str
|
|||||||
user = await UserModel.updatePlayTime(userCode, guestTimeInc, result.total); // 记录时间
|
user = await UserModel.updatePlayTime(userCode, guestTimeInc, result.total); // 记录时间
|
||||||
|
|
||||||
guestTime = user.guestTime;
|
guestTime = user.guestTime;
|
||||||
}
|
|
||||||
|
|
||||||
if(result.code != ADDICTION_PREVENTION_CODE.SUCCESS && result.age != -1) { // 未成年人防沉迷
|
if ( guestTime > GUEST_MAX_TIME ) {
|
||||||
pinus.app.channelService.pushMessageByUids('onPlayTime', resResult(STATUS.SUCCESS, {
|
|
||||||
isGuest,
|
|
||||||
guestTime, // 游客已体验时间
|
|
||||||
hasAuthenticated, // 是否进行过实名认证
|
|
||||||
isAdult, // 是否已成年
|
|
||||||
todayPlayTime: result.total, // 今天已游戏时长
|
|
||||||
type: result.code
|
|
||||||
} ), [{uid: roleId, sid: sid}]);
|
|
||||||
} else {
|
|
||||||
if ((isGuest || !hasAuthenticated) && guestTime > GUEST_MAX_TIME) {
|
|
||||||
pinus.app.channelService.pushMessageByUids('onPlayTime', resResult(STATUS.SUCCESS, {
|
pinus.app.channelService.pushMessageByUids('onPlayTime', resResult(STATUS.SUCCESS, {
|
||||||
isGuest,
|
isGuest,
|
||||||
guestTime, // 游客已体验时间
|
guestTime, // 游客已体验时间
|
||||||
@@ -316,5 +305,18 @@ export async function reportOneOnline(roleId: string, userCode: string, sid: str
|
|||||||
type: ADDICTION_PREVENTION_CODE.GUEST,
|
type: ADDICTION_PREVENTION_CODE.GUEST,
|
||||||
} ), [{uid: roleId, sid: sid}]);
|
} ), [{uid: roleId, sid: sid}]);
|
||||||
}
|
}
|
||||||
|
} else {
|
||||||
|
if(result.code != ADDICTION_PREVENTION_CODE.SUCCESS && result.age != -1) { // 未成年人防沉迷
|
||||||
|
user = await UserModel.updatePlayTime(userCode, 0, result.total, result.code); // 记录时间
|
||||||
|
|
||||||
|
pinus.app.channelService.pushMessageByUids('onPlayTime', resResult(STATUS.SUCCESS, {
|
||||||
|
isGuest,
|
||||||
|
guestTime, // 游客已体验时间
|
||||||
|
hasAuthenticated, // 是否进行过实名认证
|
||||||
|
isAdult, // 是否已成年
|
||||||
|
todayPlayTime: result.total, // 今天已游戏时长
|
||||||
|
type: result.code
|
||||||
|
} ), [{uid: roleId, sid: sid}]);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -57,6 +57,8 @@ export default class User extends BaseModel {
|
|||||||
pi: string; // 已通过实名认证用户唯一标识
|
pi: string; // 已通过实名认证用户唯一标识
|
||||||
@prop({ required: false, default: 0 })
|
@prop({ required: false, default: 0 })
|
||||||
todayPlayTime: number; // 今日游戏时间
|
todayPlayTime: number; // 今日游戏时间
|
||||||
|
@prop({ required: false, default: 0 })
|
||||||
|
todayPlayType: number; // 未成年防沉迷类型
|
||||||
@prop({ required: false })
|
@prop({ required: false })
|
||||||
reportTime: Date; // 汇报时间
|
reportTime: Date; // 汇报时间
|
||||||
|
|
||||||
@@ -215,8 +217,10 @@ export default class User extends BaseModel {
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
public static async updatePlayTime(userCode: string, guestTimeInc: number, todayPlayTime: number, lean = true) {
|
public static async updatePlayTime(userCode: string, guestTimeInc: number, todayPlayTime: number, todayPlayType?: number) {
|
||||||
const user: UserType = await UserModel.findOneAndUpdate({ userCode }, { $inc: { guestTime: guestTimeInc }, $set: { todayPlayTime, reportTime: new Date() }}, { new: true }).lean(lean);
|
let update = { todayPlayTime, todayPlayType, reportTime: new Date() };
|
||||||
|
if(todayPlayType) update.todayPlayType;
|
||||||
|
const user: UserType = await UserModel.findOneAndUpdate({ userCode }, { $inc: { guestTime: guestTimeInc }, $set: update}, { new: true }).lean();
|
||||||
return user;
|
return user;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -4,7 +4,7 @@ import { DEFAULT_HEROES } from '@consts';
|
|||||||
import { HeroModel } from '@db/Hero';
|
import { HeroModel } from '@db/Hero';
|
||||||
import { RoleModel } from '@db/Role';
|
import { RoleModel } from '@db/Role';
|
||||||
import { UserModel, UserType } from '@db/User';
|
import { UserModel, UserType } from '@db/User';
|
||||||
import { STATUS, GET_SMS_TYPE } from '@consts';
|
import { STATUS, GET_SMS_TYPE, ADDICTION_PREVENTION_CODE } from '@consts';
|
||||||
import { smsModel } from '@db/Sms';
|
import { smsModel } from '@db/Sms';
|
||||||
import { Service } from 'egg';
|
import { Service } from 'egg';
|
||||||
import Counter from '@db/Counter';
|
import Counter from '@db/Counter';
|
||||||
@@ -95,9 +95,15 @@ export default class Auth extends Service {
|
|||||||
let age = getAge(user.birthday);
|
let age = getAge(user.birthday);
|
||||||
let isAdult = age >= ADULT_AGE;
|
let isAdult = age >= ADULT_AGE;
|
||||||
let todayPlayTime = user.todayPlayTime;
|
let todayPlayTime = user.todayPlayTime;
|
||||||
|
let type = user.todayPlayType;
|
||||||
if(shouldRefresh(user.reportTime, new Date(), 0)) {
|
if(shouldRefresh(user.reportTime, new Date(), 0)) {
|
||||||
todayPlayTime = 0;
|
todayPlayTime = 0;
|
||||||
|
type = 0;
|
||||||
}
|
}
|
||||||
|
if((user.isGuest || !user.hasAuthenticated) && user.guestTime > GUEST_MAX_TIME) {
|
||||||
|
type = ADDICTION_PREVENTION_CODE.GUEST;
|
||||||
|
}
|
||||||
|
|
||||||
return {
|
return {
|
||||||
tel: user.tel,
|
tel: user.tel,
|
||||||
isGuest: !!user.isGuest,
|
isGuest: !!user.isGuest,
|
||||||
@@ -105,7 +111,7 @@ export default class Auth extends Service {
|
|||||||
hasAuthenticated: !!user.hasAuthenticated, // 是否进行过实名认证
|
hasAuthenticated: !!user.hasAuthenticated, // 是否进行过实名认证
|
||||||
isAdult, // 是否已成年
|
isAdult, // 是否已成年
|
||||||
todayPlayTime, // 今天已游戏时长
|
todayPlayTime, // 今天已游戏时长
|
||||||
|
type, // 防沉迷类型
|
||||||
hasSetPw: user.hasSetPw, // 是否设置了密码
|
hasSetPw: user.hasSetPw, // 是否设置了密码
|
||||||
token: user.token, // 用户token
|
token: user.token, // 用户token
|
||||||
userCode: user.userCode // 用户标识
|
userCode: user.userCode // 用户标识
|
||||||
|
|||||||
@@ -40,7 +40,7 @@ export default (appInfo: EggAppInfo) => {
|
|||||||
},
|
},
|
||||||
};
|
};
|
||||||
|
|
||||||
config.decodeParm = false;
|
config.decodeParm = true;
|
||||||
|
|
||||||
config.static = {
|
config.static = {
|
||||||
prefix: '/',
|
prefix: '/',
|
||||||
|
|||||||
Reference in New Issue
Block a user