✨ 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小时内登录过但当前未在线的玩家
|
||||
|
||||
@@ -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 () => {
|
||||
|
||||
@@ -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;
|
||||
}
|
||||
|
||||
@@ -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() {
|
||||
|
||||
@@ -36,6 +36,6 @@
|
||||
"CAN_PAY": 1,
|
||||
"SKIP_ENCODE": 0,
|
||||
"NEED_REBATE": 0,
|
||||
"PUSH_MSG": 0,
|
||||
"PUSH_MSG_ENV": "zy1",
|
||||
"CLOSE_SCRIPT_BARRAGE": 1
|
||||
}
|
||||
Reference in New Issue
Block a user