feat(推送): 推送修改为向全院推送

This commit is contained in:
luying
2023-04-23 20:23:37 +08:00
parent d337517afd
commit 9b3f0c7a0f
5 changed files with 29 additions and 26 deletions

View File

@@ -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小时内登录过但当前未在线的玩家

View File

@@ -1013,7 +1013,7 @@ export async function gvgBattleEndSchedule() {
async function initPushMsgSchedule() {
scheduleJob('sendAfkPlayers', '0 0 19 * * ?', async () => {
pushClientMsg(SDK_PUSH_MSG_TYPE.AFK_ATTENTION);
// pushClientMsg(SDK_PUSH_MSG_TYPE.AFK_ATTENTION);
pushClientMsg(SDK_PUSH_MSG_TYPE.AP_DINNER);
});
scheduleJob('sendAfkPlayers', '0 0 12 * * ?', async () => {

View File

@@ -54,7 +54,7 @@ export interface DicServerConst {
// 是否返利
readonly NEED_REBATE: number;
// 推送
readonly PUSH_MSG: number;
readonly PUSH_MSG_ENV: string;
// 是否关闭剧情弹幕
readonly CLOSE_SCRIPT_BARRAGE: number;
}

View File

@@ -190,8 +190,8 @@ export function needRebate() {
return gameData.serverConst.NEED_REBATE == 1;
}
export function needPushMsg() {
return gameData.serverConst.PUSH_MSG == 1;
export function needPushMsg(env: string) {
return gameData.serverConst.PUSH_MSG_ENV == env;
}
export function closeScriptBarrage() {

View File

@@ -36,6 +36,6 @@
"CAN_PAY": 1,
"SKIP_ENCODE": 0,
"NEED_REBATE": 0,
"PUSH_MSG": 0,
"PUSH_MSG_ENV": "zy1",
"CLOSE_SCRIPT_BARRAGE": 1
}