防沉迷:定时任务
This commit is contained in:
@@ -10,6 +10,7 @@ import { SystemConfigModel } from '../db/SystemConfig';
|
||||
import { GuildRankParam, GuildLeader, RankParam } from '../domain/rank';
|
||||
import { GuildModel } from '../db/Guild';
|
||||
import { comBtlRanges } from '../pubUtils/gamedata';
|
||||
import { stringify } from 'querystring';
|
||||
/**
|
||||
* 在服务重新启动时,将信息存入redis
|
||||
*/
|
||||
@@ -369,9 +370,9 @@ export function redisSidKey(roleId: string) {
|
||||
* @param userCode user表唯一字符串标识
|
||||
* @param sid connector服的那个sid
|
||||
*/
|
||||
export async function roleLogin(roleId: string, userCode: string, sid: string) {
|
||||
export async function roleLogin(roleId: string, userCode: string, sid: string, pkgName: string) {
|
||||
const client: Redis.RedisClient = pinus.app.get('redis');
|
||||
let param = { userCode, sid };
|
||||
let param = { userCode, sid, pkgName };
|
||||
return await client.hsetAsync(REDIS_KEY.ONLINE_USERS, roleId, JSON.stringify(param));
|
||||
}
|
||||
|
||||
@@ -407,7 +408,8 @@ export async function getRoleOnlineInfo(roleId: string) {
|
||||
return {
|
||||
isOnline: true,
|
||||
userCode: result.userCode,
|
||||
sid: result.sid
|
||||
sid: result.sid,
|
||||
pkgName: result.pkgName
|
||||
}
|
||||
} catch(e) {
|
||||
return { isOnline: false }
|
||||
@@ -423,7 +425,18 @@ export async function getRoleOnlineInfo(roleId: string) {
|
||||
export async function getAllOnlineRoles() {
|
||||
const client: Redis.RedisClient = pinus.app.get('redis');
|
||||
let allRoles = await client.hgetallAsync(REDIS_KEY.ONLINE_USERS);
|
||||
return allRoles;
|
||||
let result = new Array<{roleId: string, userCode: string, sid: string, pkgName: string}>();
|
||||
for(let roleId in allRoles) {
|
||||
try{
|
||||
let param = JSON.parse(allRoles[roleId]);
|
||||
if(param) {
|
||||
result.push({ roleId, userCode: param.userCode, sid: param.sid, pkgName: param.pkgName });
|
||||
}
|
||||
} catch(e) {
|
||||
continue;
|
||||
}
|
||||
}
|
||||
return result;
|
||||
}
|
||||
|
||||
export async function resetPvpRanks() {
|
||||
|
||||
Reference in New Issue
Block a user