✨ feat(推送): 推送修改为向全院推送
This commit is contained in:
@@ -279,13 +279,13 @@ export async function pushClientMsg(type: SDK_PUSH_MSG_TYPE) {
|
||||
if(!dicPushMessage) return;
|
||||
let targetObj = await getPushTarget(dicPushMessage.playerType);
|
||||
if(!targetObj) return;
|
||||
if(!needPushMsg()) return;
|
||||
if(!needPushMsg(pinus.app.get('env'))) return;
|
||||
let { target, audiences } = targetObj;
|
||||
let t = Date.now();
|
||||
for(let i = 0; i < audiences.length; i++) {
|
||||
let audience = audiences[i];
|
||||
// console.log(target, audience)
|
||||
if(audience) {
|
||||
if(audience || target == SDK_PUSH_TARGET_TYPE.ALL ) {
|
||||
await timeoutAsync(i * 10)
|
||||
await pushMsg37(t.toString(), dicPushMessage, target, audience);
|
||||
}
|
||||
@@ -300,26 +300,29 @@ function timeoutAsync(time: number) {
|
||||
})
|
||||
}
|
||||
|
||||
// 只推送all
|
||||
async function getPushTarget(playerType: number): Promise<{ target: SDK_PUSH_TARGET_TYPE, audiences: string[] }> {
|
||||
let uids: number[] = [];
|
||||
switch(playerType) {
|
||||
case SDK_PUSH_MSG_PLAYER_TYPE.HAS_GUILD:
|
||||
{ uids = await getHasGuildPlayers(); break; }
|
||||
case SDK_PUSH_MSG_PLAYER_TYPE.HAS_LEAGUE:
|
||||
{ uids = await getHasLeaguePlayers(); break; }
|
||||
case SDK_PUSH_MSG_PLAYER_TYPE.AFK:
|
||||
{ uids = await getAfkPlayers(); break; }
|
||||
case SDK_PUSH_MSG_PLAYER_TYPE.ACTIVE_PLAYER:
|
||||
{ uids = await getActivePlayers(); break; }
|
||||
}
|
||||
let len = uids.length;
|
||||
if(len == 0) return null;
|
||||
if(len == 1) return { target: SDK_PUSH_TARGET_TYPE.SINGLE, audiences: [uids.join()] };
|
||||
let audiences: string[] = [];
|
||||
for(let i = 0; i < Math.ceil(len/200); i++) {
|
||||
audiences.push(uids.slice(i * 200, i * 200 + 200).join())
|
||||
}
|
||||
return { target: SDK_PUSH_TARGET_TYPE.LIST, audiences };
|
||||
return { target: SDK_PUSH_TARGET_TYPE.ALL, audiences: [''] }
|
||||
|
||||
// let uids: number[] = [];
|
||||
// switch(playerType) {
|
||||
// case SDK_PUSH_MSG_PLAYER_TYPE.HAS_GUILD:
|
||||
// { uids = await getHasGuildPlayers(); break; }
|
||||
// case SDK_PUSH_MSG_PLAYER_TYPE.HAS_LEAGUE:
|
||||
// { uids = await getHasLeaguePlayers(); break; }
|
||||
// case SDK_PUSH_MSG_PLAYER_TYPE.AFK:
|
||||
// { uids = await getAfkPlayers(); break; }
|
||||
// case SDK_PUSH_MSG_PLAYER_TYPE.ACTIVE_PLAYER:
|
||||
// { uids = await getActivePlayers(); break; }
|
||||
// }
|
||||
// let len = uids.length;
|
||||
// if(len == 0) return null;
|
||||
// if(len == 1) return { target: SDK_PUSH_TARGET_TYPE.SINGLE, audiences: [uids.join()] };
|
||||
// let audiences: string[] = [];
|
||||
// for(let i = 0; i < Math.ceil(len/200); i++) {
|
||||
// audiences.push(uids.slice(i * 200, i * 200 + 200).join())
|
||||
// }
|
||||
// return { target: SDK_PUSH_TARGET_TYPE.LIST, audiences };
|
||||
}
|
||||
|
||||
// 有军团且24小时内登录过但当前未在线的玩家
|
||||
|
||||
Reference in New Issue
Block a user