活动:弹窗活动新类型
This commit is contained in:
@@ -311,9 +311,8 @@ export async function clearChannelServers() {
|
||||
* @param userCode user表唯一字符串标识
|
||||
* @param sid connector服的那个sid
|
||||
*/
|
||||
export async function roleLogin(roleId: string, userCode: string, sid: string, pkgName: string, createTime: number) {
|
||||
let param = { userCode, sid, pkgName, createTime };
|
||||
return await redisClient().hsetAsync(REDIS_KEY.ONLINE_USERS, roleId, JSON.stringify(param));
|
||||
export async function roleLogin(roleId: string, userCode: string, sid: string, pkgName: string, createTime: number, serverId: number) {
|
||||
return await redisClient().hsetAsync(REDIS_KEY.ONLINE_USERS, roleId, `${userCode}|${sid}|${pkgName}|${createTime}|${serverId}`);
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -343,13 +342,12 @@ export async function getRoleOnlineInfo(roleId: string) {
|
||||
let str = await redisClient().hgetAsync(REDIS_KEY.ONLINE_USERS, roleId);
|
||||
if(str) {
|
||||
try {
|
||||
let result = JSON.parse(str);
|
||||
let result = str.split('|');
|
||||
let [userCode, sid, pkgName, createTime, serverId] = result;
|
||||
return {
|
||||
isOnline: true,
|
||||
userCode: result.userCode,
|
||||
sid: result.sid,
|
||||
pkgName: result.pkgName,
|
||||
createtime: result.createTime
|
||||
isOnline: true, userCode, sid, pkgName,
|
||||
createtime: parseInt(createTime),
|
||||
serverId: parseInt(serverId)
|
||||
}
|
||||
} catch(e) {
|
||||
return { isOnline: false }
|
||||
@@ -375,15 +373,15 @@ export async function getRoleCreateTime(roleId: string, role?: RoleType) {
|
||||
* 获得所有在线的玩家
|
||||
*/
|
||||
export async function getAllOnlineRoles() {
|
||||
const client: Redis.RedisClient = pinus.app.get('redis');
|
||||
let allRoles = await redisClient().hgetallAsync(REDIS_KEY.ONLINE_USERS);
|
||||
let result = new Array<{roleId: string, userCode: string, sid: string, pkgName: string}>();
|
||||
let result = new Array<{roleId: string, userCode: string, sid: string, pkgName: string, serverId: number}>();
|
||||
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 });
|
||||
}
|
||||
let param = allRoles[roleId].split('|');
|
||||
let [userCode, sid, pkgName, _createTime, serverId] = param;
|
||||
|
||||
result.push({ roleId, userCode, sid, pkgName, serverId: parseInt(serverId) });
|
||||
|
||||
} catch(e) {
|
||||
continue;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user