✨ feat(推送): 推送修改为向全院推送
This commit is contained in:
@@ -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小时内登录过但当前未在线的玩家
|
||||||
|
|||||||
@@ -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 () => {
|
||||||
|
|||||||
@@ -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;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -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() {
|
||||||
|
|||||||
@@ -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
|
||||||
}
|
}
|
||||||
Reference in New Issue
Block a user