✨ 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
+24 -21
View File
@@ -279,13 +279,13 @@ export async function pushClientMsg(type: SDK_PUSH_MSG_TYPE) {
if(!dicPushMessage) return; if(!dicPushMessage) return;
let targetObj = await getPushTarget(dicPushMessage.playerType); let targetObj = await getPushTarget(dicPushMessage.playerType);
if(!targetObj) return; if(!targetObj) return;
if(!needPushMsg()) return; if(!needPushMsg(pinus.app.get('env'))) return;
let { target, audiences } = targetObj; let { target, audiences } = targetObj;
let t = Date.now(); let t = Date.now();
for(let i = 0; i < audiences.length; i++) { for(let i = 0; i < audiences.length; i++) {
let audience = audiences[i]; let audience = audiences[i];
// console.log(target, audience) // console.log(target, audience)
if(audience) { if(audience || target == SDK_PUSH_TARGET_TYPE.ALL ) {
await timeoutAsync(i * 10) await timeoutAsync(i * 10)
await pushMsg37(t.toString(), dicPushMessage, target, audience); 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[] }> { async function getPushTarget(playerType: number): Promise<{ target: SDK_PUSH_TARGET_TYPE, audiences: string[] }> {
let uids: number[] = []; return { target: SDK_PUSH_TARGET_TYPE.ALL, audiences: [''] }
switch(playerType) {
case SDK_PUSH_MSG_PLAYER_TYPE.HAS_GUILD: // let uids: number[] = [];
{ uids = await getHasGuildPlayers(); break; } // switch(playerType) {
case SDK_PUSH_MSG_PLAYER_TYPE.HAS_LEAGUE: // case SDK_PUSH_MSG_PLAYER_TYPE.HAS_GUILD:
{ uids = await getHasLeaguePlayers(); break; } // { uids = await getHasGuildPlayers(); break; }
case SDK_PUSH_MSG_PLAYER_TYPE.AFK: // case SDK_PUSH_MSG_PLAYER_TYPE.HAS_LEAGUE:
{ uids = await getAfkPlayers(); break; } // { uids = await getHasLeaguePlayers(); break; }
case SDK_PUSH_MSG_PLAYER_TYPE.ACTIVE_PLAYER: // case SDK_PUSH_MSG_PLAYER_TYPE.AFK:
{ uids = await getActivePlayers(); break; } // { uids = await getAfkPlayers(); break; }
} // case SDK_PUSH_MSG_PLAYER_TYPE.ACTIVE_PLAYER:
let len = uids.length; // { uids = await getActivePlayers(); break; }
if(len == 0) return null; // }
if(len == 1) return { target: SDK_PUSH_TARGET_TYPE.SINGLE, audiences: [uids.join()] }; // let len = uids.length;
let audiences: string[] = []; // if(len == 0) return null;
for(let i = 0; i < Math.ceil(len/200); i++) { // if(len == 1) return { target: SDK_PUSH_TARGET_TYPE.SINGLE, audiences: [uids.join()] };
audiences.push(uids.slice(i * 200, i * 200 + 200).join()) // let audiences: string[] = [];
} // for(let i = 0; i < Math.ceil(len/200); i++) {
return { target: SDK_PUSH_TARGET_TYPE.LIST, audiences }; // audiences.push(uids.slice(i * 200, i * 200 + 200).join())
// }
// return { target: SDK_PUSH_TARGET_TYPE.LIST, audiences };
} }
// 有军团且24小时内登录过但当前未在线的玩家 // 有军团且24小时内登录过但当前未在线的玩家
+1 -1
View File
@@ -1013,7 +1013,7 @@ export async function gvgBattleEndSchedule() {
async function initPushMsgSchedule() { async function initPushMsgSchedule() {
scheduleJob('sendAfkPlayers', '0 0 19 * * ?', async () => { 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); pushClientMsg(SDK_PUSH_MSG_TYPE.AP_DINNER);
}); });
scheduleJob('sendAfkPlayers', '0 0 12 * * ?', async () => { scheduleJob('sendAfkPlayers', '0 0 12 * * ?', async () => {
+1 -1
View File
@@ -54,7 +54,7 @@ export interface DicServerConst {
// 是否返利 // 是否返利
readonly NEED_REBATE: number; readonly NEED_REBATE: number;
// 推送 // 推送
readonly PUSH_MSG: number; readonly PUSH_MSG_ENV: string;
// 是否关闭剧情弹幕 // 是否关闭剧情弹幕
readonly CLOSE_SCRIPT_BARRAGE: number; readonly CLOSE_SCRIPT_BARRAGE: number;
} }
+2 -2
View File
@@ -190,8 +190,8 @@ export function needRebate() {
return gameData.serverConst.NEED_REBATE == 1; return gameData.serverConst.NEED_REBATE == 1;
} }
export function needPushMsg() { export function needPushMsg(env: string) {
return gameData.serverConst.PUSH_MSG == 1; return gameData.serverConst.PUSH_MSG_ENV == env;
} }
export function closeScriptBarrage() { export function closeScriptBarrage() {
+1 -1
View File
@@ -36,6 +36,6 @@
"CAN_PAY": 1, "CAN_PAY": 1,
"SKIP_ENCODE": 0, "SKIP_ENCODE": 0,
"NEED_REBATE": 0, "NEED_REBATE": 0,
"PUSH_MSG": 0, "PUSH_MSG_ENV": "zy1",
"CLOSE_SCRIPT_BARRAGE": 1 "CLOSE_SCRIPT_BARRAGE": 1
} }