Merge pull request 'release' (#2) from release into master
This commit is contained in:
commit
c3f94cc304
@ -1,6 +1,4 @@
|
|||||||
import {ApiCall} from "tsrpc";
|
import {ApiCall} from "tsrpc";
|
||||||
import {EventFun} from '../public/event/event';
|
|
||||||
import {PayFun} from '../public/pay';
|
|
||||||
import {ReqSyncBtn, ResSyncBtn, syncBtnKeys} from "../shared/protocols/PtlSyncBtn";
|
import {ReqSyncBtn, ResSyncBtn, syncBtnKeys} from "../shared/protocols/PtlSyncBtn";
|
||||||
import {PublicShared} from '../shared/public/public';
|
import {PublicShared} from '../shared/public/public';
|
||||||
import {HuoDongFun} from "../public/huodongfun";
|
import {HuoDongFun} from "../public/huodongfun";
|
||||||
@ -8,7 +6,6 @@ import {HuoDongFun} from "../public/huodongfun";
|
|||||||
const defaultKeys: syncBtnKeys[] = [
|
const defaultKeys: syncBtnKeys[] = [
|
||||||
'huobanzhaomu', 'yibaichou', 'shouchong',
|
'huobanzhaomu', 'yibaichou', 'shouchong',
|
||||||
'dayjijin', 'dengjijijin', 'guanqiajijin', 'tianshujijin',
|
'dayjijin', 'dengjijijin', 'guanqiajijin', 'tianshujijin',
|
||||||
'zhanling',
|
|
||||||
'xianshilibao',
|
'xianshilibao',
|
||||||
'xianshizhaomu',
|
'xianshizhaomu',
|
||||||
'G123Gift',
|
'G123Gift',
|
||||||
@ -65,39 +62,40 @@ export default async function (call: ApiCall<ReqSyncBtn, ResSyncBtn>) {
|
|||||||
break;
|
break;
|
||||||
case 'zhanling':
|
case 'zhanling':
|
||||||
//30天一轮循环,不管奖励。常驻活动
|
//30天一轮循环,不管奖励。常驻活动
|
||||||
if (!PublicShared.getEventIsOpen(G.gc.zhanling.eventOpen, call.conn.gud)) {
|
// if (!PublicShared.getEventIsOpen(G.gc.zhanling.eventOpen, call.conn.gud)) {
|
||||||
data[key] = {active: false};
|
// data[key] = {active: false};
|
||||||
} else {
|
// } else {
|
||||||
let zls = await G.mongodb.collection('scheduler').findOne({type: 'zhanling'});
|
// let zls = await G.mongodb.collection('scheduler').findOne({type: 'zhanling'});
|
||||||
if (!data[key] || data[key].round != zls.round) {
|
// if (!data[key] || data[key].round != (zls?.round || 0)) {
|
||||||
let lastRunTime = zls && zls.lastRunTime? zls.lastRunTime : G.time
|
// let lastRunTime = zls && zls.lastRunTime? zls.lastRunTime : G.time
|
||||||
let round = zls && zls.lastRunTime? zls.round : 1
|
// let round = zls && zls.lastRunTime? zls.round : 1
|
||||||
data[key] = {active: true, sTime: lastRunTime, round: round};
|
|
||||||
change[key] = data[key];
|
|
||||||
|
|
||||||
PayFun.delPayLog(call.uid, {payId: G.gc.zhanling.payId, val: []});
|
// data[key] = {active: true, sTime: lastRunTime, round: round};
|
||||||
|
// change[key] = data[key];
|
||||||
|
|
||||||
G.mongodb.cEvent('zhanling').findOne({uid: call.uid, type: 'zhanling'}).then(data => {
|
// PayFun.delPayLog(call.uid, {payId: G.gc.zhanling.payId, val: []});
|
||||||
//新一轮战令 不管玩家多久没上线 只补发玩家上一轮没有领取的奖励
|
|
||||||
data && EventFun.reissueZhanLingPrize(data, call.conn.gud);
|
|
||||||
|
|
||||||
G.mongodb.cEvent('zhanling').updateOne(
|
// G.mongodb.cEvent('zhanling').findOne({uid: call.uid, type: 'zhanling'}).then(data => {
|
||||||
{uid: call.uid, type: 'zhanling'},
|
// //新一轮战令 不管玩家多久没上线 只补发玩家上一轮没有领取的奖励
|
||||||
{
|
// data && EventFun.reissueZhanLingPrize(data, call.conn.gud);
|
||||||
$set: {
|
|
||||||
lv: 1,
|
// G.mongodb.cEvent('zhanling').updateOne(
|
||||||
exp: 0,
|
// {uid: call.uid, type: 'zhanling'},
|
||||||
rec: {},
|
// {
|
||||||
isPay: false,
|
// $set: {
|
||||||
taskRec: [],
|
// lv: 1,
|
||||||
refreshTime: G.time
|
// exp: 0,
|
||||||
}
|
// rec: {},
|
||||||
},
|
// isPay: false,
|
||||||
{upsert: true}
|
// taskRec: [],
|
||||||
);
|
// refreshTime: G.time
|
||||||
});
|
// }
|
||||||
}
|
// },
|
||||||
}
|
// {upsert: true}
|
||||||
|
// );
|
||||||
|
// });
|
||||||
|
// }
|
||||||
|
// }
|
||||||
break;
|
break;
|
||||||
case 'xianshilibao':
|
case 'xianshilibao':
|
||||||
// 到时间消失
|
// 到时间消失
|
||||||
|
@ -2,6 +2,8 @@ import { ApiCall } from "tsrpc";
|
|||||||
import { HuoDongFun } from "../../../public/huodongfun";
|
import { HuoDongFun } from "../../../public/huodongfun";
|
||||||
import { ReqOpen, ResOpen } from "../../../shared/protocols/event/yangchengmubiao/PtlOpen";
|
import { ReqOpen, ResOpen } from "../../../shared/protocols/event/yangchengmubiao/PtlOpen";
|
||||||
import { YangChengMuBiaofun } from "./fun";
|
import { YangChengMuBiaofun } from "./fun";
|
||||||
|
import { PayFun } from "../../../public/pay";
|
||||||
|
import { payLog } from "../../../shared/protocols/pay/PtlGetList";
|
||||||
|
|
||||||
export default async function (call: ApiCall<ReqOpen, ResOpen>) {
|
export default async function (call: ApiCall<ReqOpen, ResOpen>) {
|
||||||
let _hdinfo = await HuoDongFun.getHdidInfo(call, call.req.hdid)
|
let _hdinfo = await HuoDongFun.getHdidInfo(call, call.req.hdid)
|
||||||
@ -9,6 +11,23 @@ export default async function (call: ApiCall<ReqOpen, ResOpen>) {
|
|||||||
// 无此活动
|
// 无此活动
|
||||||
return call.error('', { code: -1, message: globalThis.lng.huodong_open_1 })
|
return call.error('', { code: -1, message: globalThis.lng.huodong_open_1 })
|
||||||
}
|
}
|
||||||
|
|
||||||
|
let delPay: { payId: string, val: payLog[] }[] = [];
|
||||||
|
let payIds = _hdinfo.data.gift.map(v => v.payId);
|
||||||
|
let payLogs = await PayFun.getPayLogs(call.uid, payIds);
|
||||||
|
|
||||||
|
for (let payid in payLogs) {
|
||||||
|
if (payLogs[payid].length > 0) {
|
||||||
|
if (payLogs[payid].slice(-1)[0].time < _hdinfo.stime) {
|
||||||
|
delPay.push({ payId: payid, val: [] });
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
if (delPay.length > 0) {
|
||||||
|
await PayFun.delPayLog(call.uid, ...delPay);
|
||||||
|
}
|
||||||
|
|
||||||
let _mydata = await YangChengMuBiaofun.getMyData(call, call.req.hdid)
|
let _mydata = await YangChengMuBiaofun.getMyData(call, call.req.hdid)
|
||||||
let changedata = { mydata: _mydata, hdinfo: _hdinfo }
|
let changedata = { mydata: _mydata, hdinfo: _hdinfo }
|
||||||
call.succ(changedata);
|
call.succ(changedata);
|
||||||
|
@ -1,14 +1,15 @@
|
|||||||
import {ApiCall} from "tsrpc";
|
import { ApiCall } from "tsrpc";
|
||||||
import {ZhanLingTasks} from '../../../public/zhanling';
|
import { ZhanLingTasks } from '../../../public/zhanling';
|
||||||
import {ReqOpen, ResOpen} from "../../../shared/protocols/event/zhanling/PtlOpen";
|
import { ReqOpen, ResOpen } from "../../../shared/protocols/event/zhanling/PtlOpen";
|
||||||
import {player} from '../../../shared/protocols/user/type';
|
import { player } from '../../../shared/protocols/user/type';
|
||||||
import {PublicShared} from '../../../shared/public/public';
|
import { PublicShared } from '../../../shared/public/public';
|
||||||
|
import { PayFun } from "../../../public/pay";
|
||||||
|
|
||||||
export default async function (call: ApiCall<ReqOpen, ResOpen>) {
|
export default async function (call: ApiCall<ReqOpen, ResOpen>) {
|
||||||
let zls = await G.mongodb.collection('scheduler').findOne({type: 'zhanling'});
|
let zls = await G.mongodb.collection('scheduler').findOne({ type: 'zhanling' });
|
||||||
let data = await G.mongodb.cEvent('zhanling').findOne({uid: call.uid, type: 'zhanling'});
|
let data = await G.mongodb.cEvent('zhanling').findOne({ uid: call.uid, type: 'zhanling' });
|
||||||
|
|
||||||
if (!data || data.round != (zls?.round | 0)) {
|
if (!data || data.round != (zls?.round || 0)) {
|
||||||
let set = {
|
let set = {
|
||||||
lv: 1,
|
lv: 1,
|
||||||
exp: 0,
|
exp: 0,
|
||||||
@ -16,18 +17,22 @@ export default async function (call: ApiCall<ReqOpen, ResOpen>) {
|
|||||||
isPay: false,
|
isPay: false,
|
||||||
taskRec: [],
|
taskRec: [],
|
||||||
round: zls?.round || 0,
|
round: zls?.round || 0,
|
||||||
reWeekTime:G.time,
|
reWeekTime: G.time,
|
||||||
refreshTime: G.time,
|
refreshTime: G.time,
|
||||||
}
|
}
|
||||||
|
|
||||||
|
await PayFun.delPayLog(
|
||||||
|
call.uid, { payId: G.gc.zhanling.payId, val: [] }
|
||||||
|
);
|
||||||
|
|
||||||
data = (await G.mongodb.cEvent('zhanling').findOneAndUpdate({
|
data = (await G.mongodb.cEvent('zhanling').findOneAndUpdate({
|
||||||
uid: call.uid,
|
uid: call.uid,
|
||||||
type: 'zhanling'
|
type: 'zhanling'
|
||||||
}, {$set: set}, {upsert: true, returnDocument: 'after'})).value;
|
}, { $set: set }, { upsert: true, returnDocument: 'after' })).value;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (PublicShared.getToWeekMondayZeroTime() > data.reWeekTime || PublicShared.getToDayZeroTime() > data.refreshTime) {
|
if (PublicShared.getToWeekMondayZeroTime() > data.reWeekTime || PublicShared.getToDayZeroTime() > data.refreshTime) {
|
||||||
let set: any = {taskRec: []};
|
let set: any = { taskRec: [] };
|
||||||
|
|
||||||
let reType = [];
|
let reType = [];
|
||||||
if (PublicShared.getToWeekMondayZeroTime() > data.reWeekTime) {
|
if (PublicShared.getToWeekMondayZeroTime() > data.reWeekTime) {
|
||||||
@ -49,11 +54,11 @@ export default async function (call: ApiCall<ReqOpen, ResOpen>) {
|
|||||||
data = (await G.mongodb.cEvent('zhanling').findOneAndUpdate({
|
data = (await G.mongodb.cEvent('zhanling').findOneAndUpdate({
|
||||||
uid: call.uid,
|
uid: call.uid,
|
||||||
type: 'zhanling'
|
type: 'zhanling'
|
||||||
}, {$set: set}, {upsert: true, returnDocument: 'after'})).value;
|
}, { $set: set }, { upsert: true, returnDocument: 'after' })).value;
|
||||||
}
|
}
|
||||||
|
|
||||||
let tasks = G.gc.zhanling.task.map(t => {
|
let tasks = G.gc.zhanling.task.map(t => {
|
||||||
return {type: t.type as 'day' | 'week' | 'round', key: t.taskId};
|
return { type: t.type as 'day' | 'week' | 'round', key: t.taskId };
|
||||||
});
|
});
|
||||||
let taskFinished = await ZhanLingTasks.getLog(call.uid, tasks);
|
let taskFinished = await ZhanLingTasks.getLog(call.uid, tasks);
|
||||||
|
|
||||||
@ -68,14 +73,14 @@ export default async function (call: ApiCall<ReqOpen, ResOpen>) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
export async function payZhanLing(player: player) {
|
export async function payZhanLing(player: player) {
|
||||||
let zlData = await G.mongodb.cEvent('zhanling').findOne({uid: player.uid, type: 'zhanling'});
|
let zlData = await G.mongodb.cEvent('zhanling').findOne({ uid: player.uid, type: 'zhanling' });
|
||||||
let curLv = zlData?.lv || 1;
|
let curLv = zlData?.lv || 1;
|
||||||
let maxLv = Number(Object.keys(G.gc.zhanling.lv).slice(-1)[0]);
|
let maxLv = Number(Object.keys(G.gc.zhanling.lv).slice(-1)[0]);
|
||||||
let addLv = maxLv - curLv >= G.gc.zhanling.payAddLv ? G.gc.zhanling.payAddLv : maxLv - curLv;
|
let addLv = maxLv - curLv >= G.gc.zhanling.payAddLv ? G.gc.zhanling.payAddLv : maxLv - curLv;
|
||||||
|
|
||||||
await G.mongodb.cEvent('zhanling').updateOne(
|
await G.mongodb.cEvent('zhanling').updateOne(
|
||||||
{uid: player.uid, type: 'zhanling'},
|
{ uid: player.uid, type: 'zhanling' },
|
||||||
{$set: {isPay: true, exp: G.gc.zhanling.lv[curLv + addLv], lv: curLv + addLv}},
|
{ $set: { isPay: true, exp: G.gc.zhanling.lv[curLv + addLv], lv: curLv + addLv } },
|
||||||
{upsert: true}
|
{ upsert: true }
|
||||||
);
|
);
|
||||||
}
|
}
|
98
src/fix_patch/patch_20240106.ts
Normal file
98
src/fix_patch/patch_20240106.ts
Normal file
@ -0,0 +1,98 @@
|
|||||||
|
import { log } from "console";
|
||||||
|
import { patchFun, patchInit } from "../patch";
|
||||||
|
import { TanXianFun } from "../public/tanxian";
|
||||||
|
import { PublicShared } from "../shared/public/public";
|
||||||
|
|
||||||
|
class Path {
|
||||||
|
|
||||||
|
async fun1(a: any) {
|
||||||
|
let hd = [{
|
||||||
|
"hdid": 3001, // 唯一活动id 传说之路
|
||||||
|
"htype": 3, // 后端唯一识别标识
|
||||||
|
"stype": 300, // 前端唯一识别标识(看前端需要是否修改)
|
||||||
|
"ttype": 1, // 0 按照开服时间计算,1 玩家注册时间计算 4 屏蔽此活动
|
||||||
|
"stime": 30, // 活动开始天数
|
||||||
|
"rtime": 60, // 活动显示结束天数
|
||||||
|
"etime": 60, // 活动实际结束
|
||||||
|
"name": "xinfupeiyang",
|
||||||
|
"icon": "icon_qiridenglu",
|
||||||
|
"showtime": "仅供参考,会复写正确值",
|
||||||
|
"data": {
|
||||||
|
//干部id
|
||||||
|
hid: '5002',
|
||||||
|
//任务
|
||||||
|
task: [
|
||||||
|
{ idx: 0, total: 80, type: 'lv', prize: [{ a: 'item', t: '1', n: 500000 }], des: 'intr_cszl_des_2' },
|
||||||
|
{ idx: 1, total: 4, type: 'jieji', prize: [{ a: 'item', t: '12', n: 500 }], des: 'intr_cszl_des_1' },
|
||||||
|
{ idx: 2, total: 120, type: 'lv', prize: [{ a: 'item', t: '1', n: 500000 }], des: 'intr_cszl_des_2' },
|
||||||
|
{ idx: 3, total: 5, type: 'jieji', prize: [{ a: 'item', t: '12', n: 1000 }], des: 'intr_cszl_des_1' },
|
||||||
|
{ idx: 4, total: 160, type: 'lv', prize: [{ a: 'item', t: '1', n: 800000 }], des: 'intr_cszl_des_2' },
|
||||||
|
{ idx: 5, total: 6, type: 'jieji', prize: [{ a: 'item', t: '12', n: 1500 }], des: 'intr_cszl_des_1' },
|
||||||
|
{ idx: 6, total: 200, type: 'lv', prize: [{ a: 'item', t: '1', n: 1200000 }], des: 'intr_cszl_des_2' },
|
||||||
|
{ idx: 7, total: 7, type: 'jieji', prize: [{ a: 'item', t: '12', n: 2000 }], des: 'intr_cszl_des_1' },
|
||||||
|
{ idx: 8, total: 240, type: 'lv', prize: [{ a: 'item', t: '1', n: 2000000 }], des: 'intr_cszl_des_2' },
|
||||||
|
{ idx: 9, total: 8, type: 'jieji', prize: [{ a: 'item', t: '5002', n: 20 }], des: 'intr_cszl_des_1' }
|
||||||
|
],
|
||||||
|
//宝箱
|
||||||
|
box: { total: 10, prize: [{ a: 'item', t: '610', n: 1 }] }
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"hdid": 3002, // 唯一活动id 传说之路 心腹培养
|
||||||
|
"htype": 3, // 后端唯一识别标识
|
||||||
|
"stype": 300, // 前端唯一识别标识(看前端需要是否修改)
|
||||||
|
"ttype": 1, // 0 按照开服时间计算,1 玩家注册时间计算 4 屏蔽此活动
|
||||||
|
"stime": 60, // 活动开始天数
|
||||||
|
"rtime": 90, // 活动显示结束天数
|
||||||
|
"etime": 90, // 活动实际结束
|
||||||
|
"name": "xinfupeiyang",
|
||||||
|
"icon": "icon_xfdj",
|
||||||
|
"showtime": "仅供参考,会复写正确值",
|
||||||
|
"data": {
|
||||||
|
//干部id
|
||||||
|
hid: '5004',
|
||||||
|
//任务
|
||||||
|
task: [
|
||||||
|
{ idx: 0, total: 100, type: 'lv', prize: [{ a: 'item', t: '1', n: 500000 }], des: 'intr_cszl_des_2' },
|
||||||
|
{ idx: 1, total: 5, type: 'jieji', prize: [{ a: 'item', t: '12', n: 500 }], des: 'intr_cszl_des_1' },
|
||||||
|
{ idx: 2, total: 140, type: 'lv', prize: [{ a: 'item', t: '1', n: 500000 }], des: 'intr_cszl_des_2' },
|
||||||
|
{ idx: 3, total: 6, type: 'jieji', prize: [{ a: 'item', t: '12', n: 1000 }], des: 'intr_cszl_des_1' },
|
||||||
|
{ idx: 4, total: 180, type: 'lv', prize: [{ a: 'item', t: '1', n: 800000 }], des: 'intr_cszl_des_2' },
|
||||||
|
{ idx: 5, total: 7, type: 'jieji', prize: [{ a: 'item', t: '12', n: 1500 }], des: 'intr_cszl_des_1' },
|
||||||
|
{ idx: 6, total: 220, type: 'lv', prize: [{ a: 'item', t: '1', n: 1200000 }], des: 'intr_cszl_des_2' },
|
||||||
|
{ idx: 7, total: 8, type: 'jieji', prize: [{ a: 'item', t: '12', n: 2000 }], des: 'intr_cszl_des_1' },
|
||||||
|
{ idx: 8, total: 260, type: 'lv', prize: [{ a: 'item', t: '1', n: 2000000 }], des: 'intr_cszl_des_2' },
|
||||||
|
{ idx: 9, total: 9, type: 'jieji', prize: [{ a: 'item', t: '5004', n: 20 }], des: 'intr_cszl_des_1' }
|
||||||
|
],
|
||||||
|
//宝箱
|
||||||
|
box: { total: 10, prize: [{ a: 'item', t: '610', n: 1 }] }
|
||||||
|
}
|
||||||
|
}]
|
||||||
|
|
||||||
|
for (let i = 0; i < hd.length; i++) {
|
||||||
|
G.mongodb.collection('hdinfo').updateOne(
|
||||||
|
{ hdid: hd[i].hdid }, { $set: { ["data.task"]: hd[i].data.task } }, { upsert: true }
|
||||||
|
)
|
||||||
|
}
|
||||||
|
|
||||||
|
return "sucess!!!"
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
async run() {
|
||||||
|
await this.fun1(1);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
async function main() {
|
||||||
|
await patchInit()
|
||||||
|
let patch = new Path();
|
||||||
|
await patch.run();
|
||||||
|
console.log("逻辑执行完成,等待退出");
|
||||||
|
setTimeout(function () {
|
||||||
|
console.log('结束程序');
|
||||||
|
process.exit();
|
||||||
|
}, 3000);
|
||||||
|
}
|
||||||
|
main();
|
@ -211,7 +211,8 @@ export function addListener() {
|
|||||||
|
|
||||||
// 签到增加天数
|
// 签到增加天数
|
||||||
SignFun.updateLogin(gud.uid);
|
SignFun.updateLogin(gud.uid);
|
||||||
ActionLog.initDayLog(gud.uid);
|
//移到定时器里统一执行
|
||||||
|
//ActionLog.initDayLog(gud.uid);
|
||||||
ActionLog.addRetainLog(gud.uid, { key: 'login_day', val: 1 });
|
ActionLog.addRetainLog(gud.uid, { key: 'login_day', val: 1 });
|
||||||
ZhanLingTasks.clearLog(gud.uid, 'day');
|
ZhanLingTasks.clearLog(gud.uid, 'day');
|
||||||
PayFun.checkGiftDayEmail(gud, lastTime, curTime);
|
PayFun.checkGiftDayEmail(gud, lastTime, curTime);
|
||||||
|
@ -32661,6 +32661,906 @@
|
|||||||
"p": 1
|
"p": 1
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
|
"271081": [
|
||||||
|
{
|
||||||
|
"id": 271081,
|
||||||
|
"a": "attr",
|
||||||
|
"t": "nexp",
|
||||||
|
"n": 249674,
|
||||||
|
"p": 1
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"271082": [
|
||||||
|
{
|
||||||
|
"id": 271082,
|
||||||
|
"a": "attr",
|
||||||
|
"t": "nexp",
|
||||||
|
"n": 249905,
|
||||||
|
"p": 1
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"271083": [
|
||||||
|
{
|
||||||
|
"id": 271083,
|
||||||
|
"a": "attr",
|
||||||
|
"t": "nexp",
|
||||||
|
"n": 250136,
|
||||||
|
"p": 1
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"271084": [
|
||||||
|
{
|
||||||
|
"id": 271084,
|
||||||
|
"a": "attr",
|
||||||
|
"t": "nexp",
|
||||||
|
"n": 250367,
|
||||||
|
"p": 1
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"271085": [
|
||||||
|
{
|
||||||
|
"id": 271085,
|
||||||
|
"a": "attr",
|
||||||
|
"t": "nexp",
|
||||||
|
"n": 250598,
|
||||||
|
"p": 1
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"271086": [
|
||||||
|
{
|
||||||
|
"id": 271086,
|
||||||
|
"a": "attr",
|
||||||
|
"t": "nexp",
|
||||||
|
"n": 250829,
|
||||||
|
"p": 1
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"271087": [
|
||||||
|
{
|
||||||
|
"id": 271087,
|
||||||
|
"a": "attr",
|
||||||
|
"t": "nexp",
|
||||||
|
"n": 251060,
|
||||||
|
"p": 1
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"271088": [
|
||||||
|
{
|
||||||
|
"id": 271088,
|
||||||
|
"a": "attr",
|
||||||
|
"t": "nexp",
|
||||||
|
"n": 251291,
|
||||||
|
"p": 1
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"271089": [
|
||||||
|
{
|
||||||
|
"id": 271089,
|
||||||
|
"a": "attr",
|
||||||
|
"t": "nexp",
|
||||||
|
"n": 251522,
|
||||||
|
"p": 1
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"271090": [
|
||||||
|
{
|
||||||
|
"id": 271090,
|
||||||
|
"a": "attr",
|
||||||
|
"t": "nexp",
|
||||||
|
"n": 251753,
|
||||||
|
"p": 1
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"271091": [
|
||||||
|
{
|
||||||
|
"id": 271091,
|
||||||
|
"a": "attr",
|
||||||
|
"t": "nexp",
|
||||||
|
"n": 251984,
|
||||||
|
"p": 1
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"271092": [
|
||||||
|
{
|
||||||
|
"id": 271092,
|
||||||
|
"a": "attr",
|
||||||
|
"t": "nexp",
|
||||||
|
"n": 252215,
|
||||||
|
"p": 1
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"271093": [
|
||||||
|
{
|
||||||
|
"id": 271093,
|
||||||
|
"a": "attr",
|
||||||
|
"t": "nexp",
|
||||||
|
"n": 252446,
|
||||||
|
"p": 1
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"271094": [
|
||||||
|
{
|
||||||
|
"id": 271094,
|
||||||
|
"a": "attr",
|
||||||
|
"t": "nexp",
|
||||||
|
"n": 252677,
|
||||||
|
"p": 1
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"271095": [
|
||||||
|
{
|
||||||
|
"id": 271095,
|
||||||
|
"a": "attr",
|
||||||
|
"t": "nexp",
|
||||||
|
"n": 252908,
|
||||||
|
"p": 1
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"271096": [
|
||||||
|
{
|
||||||
|
"id": 271096,
|
||||||
|
"a": "attr",
|
||||||
|
"t": "nexp",
|
||||||
|
"n": 253139,
|
||||||
|
"p": 1
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"271097": [
|
||||||
|
{
|
||||||
|
"id": 271097,
|
||||||
|
"a": "attr",
|
||||||
|
"t": "nexp",
|
||||||
|
"n": 253370,
|
||||||
|
"p": 1
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"271098": [
|
||||||
|
{
|
||||||
|
"id": 271098,
|
||||||
|
"a": "attr",
|
||||||
|
"t": "nexp",
|
||||||
|
"n": 253601,
|
||||||
|
"p": 1
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"271099": [
|
||||||
|
{
|
||||||
|
"id": 271099,
|
||||||
|
"a": "attr",
|
||||||
|
"t": "nexp",
|
||||||
|
"n": 253832,
|
||||||
|
"p": 1
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"271100": [
|
||||||
|
{
|
||||||
|
"id": 271100,
|
||||||
|
"a": "attr",
|
||||||
|
"t": "nexp",
|
||||||
|
"n": 254063,
|
||||||
|
"p": 1
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"271101": [
|
||||||
|
{
|
||||||
|
"id": 271101,
|
||||||
|
"a": "attr",
|
||||||
|
"t": "nexp",
|
||||||
|
"n": 254294,
|
||||||
|
"p": 1
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"271102": [
|
||||||
|
{
|
||||||
|
"id": 271102,
|
||||||
|
"a": "attr",
|
||||||
|
"t": "nexp",
|
||||||
|
"n": 254525,
|
||||||
|
"p": 1
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"271103": [
|
||||||
|
{
|
||||||
|
"id": 271103,
|
||||||
|
"a": "attr",
|
||||||
|
"t": "nexp",
|
||||||
|
"n": 254756,
|
||||||
|
"p": 1
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"271104": [
|
||||||
|
{
|
||||||
|
"id": 271104,
|
||||||
|
"a": "attr",
|
||||||
|
"t": "nexp",
|
||||||
|
"n": 254987,
|
||||||
|
"p": 1
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"271105": [
|
||||||
|
{
|
||||||
|
"id": 271105,
|
||||||
|
"a": "attr",
|
||||||
|
"t": "nexp",
|
||||||
|
"n": 255218,
|
||||||
|
"p": 1
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"271106": [
|
||||||
|
{
|
||||||
|
"id": 271106,
|
||||||
|
"a": "attr",
|
||||||
|
"t": "nexp",
|
||||||
|
"n": 255449,
|
||||||
|
"p": 1
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"271107": [
|
||||||
|
{
|
||||||
|
"id": 271107,
|
||||||
|
"a": "attr",
|
||||||
|
"t": "nexp",
|
||||||
|
"n": 255680,
|
||||||
|
"p": 1
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"271108": [
|
||||||
|
{
|
||||||
|
"id": 271108,
|
||||||
|
"a": "attr",
|
||||||
|
"t": "nexp",
|
||||||
|
"n": 255911,
|
||||||
|
"p": 1
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"271109": [
|
||||||
|
{
|
||||||
|
"id": 271109,
|
||||||
|
"a": "attr",
|
||||||
|
"t": "nexp",
|
||||||
|
"n": 256142,
|
||||||
|
"p": 1
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"271110": [
|
||||||
|
{
|
||||||
|
"id": 271110,
|
||||||
|
"a": "attr",
|
||||||
|
"t": "nexp",
|
||||||
|
"n": 256373,
|
||||||
|
"p": 1
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"271111": [
|
||||||
|
{
|
||||||
|
"id": 271111,
|
||||||
|
"a": "attr",
|
||||||
|
"t": "nexp",
|
||||||
|
"n": 256604,
|
||||||
|
"p": 1
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"271112": [
|
||||||
|
{
|
||||||
|
"id": 271112,
|
||||||
|
"a": "attr",
|
||||||
|
"t": "nexp",
|
||||||
|
"n": 256835,
|
||||||
|
"p": 1
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"271113": [
|
||||||
|
{
|
||||||
|
"id": 271113,
|
||||||
|
"a": "attr",
|
||||||
|
"t": "nexp",
|
||||||
|
"n": 257066,
|
||||||
|
"p": 1
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"271114": [
|
||||||
|
{
|
||||||
|
"id": 271114,
|
||||||
|
"a": "attr",
|
||||||
|
"t": "nexp",
|
||||||
|
"n": 257297,
|
||||||
|
"p": 1
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"271115": [
|
||||||
|
{
|
||||||
|
"id": 271115,
|
||||||
|
"a": "attr",
|
||||||
|
"t": "nexp",
|
||||||
|
"n": 257528,
|
||||||
|
"p": 1
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"271116": [
|
||||||
|
{
|
||||||
|
"id": 271116,
|
||||||
|
"a": "attr",
|
||||||
|
"t": "nexp",
|
||||||
|
"n": 257759,
|
||||||
|
"p": 1
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"271117": [
|
||||||
|
{
|
||||||
|
"id": 271117,
|
||||||
|
"a": "attr",
|
||||||
|
"t": "nexp",
|
||||||
|
"n": 257990,
|
||||||
|
"p": 1
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"271118": [
|
||||||
|
{
|
||||||
|
"id": 271118,
|
||||||
|
"a": "attr",
|
||||||
|
"t": "nexp",
|
||||||
|
"n": 258221,
|
||||||
|
"p": 1
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"271119": [
|
||||||
|
{
|
||||||
|
"id": 271119,
|
||||||
|
"a": "attr",
|
||||||
|
"t": "nexp",
|
||||||
|
"n": 258452,
|
||||||
|
"p": 1
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"271120": [
|
||||||
|
{
|
||||||
|
"id": 271120,
|
||||||
|
"a": "attr",
|
||||||
|
"t": "nexp",
|
||||||
|
"n": 258683,
|
||||||
|
"p": 1
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"271121": [
|
||||||
|
{
|
||||||
|
"id": 271121,
|
||||||
|
"a": "attr",
|
||||||
|
"t": "nexp",
|
||||||
|
"n": 258914,
|
||||||
|
"p": 1
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"271122": [
|
||||||
|
{
|
||||||
|
"id": 271122,
|
||||||
|
"a": "attr",
|
||||||
|
"t": "nexp",
|
||||||
|
"n": 259145,
|
||||||
|
"p": 1
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"271123": [
|
||||||
|
{
|
||||||
|
"id": 271123,
|
||||||
|
"a": "attr",
|
||||||
|
"t": "nexp",
|
||||||
|
"n": 259376,
|
||||||
|
"p": 1
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"271124": [
|
||||||
|
{
|
||||||
|
"id": 271124,
|
||||||
|
"a": "attr",
|
||||||
|
"t": "nexp",
|
||||||
|
"n": 259607,
|
||||||
|
"p": 1
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"271125": [
|
||||||
|
{
|
||||||
|
"id": 271125,
|
||||||
|
"a": "attr",
|
||||||
|
"t": "nexp",
|
||||||
|
"n": 259838,
|
||||||
|
"p": 1
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"271126": [
|
||||||
|
{
|
||||||
|
"id": 271126,
|
||||||
|
"a": "attr",
|
||||||
|
"t": "nexp",
|
||||||
|
"n": 260069,
|
||||||
|
"p": 1
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"271127": [
|
||||||
|
{
|
||||||
|
"id": 271127,
|
||||||
|
"a": "attr",
|
||||||
|
"t": "nexp",
|
||||||
|
"n": 260300,
|
||||||
|
"p": 1
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"271128": [
|
||||||
|
{
|
||||||
|
"id": 271128,
|
||||||
|
"a": "attr",
|
||||||
|
"t": "nexp",
|
||||||
|
"n": 260531,
|
||||||
|
"p": 1
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"271129": [
|
||||||
|
{
|
||||||
|
"id": 271129,
|
||||||
|
"a": "attr",
|
||||||
|
"t": "nexp",
|
||||||
|
"n": 260762,
|
||||||
|
"p": 1
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"271130": [
|
||||||
|
{
|
||||||
|
"id": 271130,
|
||||||
|
"a": "attr",
|
||||||
|
"t": "nexp",
|
||||||
|
"n": 260993,
|
||||||
|
"p": 1
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"271131": [
|
||||||
|
{
|
||||||
|
"id": 271131,
|
||||||
|
"a": "attr",
|
||||||
|
"t": "nexp",
|
||||||
|
"n": 261224,
|
||||||
|
"p": 1
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"271132": [
|
||||||
|
{
|
||||||
|
"id": 271132,
|
||||||
|
"a": "attr",
|
||||||
|
"t": "nexp",
|
||||||
|
"n": 261455,
|
||||||
|
"p": 1
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"271133": [
|
||||||
|
{
|
||||||
|
"id": 271133,
|
||||||
|
"a": "attr",
|
||||||
|
"t": "nexp",
|
||||||
|
"n": 261686,
|
||||||
|
"p": 1
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"271134": [
|
||||||
|
{
|
||||||
|
"id": 271134,
|
||||||
|
"a": "attr",
|
||||||
|
"t": "nexp",
|
||||||
|
"n": 261917,
|
||||||
|
"p": 1
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"271135": [
|
||||||
|
{
|
||||||
|
"id": 271135,
|
||||||
|
"a": "attr",
|
||||||
|
"t": "nexp",
|
||||||
|
"n": 262148,
|
||||||
|
"p": 1
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"271136": [
|
||||||
|
{
|
||||||
|
"id": 271136,
|
||||||
|
"a": "attr",
|
||||||
|
"t": "nexp",
|
||||||
|
"n": 262379,
|
||||||
|
"p": 1
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"271137": [
|
||||||
|
{
|
||||||
|
"id": 271137,
|
||||||
|
"a": "attr",
|
||||||
|
"t": "nexp",
|
||||||
|
"n": 262610,
|
||||||
|
"p": 1
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"271138": [
|
||||||
|
{
|
||||||
|
"id": 271138,
|
||||||
|
"a": "attr",
|
||||||
|
"t": "nexp",
|
||||||
|
"n": 262841,
|
||||||
|
"p": 1
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"271139": [
|
||||||
|
{
|
||||||
|
"id": 271139,
|
||||||
|
"a": "attr",
|
||||||
|
"t": "nexp",
|
||||||
|
"n": 263072,
|
||||||
|
"p": 1
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"271140": [
|
||||||
|
{
|
||||||
|
"id": 271140,
|
||||||
|
"a": "attr",
|
||||||
|
"t": "nexp",
|
||||||
|
"n": 263303,
|
||||||
|
"p": 1
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"271141": [
|
||||||
|
{
|
||||||
|
"id": 271141,
|
||||||
|
"a": "attr",
|
||||||
|
"t": "nexp",
|
||||||
|
"n": 263534,
|
||||||
|
"p": 1
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"271142": [
|
||||||
|
{
|
||||||
|
"id": 271142,
|
||||||
|
"a": "attr",
|
||||||
|
"t": "nexp",
|
||||||
|
"n": 263765,
|
||||||
|
"p": 1
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"271143": [
|
||||||
|
{
|
||||||
|
"id": 271143,
|
||||||
|
"a": "attr",
|
||||||
|
"t": "nexp",
|
||||||
|
"n": 263996,
|
||||||
|
"p": 1
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"271144": [
|
||||||
|
{
|
||||||
|
"id": 271144,
|
||||||
|
"a": "attr",
|
||||||
|
"t": "nexp",
|
||||||
|
"n": 264227,
|
||||||
|
"p": 1
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"271145": [
|
||||||
|
{
|
||||||
|
"id": 271145,
|
||||||
|
"a": "attr",
|
||||||
|
"t": "nexp",
|
||||||
|
"n": 264458,
|
||||||
|
"p": 1
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"271146": [
|
||||||
|
{
|
||||||
|
"id": 271146,
|
||||||
|
"a": "attr",
|
||||||
|
"t": "nexp",
|
||||||
|
"n": 264689,
|
||||||
|
"p": 1
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"271147": [
|
||||||
|
{
|
||||||
|
"id": 271147,
|
||||||
|
"a": "attr",
|
||||||
|
"t": "nexp",
|
||||||
|
"n": 264920,
|
||||||
|
"p": 1
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"271148": [
|
||||||
|
{
|
||||||
|
"id": 271148,
|
||||||
|
"a": "attr",
|
||||||
|
"t": "nexp",
|
||||||
|
"n": 265151,
|
||||||
|
"p": 1
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"271149": [
|
||||||
|
{
|
||||||
|
"id": 271149,
|
||||||
|
"a": "attr",
|
||||||
|
"t": "nexp",
|
||||||
|
"n": 265382,
|
||||||
|
"p": 1
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"271150": [
|
||||||
|
{
|
||||||
|
"id": 271150,
|
||||||
|
"a": "attr",
|
||||||
|
"t": "nexp",
|
||||||
|
"n": 265613,
|
||||||
|
"p": 1
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"271151": [
|
||||||
|
{
|
||||||
|
"id": 271151,
|
||||||
|
"a": "attr",
|
||||||
|
"t": "nexp",
|
||||||
|
"n": 265844,
|
||||||
|
"p": 1
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"271152": [
|
||||||
|
{
|
||||||
|
"id": 271152,
|
||||||
|
"a": "attr",
|
||||||
|
"t": "nexp",
|
||||||
|
"n": 266075,
|
||||||
|
"p": 1
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"271153": [
|
||||||
|
{
|
||||||
|
"id": 271153,
|
||||||
|
"a": "attr",
|
||||||
|
"t": "nexp",
|
||||||
|
"n": 266306,
|
||||||
|
"p": 1
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"271154": [
|
||||||
|
{
|
||||||
|
"id": 271154,
|
||||||
|
"a": "attr",
|
||||||
|
"t": "nexp",
|
||||||
|
"n": 266537,
|
||||||
|
"p": 1
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"271155": [
|
||||||
|
{
|
||||||
|
"id": 271155,
|
||||||
|
"a": "attr",
|
||||||
|
"t": "nexp",
|
||||||
|
"n": 266768,
|
||||||
|
"p": 1
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"271156": [
|
||||||
|
{
|
||||||
|
"id": 271156,
|
||||||
|
"a": "attr",
|
||||||
|
"t": "nexp",
|
||||||
|
"n": 266999,
|
||||||
|
"p": 1
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"271157": [
|
||||||
|
{
|
||||||
|
"id": 271157,
|
||||||
|
"a": "attr",
|
||||||
|
"t": "nexp",
|
||||||
|
"n": 267230,
|
||||||
|
"p": 1
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"271158": [
|
||||||
|
{
|
||||||
|
"id": 271158,
|
||||||
|
"a": "attr",
|
||||||
|
"t": "nexp",
|
||||||
|
"n": 267461,
|
||||||
|
"p": 1
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"271159": [
|
||||||
|
{
|
||||||
|
"id": 271159,
|
||||||
|
"a": "attr",
|
||||||
|
"t": "nexp",
|
||||||
|
"n": 267692,
|
||||||
|
"p": 1
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"271160": [
|
||||||
|
{
|
||||||
|
"id": 271160,
|
||||||
|
"a": "attr",
|
||||||
|
"t": "nexp",
|
||||||
|
"n": 267923,
|
||||||
|
"p": 1
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"271161": [
|
||||||
|
{
|
||||||
|
"id": 271161,
|
||||||
|
"a": "attr",
|
||||||
|
"t": "nexp",
|
||||||
|
"n": 268154,
|
||||||
|
"p": 1
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"271162": [
|
||||||
|
{
|
||||||
|
"id": 271162,
|
||||||
|
"a": "attr",
|
||||||
|
"t": "nexp",
|
||||||
|
"n": 268385,
|
||||||
|
"p": 1
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"271163": [
|
||||||
|
{
|
||||||
|
"id": 271163,
|
||||||
|
"a": "attr",
|
||||||
|
"t": "nexp",
|
||||||
|
"n": 268616,
|
||||||
|
"p": 1
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"271164": [
|
||||||
|
{
|
||||||
|
"id": 271164,
|
||||||
|
"a": "attr",
|
||||||
|
"t": "nexp",
|
||||||
|
"n": 268847,
|
||||||
|
"p": 1
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"271165": [
|
||||||
|
{
|
||||||
|
"id": 271165,
|
||||||
|
"a": "attr",
|
||||||
|
"t": "nexp",
|
||||||
|
"n": 269078,
|
||||||
|
"p": 1
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"271166": [
|
||||||
|
{
|
||||||
|
"id": 271166,
|
||||||
|
"a": "attr",
|
||||||
|
"t": "nexp",
|
||||||
|
"n": 269309,
|
||||||
|
"p": 1
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"271167": [
|
||||||
|
{
|
||||||
|
"id": 271167,
|
||||||
|
"a": "attr",
|
||||||
|
"t": "nexp",
|
||||||
|
"n": 269540,
|
||||||
|
"p": 1
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"271168": [
|
||||||
|
{
|
||||||
|
"id": 271168,
|
||||||
|
"a": "attr",
|
||||||
|
"t": "nexp",
|
||||||
|
"n": 269771,
|
||||||
|
"p": 1
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"271169": [
|
||||||
|
{
|
||||||
|
"id": 271169,
|
||||||
|
"a": "attr",
|
||||||
|
"t": "nexp",
|
||||||
|
"n": 270002,
|
||||||
|
"p": 1
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"271170": [
|
||||||
|
{
|
||||||
|
"id": 271170,
|
||||||
|
"a": "attr",
|
||||||
|
"t": "nexp",
|
||||||
|
"n": 270233,
|
||||||
|
"p": 1
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"271171": [
|
||||||
|
{
|
||||||
|
"id": 271171,
|
||||||
|
"a": "attr",
|
||||||
|
"t": "nexp",
|
||||||
|
"n": 270464,
|
||||||
|
"p": 1
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"271172": [
|
||||||
|
{
|
||||||
|
"id": 271172,
|
||||||
|
"a": "attr",
|
||||||
|
"t": "nexp",
|
||||||
|
"n": 270695,
|
||||||
|
"p": 1
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"271173": [
|
||||||
|
{
|
||||||
|
"id": 271173,
|
||||||
|
"a": "attr",
|
||||||
|
"t": "nexp",
|
||||||
|
"n": 270926,
|
||||||
|
"p": 1
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"271174": [
|
||||||
|
{
|
||||||
|
"id": 271174,
|
||||||
|
"a": "attr",
|
||||||
|
"t": "nexp",
|
||||||
|
"n": 271157,
|
||||||
|
"p": 1
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"271175": [
|
||||||
|
{
|
||||||
|
"id": 271175,
|
||||||
|
"a": "attr",
|
||||||
|
"t": "nexp",
|
||||||
|
"n": 271388,
|
||||||
|
"p": 1
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"271176": [
|
||||||
|
{
|
||||||
|
"id": 271176,
|
||||||
|
"a": "attr",
|
||||||
|
"t": "nexp",
|
||||||
|
"n": 271619,
|
||||||
|
"p": 1
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"271177": [
|
||||||
|
{
|
||||||
|
"id": 271177,
|
||||||
|
"a": "attr",
|
||||||
|
"t": "nexp",
|
||||||
|
"n": 271850,
|
||||||
|
"p": 1
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"271178": [
|
||||||
|
{
|
||||||
|
"id": 271178,
|
||||||
|
"a": "attr",
|
||||||
|
"t": "nexp",
|
||||||
|
"n": 272081,
|
||||||
|
"p": 1
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"271179": [
|
||||||
|
{
|
||||||
|
"id": 271179,
|
||||||
|
"a": "attr",
|
||||||
|
"t": "nexp",
|
||||||
|
"n": 272312,
|
||||||
|
"p": 1
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"271180": [
|
||||||
|
{
|
||||||
|
"id": 271180,
|
||||||
|
"a": "attr",
|
||||||
|
"t": "nexp",
|
||||||
|
"n": 272543,
|
||||||
|
"p": 1
|
||||||
|
}
|
||||||
|
],
|
||||||
"280001": [
|
"280001": [
|
||||||
{
|
{
|
||||||
"id": 280001,
|
"id": 280001,
|
||||||
|
@ -2666,6 +2666,27 @@
|
|||||||
"rarity": 6
|
"rarity": 6
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"item^638": {
|
||||||
|
"itemId": "item^638",
|
||||||
|
"name": "扭蛋机超级干部随机箱",
|
||||||
|
"i18nKey": "intr_item_name_638",
|
||||||
|
"detailI18nKey": "intr_item_describe_638",
|
||||||
|
"iconUrl": "https://ik.imagekit.io/g123/production-ctw-box/game-box/preview/6ffd84658d75d5247f7f01b2f00ae3e6beda7163237c025ff8f0a58c.png",
|
||||||
|
"value": 30000,
|
||||||
|
"typeId": "item",
|
||||||
|
"typeName": "道具",
|
||||||
|
"isStoreSupported": true,
|
||||||
|
"isAiSupported": true,
|
||||||
|
"attributes": {
|
||||||
|
"storeDisplayPrice": null,
|
||||||
|
"storeCategory": "",
|
||||||
|
"setQuantity": 1,
|
||||||
|
"purchaseLimit": 0,
|
||||||
|
"sellMinCp": 100,
|
||||||
|
"sellMaxCp": 500,
|
||||||
|
"rarity": 6
|
||||||
|
}
|
||||||
|
},
|
||||||
"item^5001": {
|
"item^5001": {
|
||||||
"itemId": "item^5001",
|
"itemId": "item^5001",
|
||||||
"name": "莱薇碎片",
|
"name": "莱薇碎片",
|
||||||
|
@ -67,6 +67,57 @@
|
|||||||
}
|
}
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
|
"50012": {
|
||||||
|
"id": 50012,
|
||||||
|
"heroId": 5001,
|
||||||
|
"name": "heroSkin_name_8",
|
||||||
|
"undefined": "樱花之舞",
|
||||||
|
"model": 40071,
|
||||||
|
"card": 40071,
|
||||||
|
"head": 40071,
|
||||||
|
"colour": 4,
|
||||||
|
"zhuanhuan": [
|
||||||
|
{
|
||||||
|
"a": "item",
|
||||||
|
"t": "icon_pifucailiao_cheng",
|
||||||
|
"n": 10
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"50013": {
|
||||||
|
"id": 50013,
|
||||||
|
"heroId": 5001,
|
||||||
|
"name": "heroSkin_name_8",
|
||||||
|
"undefined": "樱花之舞",
|
||||||
|
"model": 40071,
|
||||||
|
"card": 40071,
|
||||||
|
"head": 40071,
|
||||||
|
"colour": 4,
|
||||||
|
"zhuanhuan": [
|
||||||
|
{
|
||||||
|
"a": "item",
|
||||||
|
"t": "icon_pifucailiao_cheng",
|
||||||
|
"n": 10
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"50014": {
|
||||||
|
"id": 50014,
|
||||||
|
"heroId": 5001,
|
||||||
|
"name": "heroSkin_name_8",
|
||||||
|
"undefined": "樱花之舞",
|
||||||
|
"model": 40071,
|
||||||
|
"card": 40071,
|
||||||
|
"head": 40071,
|
||||||
|
"colour": 4,
|
||||||
|
"zhuanhuan": [
|
||||||
|
{
|
||||||
|
"a": "item",
|
||||||
|
"t": "icon_pifucailiao_cheng",
|
||||||
|
"n": 10
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
"50021": {
|
"50021": {
|
||||||
"id": 50021,
|
"id": 50021,
|
||||||
"heroId": 5002,
|
"heroId": 5002,
|
||||||
|
@ -3244,16 +3244,16 @@
|
|||||||
hid: '5002',
|
hid: '5002',
|
||||||
//任务
|
//任务
|
||||||
task: [
|
task: [
|
||||||
{ idx: 0,total: 80, type: 'lv', prize: [{a: 'item', t: '1', n: 500000}], des:'intr_cszl_des_1'},
|
{ idx: 0,total: 80, type: 'lv', prize: [{a: 'item', t: '1', n: 500000}], des:'intr_cszl_des_2'},
|
||||||
{ idx: 1,total: 4, type: 'jieji', prize: [{a: 'item', t: '12', n: 500}], des:'intr_cszl_des_2' },
|
{ idx: 1,total: 4, type: 'jieji', prize: [{a: 'item', t: '12', n: 500}], des:'intr_cszl_des_1' },
|
||||||
{ idx: 2,total: 120, type: 'lv', prize: [{a: 'item', t: '1', n: 500000}], des:'intr_cszl_des_1' },
|
{ idx: 2,total: 120, type: 'lv', prize: [{a: 'item', t: '1', n: 500000}], des:'intr_cszl_des_2' },
|
||||||
{ idx: 3,total: 5, type: 'jieji', prize: [{a: 'item', t: '12', n: 1000}], des:'intr_cszl_des_2' },
|
{ idx: 3,total: 5, type: 'jieji', prize: [{a: 'item', t: '12', n: 1000}], des:'intr_cszl_des_1' },
|
||||||
{ idx: 4,total: 160, type: 'lv', prize: [{a: 'item', t: '1', n: 800000}], des:'intr_cszl_des_1' },
|
{ idx: 4,total: 160, type: 'lv', prize: [{a: 'item', t: '1', n: 800000}], des:'intr_cszl_des_2' },
|
||||||
{ idx: 5,total: 6, type: 'jieji', prize: [{a: 'item', t: '12', n: 1500}], des:'intr_cszl_des_2' },
|
{ idx: 5,total: 6, type: 'jieji', prize: [{a: 'item', t: '12', n: 1500}], des:'intr_cszl_des_1' },
|
||||||
{ idx: 6,total: 200, type: 'lv', prize: [{a: 'item', t: '1', n: 1200000}], des:'intr_cszl_des_1' },
|
{ idx: 6,total: 200, type: 'lv', prize: [{a: 'item', t: '1', n: 1200000}], des:'intr_cszl_des_2' },
|
||||||
{ idx: 7,total: 7, type: 'jieji', prize: [{a: 'item', t: '12', n: 2000}], des:'intr_cszl_des_2' },
|
{ idx: 7,total: 7, type: 'jieji', prize: [{a: 'item', t: '12', n: 2000}], des:'intr_cszl_des_1' },
|
||||||
{ idx: 8,total: 240, type: 'lv', prize: [{a: 'item', t: '1', n: 2000000}], des:'intr_cszl_des_1' },
|
{ idx: 8,total: 240, type: 'lv', prize: [{a: 'item', t: '1', n: 2000000}], des:'intr_cszl_des_2' },
|
||||||
{ idx: 9,total: 8, type: 'jieji', prize: [{a: 'item', t: '5002', n: 20}], des:'intr_cszl_des_2' }
|
{ idx: 9,total: 8, type: 'jieji', prize: [{a: 'item', t: '5002', n: 20}], des:'intr_cszl_des_1' }
|
||||||
],
|
],
|
||||||
//宝箱
|
//宝箱
|
||||||
box: { total: 10, prize: [{a: 'item', t: '610', n: 1}] }
|
box: { total: 10, prize: [{a: 'item', t: '610', n: 1}] }
|
||||||
@ -3275,16 +3275,16 @@
|
|||||||
hid: '5004',
|
hid: '5004',
|
||||||
//任务
|
//任务
|
||||||
task: [
|
task: [
|
||||||
{ idx: 0,total: 100, type: 'lv', prize: [{a: 'item', t: '1', n: 500000}], des:'intr_cszl_des_1'},
|
{ idx: 0,total: 100, type: 'lv', prize: [{a: 'item', t: '1', n: 500000}], des:'intr_cszl_des_2'},
|
||||||
{ idx: 1,total: 5, type: 'jieji', prize: [{a: 'item', t: '12', n: 500}], des:'intr_cszl_des_2' },
|
{ idx: 1,total: 5, type: 'jieji', prize: [{a: 'item', t: '12', n: 500}], des:'intr_cszl_des_1' },
|
||||||
{ idx: 2,total: 140, type: 'lv', prize: [{a: 'item', t: '1', n: 500000}], des:'intr_cszl_des_1' },
|
{ idx: 2,total: 140, type: 'lv', prize: [{a: 'item', t: '1', n: 500000}], des:'intr_cszl_des_2' },
|
||||||
{ idx: 3,total: 6, type: 'jieji', prize: [{a: 'item', t: '12', n: 1000}], des:'intr_cszl_des_2' },
|
{ idx: 3,total: 6, type: 'jieji', prize: [{a: 'item', t: '12', n: 1000}], des:'intr_cszl_des_1' },
|
||||||
{ idx: 4,total: 180, type: 'lv', prize: [{a: 'item', t: '1', n: 800000}], des:'intr_cszl_des_1' },
|
{ idx: 4,total: 180, type: 'lv', prize: [{a: 'item', t: '1', n: 800000}], des:'intr_cszl_des_2' },
|
||||||
{ idx: 5,total: 7, type: 'jieji', prize: [{a: 'item', t: '12', n: 1500}], des:'intr_cszl_des_2' },
|
{ idx: 5,total: 7, type: 'jieji', prize: [{a: 'item', t: '12', n: 1500}], des:'intr_cszl_des_1' },
|
||||||
{ idx: 6,total: 220, type: 'lv', prize: [{a: 'item', t: '1', n: 1200000}], des:'intr_cszl_des_1' },
|
{ idx: 6,total: 220, type: 'lv', prize: [{a: 'item', t: '1', n: 1200000}], des:'intr_cszl_des_2' },
|
||||||
{ idx: 7,total: 8, type: 'jieji', prize: [{a: 'item', t: '12', n: 2000}], des:'intr_cszl_des_2' },
|
{ idx: 7,total: 8, type: 'jieji', prize: [{a: 'item', t: '12', n: 2000}], des:'intr_cszl_des_1' },
|
||||||
{ idx: 8,total: 260, type: 'lv', prize: [{a: 'item', t: '1', n: 2000000}], des:'intr_cszl_des_1' },
|
{ idx: 8,total: 260, type: 'lv', prize: [{a: 'item', t: '1', n: 2000000}], des:'intr_cszl_des_2' },
|
||||||
{ idx: 9,total: 9, type: 'jieji', prize: [{a: 'item', t: '5004', n: 20}], des:'intr_cszl_des_2' }
|
{ idx: 9,total: 9, type: 'jieji', prize: [{a: 'item', t: '5004', n: 20}], des:'intr_cszl_des_1' }
|
||||||
],
|
],
|
||||||
//宝箱
|
//宝箱
|
||||||
box: { total: 10, prize: [{a: 'item', t: '610', n: 1}] }
|
box: { total: 10, prize: [{a: 'item', t: '610', n: 1}] }
|
||||||
@ -5356,7 +5356,8 @@
|
|||||||
//展示干部皮肤ID
|
//展示干部皮肤ID
|
||||||
"show": 1,
|
"show": 1,
|
||||||
//任务
|
//任务
|
||||||
"task" : {
|
"task" : [
|
||||||
|
{
|
||||||
"day1" :
|
"day1" :
|
||||||
{
|
{
|
||||||
"1": {
|
"1": {
|
||||||
@ -5620,8 +5621,9 @@
|
|||||||
}
|
}
|
||||||
],
|
],
|
||||||
"des" : "intr_cszl_des_9"
|
"des" : "intr_cszl_des_9"
|
||||||
|
}
|
||||||
},
|
},
|
||||||
},
|
{
|
||||||
"day2" :
|
"day2" :
|
||||||
{
|
{
|
||||||
"1": {
|
"1": {
|
||||||
@ -5652,6 +5654,7 @@
|
|||||||
}
|
}
|
||||||
],
|
],
|
||||||
"des" : "intr_cszl_des_1"
|
"des" : "intr_cszl_des_1"
|
||||||
|
}
|
||||||
},
|
},
|
||||||
"2": {
|
"2": {
|
||||||
"pval" : 300,
|
"pval" : 300,
|
||||||
@ -5884,8 +5887,9 @@
|
|||||||
}
|
}
|
||||||
],
|
],
|
||||||
"des" : "intr_cszl_des_9"
|
"des" : "intr_cszl_des_9"
|
||||||
|
}
|
||||||
},
|
},
|
||||||
},
|
{
|
||||||
"day3" :
|
"day3" :
|
||||||
{
|
{
|
||||||
"1": {
|
"1": {
|
||||||
@ -5916,6 +5920,7 @@
|
|||||||
}
|
}
|
||||||
],
|
],
|
||||||
"des" : "intr_cszl_des_1"
|
"des" : "intr_cszl_des_1"
|
||||||
|
}
|
||||||
},
|
},
|
||||||
"2": {
|
"2": {
|
||||||
"pval" : 300,
|
"pval" : 300,
|
||||||
@ -6148,8 +6153,9 @@
|
|||||||
}
|
}
|
||||||
],
|
],
|
||||||
"des" : "intr_cszl_des_9"
|
"des" : "intr_cszl_des_9"
|
||||||
|
}
|
||||||
},
|
},
|
||||||
},
|
{
|
||||||
"day4" :
|
"day4" :
|
||||||
{
|
{
|
||||||
"1": {
|
"1": {
|
||||||
@ -6180,6 +6186,7 @@
|
|||||||
}
|
}
|
||||||
],
|
],
|
||||||
"des" : "intr_cszl_des_1"
|
"des" : "intr_cszl_des_1"
|
||||||
|
}
|
||||||
},
|
},
|
||||||
"2": {
|
"2": {
|
||||||
"pval" : 300,
|
"pval" : 300,
|
||||||
@ -6412,8 +6419,9 @@
|
|||||||
}
|
}
|
||||||
],
|
],
|
||||||
"des" : "intr_cszl_des_9"
|
"des" : "intr_cszl_des_9"
|
||||||
|
}
|
||||||
},
|
},
|
||||||
},
|
{
|
||||||
"day5" :
|
"day5" :
|
||||||
{
|
{
|
||||||
"1": {
|
"1": {
|
||||||
@ -6444,6 +6452,7 @@
|
|||||||
}
|
}
|
||||||
],
|
],
|
||||||
"des" : "intr_cszl_des_1"
|
"des" : "intr_cszl_des_1"
|
||||||
|
}
|
||||||
},
|
},
|
||||||
"2": {
|
"2": {
|
||||||
"pval" : 300,
|
"pval" : 300,
|
||||||
@ -6676,537 +6685,9 @@
|
|||||||
}
|
}
|
||||||
],
|
],
|
||||||
"des" : "intr_cszl_des_9"
|
"des" : "intr_cszl_des_9"
|
||||||
},
|
}
|
||||||
},
|
|
||||||
"day6" :
|
|
||||||
{
|
|
||||||
"1": {
|
|
||||||
"pval" : 1,
|
|
||||||
"stype" : "128",
|
|
||||||
"cond": [],
|
|
||||||
"tiaozhuan": 4,
|
|
||||||
"prize" : [
|
|
||||||
{
|
|
||||||
"a" : "attr",
|
|
||||||
"t" : "shengdanExp",
|
|
||||||
"n" : 100
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"a" : "attr",
|
|
||||||
"t" : "shengdanBullet",
|
|
||||||
"n" : 2
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"a" : "attr",
|
|
||||||
"t" : "rmbmoney",
|
|
||||||
"n" : 200
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"a" : "item",
|
|
||||||
"t" : "1",
|
|
||||||
"n" : 100000
|
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"des" : "intr_cszl_des_1"
|
|
||||||
},
|
|
||||||
"2": {
|
|
||||||
"pval" : 300,
|
|
||||||
"stype" : "116",
|
|
||||||
"cond": [],
|
|
||||||
"tiaozhuan": 5,
|
|
||||||
"prize" : [
|
|
||||||
{
|
|
||||||
"a" : "attr",
|
|
||||||
"t" : "shengdanExp",
|
|
||||||
"n" : 200
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"a" : "attr",
|
|
||||||
"t" : "shengdanBullet",
|
|
||||||
"n" : 3
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"a" : "item",
|
|
||||||
"t" : "600",
|
|
||||||
"n" : 5
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"a" : "item",
|
|
||||||
"t" : "1",
|
|
||||||
"n" : 500000
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"des" : "intr_cszl_des_2"
|
|
||||||
},
|
|
||||||
"3": {
|
|
||||||
"pval" : 1000,
|
|
||||||
"stype" : "116",
|
|
||||||
"cond": [],
|
|
||||||
"tiaozhuan": 2,
|
|
||||||
"prize" : [
|
|
||||||
{
|
|
||||||
"a" : "attr",
|
|
||||||
"t" : "shengdanExp",
|
|
||||||
"n" : 300
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"a" : "attr",
|
|
||||||
"t" : "shengdanBullet",
|
|
||||||
"n" : 5
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"a" : "item",
|
|
||||||
"t" : "600",
|
|
||||||
"n" : 10
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"a" : "item",
|
|
||||||
"t" : "1",
|
|
||||||
"n" : 1000000
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"des" : "intr_cszl_des_3"
|
|
||||||
},
|
|
||||||
"4": {
|
|
||||||
"pval" : 2000,
|
|
||||||
"stype" : "116",
|
|
||||||
"cond": [],
|
|
||||||
"tiaozhuan": 1,
|
|
||||||
"prize" : [
|
|
||||||
{
|
|
||||||
"a" : "attr",
|
|
||||||
"t" : "shengdanExp",
|
|
||||||
"n" : 150
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"a" : "attr",
|
|
||||||
"t" : "shengdanBullet",
|
|
||||||
"n" : 2
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"a" : "item",
|
|
||||||
"t" : "6",
|
|
||||||
"n" : 10
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"a" : "item",
|
|
||||||
"t" : "1",
|
|
||||||
"n" : 200000
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"des" : "intr_cszl_des_4"
|
|
||||||
},
|
|
||||||
"5": {
|
|
||||||
"pval" : 3,
|
|
||||||
"stype" : "142",
|
|
||||||
"cond": [2],
|
|
||||||
"tiaozhuan": 6,
|
|
||||||
"prize" : [
|
|
||||||
{
|
|
||||||
"a" : "attr",
|
|
||||||
"t" : "shengdanExp",
|
|
||||||
"n" : 100
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"a" : "attr",
|
|
||||||
"t" : "shengdanBullet",
|
|
||||||
"n" : 2
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"a" : "item",
|
|
||||||
"t" : "2",
|
|
||||||
"n" : 500
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"a" : "item",
|
|
||||||
"t" : "1",
|
|
||||||
"n" : 200000
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"des" : "intr_cszl_des_5"
|
|
||||||
},
|
|
||||||
"6": {
|
|
||||||
"pval" : 3,
|
|
||||||
"stype" : "122",
|
|
||||||
"cond": [],
|
|
||||||
"tiaozhuan": 7,
|
|
||||||
"prize" : [
|
|
||||||
{
|
|
||||||
"a" : "attr",
|
|
||||||
"t" : "shengdanExp",
|
|
||||||
"n" : 200
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"a" : "attr",
|
|
||||||
"t" : "shengdanBullet",
|
|
||||||
"n" : 2
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"a" : "item",
|
|
||||||
"t" : "12",
|
|
||||||
"n" : 400
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"a" : "item",
|
|
||||||
"t" : "1",
|
|
||||||
"n" : 200000
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"des" : "intr_cszl_des_6"
|
|
||||||
},
|
|
||||||
"7": {
|
|
||||||
"pval" : 1,
|
|
||||||
"stype" : "155",
|
|
||||||
"cond": [],
|
|
||||||
"tiaozhuan": 8,
|
|
||||||
"prize" : [
|
|
||||||
{
|
|
||||||
"a" : "attr",
|
|
||||||
"t" : "shengdanExp",
|
|
||||||
"n" : 100
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"a" : "attr",
|
|
||||||
"t" : "shengdanBullet",
|
|
||||||
"n" : 2
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"a" : "attr",
|
|
||||||
"t" : "rmbmoney",
|
|
||||||
"n" : 200
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"a" : "item",
|
|
||||||
"t" : "1",
|
|
||||||
"n" : 100000
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"des" : "intr_cszl_des_7"
|
|
||||||
},
|
|
||||||
"8": {
|
|
||||||
"pval" : 1,
|
|
||||||
"stype" : "127",
|
|
||||||
"cond": [],
|
|
||||||
"tiaozhuan": 10,
|
|
||||||
"prize" : [
|
|
||||||
{
|
|
||||||
"a" : "attr",
|
|
||||||
"t" : "shengdanExp",
|
|
||||||
"n" : 100
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"a" : "attr",
|
|
||||||
"t" : "shengdanBullet",
|
|
||||||
"n" : 2
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"a" : "item",
|
|
||||||
"t" : "21",
|
|
||||||
"n" : 50
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"a" : "item",
|
|
||||||
"t" : "1",
|
|
||||||
"n" : 100000
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"des" : "intr_cszl_des_8"
|
|
||||||
},
|
|
||||||
"9": {
|
|
||||||
"pval" : 1,
|
|
||||||
"stype" : "154",
|
|
||||||
"cond": [],
|
|
||||||
"tiaozhuan": 11,
|
|
||||||
"prize" : [
|
|
||||||
{
|
|
||||||
"a" : "attr",
|
|
||||||
"t" : "shengdanExp",
|
|
||||||
"n" : 100
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"a" : "attr",
|
|
||||||
"t" : "shengdanBullet",
|
|
||||||
"n" : 2
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"a" : "attr",
|
|
||||||
"t" : "jinbi",
|
|
||||||
"n" : 100000
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"a" : "item",
|
|
||||||
"t" : "1",
|
|
||||||
"n" : 100000
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"des" : "intr_cszl_des_9"
|
|
||||||
},
|
|
||||||
},
|
|
||||||
"day7" :
|
|
||||||
{
|
|
||||||
"1": {
|
|
||||||
"pval" : 1,
|
|
||||||
"stype" : "128",
|
|
||||||
"cond": [],
|
|
||||||
"tiaozhuan": 4,
|
|
||||||
"prize" : [
|
|
||||||
{
|
|
||||||
"a" : "attr",
|
|
||||||
"t" : "shengdanExp",
|
|
||||||
"n" : 100
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"a" : "attr",
|
|
||||||
"t" : "shengdanBullet",
|
|
||||||
"n" : 2
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"a" : "attr",
|
|
||||||
"t" : "rmbmoney",
|
|
||||||
"n" : 200
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"a" : "item",
|
|
||||||
"t" : "1",
|
|
||||||
"n" : 100000
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"des" : "intr_cszl_des_1"
|
|
||||||
},
|
|
||||||
"2": {
|
|
||||||
"pval" : 300,
|
|
||||||
"stype" : "116",
|
|
||||||
"cond": [],
|
|
||||||
"tiaozhuan": 5,
|
|
||||||
"prize" : [
|
|
||||||
{
|
|
||||||
"a" : "attr",
|
|
||||||
"t" : "shengdanExp",
|
|
||||||
"n" : 200
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"a" : "attr",
|
|
||||||
"t" : "shengdanBullet",
|
|
||||||
"n" : 3
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"a" : "item",
|
|
||||||
"t" : "600",
|
|
||||||
"n" : 5
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"a" : "item",
|
|
||||||
"t" : "1",
|
|
||||||
"n" : 500000
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"des" : "intr_cszl_des_2"
|
|
||||||
},
|
|
||||||
"3": {
|
|
||||||
"pval" : 1000,
|
|
||||||
"stype" : "116",
|
|
||||||
"cond": [],
|
|
||||||
"tiaozhuan": 2,
|
|
||||||
"prize" : [
|
|
||||||
{
|
|
||||||
"a" : "attr",
|
|
||||||
"t" : "shengdanExp",
|
|
||||||
"n" : 300
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"a" : "attr",
|
|
||||||
"t" : "shengdanBullet",
|
|
||||||
"n" : 5
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"a" : "item",
|
|
||||||
"t" : "600",
|
|
||||||
"n" : 10
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"a" : "item",
|
|
||||||
"t" : "1",
|
|
||||||
"n" : 1000000
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"des" : "intr_cszl_des_3"
|
|
||||||
},
|
|
||||||
"4": {
|
|
||||||
"pval" : 2000,
|
|
||||||
"stype" : "116",
|
|
||||||
"cond": [],
|
|
||||||
"tiaozhuan": 1,
|
|
||||||
"prize" : [
|
|
||||||
{
|
|
||||||
"a" : "attr",
|
|
||||||
"t" : "shengdanExp",
|
|
||||||
"n" : 150
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"a" : "attr",
|
|
||||||
"t" : "shengdanBullet",
|
|
||||||
"n" : 2
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"a" : "item",
|
|
||||||
"t" : "6",
|
|
||||||
"n" : 10
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"a" : "item",
|
|
||||||
"t" : "1",
|
|
||||||
"n" : 200000
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"des" : "intr_cszl_des_4"
|
|
||||||
},
|
|
||||||
"5": {
|
|
||||||
"pval" : 3,
|
|
||||||
"stype" : "142",
|
|
||||||
"cond": [2],
|
|
||||||
"tiaozhuan": 6,
|
|
||||||
"prize" : [
|
|
||||||
{
|
|
||||||
"a" : "attr",
|
|
||||||
"t" : "shengdanExp",
|
|
||||||
"n" : 100
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"a" : "attr",
|
|
||||||
"t" : "shengdanBullet",
|
|
||||||
"n" : 2
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"a" : "item",
|
|
||||||
"t" : "2",
|
|
||||||
"n" : 500
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"a" : "item",
|
|
||||||
"t" : "1",
|
|
||||||
"n" : 200000
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"des" : "intr_cszl_des_5"
|
|
||||||
},
|
|
||||||
"6": {
|
|
||||||
"pval" : 3,
|
|
||||||
"stype" : "122",
|
|
||||||
"cond": [],
|
|
||||||
"tiaozhuan": 7,
|
|
||||||
"prize" : [
|
|
||||||
{
|
|
||||||
"a" : "attr",
|
|
||||||
"t" : "shengdanExp",
|
|
||||||
"n" : 200
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"a" : "attr",
|
|
||||||
"t" : "shengdanBullet",
|
|
||||||
"n" : 2
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"a" : "item",
|
|
||||||
"t" : "12",
|
|
||||||
"n" : 400
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"a" : "item",
|
|
||||||
"t" : "1",
|
|
||||||
"n" : 200000
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"des" : "intr_cszl_des_6"
|
|
||||||
},
|
|
||||||
"7": {
|
|
||||||
"pval" : 1,
|
|
||||||
"stype" : "155",
|
|
||||||
"cond": [],
|
|
||||||
"tiaozhuan": 8,
|
|
||||||
"prize" : [
|
|
||||||
{
|
|
||||||
"a" : "attr",
|
|
||||||
"t" : "shengdanExp",
|
|
||||||
"n" : 100
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"a" : "attr",
|
|
||||||
"t" : "shengdanBullet",
|
|
||||||
"n" : 2
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"a" : "attr",
|
|
||||||
"t" : "rmbmoney",
|
|
||||||
"n" : 200
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"a" : "item",
|
|
||||||
"t" : "1",
|
|
||||||
"n" : 100000
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"des" : "intr_cszl_des_7"
|
|
||||||
},
|
|
||||||
"8": {
|
|
||||||
"pval" : 1,
|
|
||||||
"stype" : "127",
|
|
||||||
"cond": [],
|
|
||||||
"tiaozhuan": 10,
|
|
||||||
"prize" : [
|
|
||||||
{
|
|
||||||
"a" : "attr",
|
|
||||||
"t" : "shengdanExp",
|
|
||||||
"n" : 100
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"a" : "attr",
|
|
||||||
"t" : "shengdanBullet",
|
|
||||||
"n" : 2
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"a" : "item",
|
|
||||||
"t" : "21",
|
|
||||||
"n" : 50
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"a" : "item",
|
|
||||||
"t" : "1",
|
|
||||||
"n" : 100000
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"des" : "intr_cszl_des_8"
|
|
||||||
},
|
|
||||||
"9": {
|
|
||||||
"pval" : 1,
|
|
||||||
"stype" : "154",
|
|
||||||
"cond": [],
|
|
||||||
"tiaozhuan": 11,
|
|
||||||
"prize" : [
|
|
||||||
{
|
|
||||||
"a" : "attr",
|
|
||||||
"t" : "shengdanExp",
|
|
||||||
"n" : 100
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"a" : "attr",
|
|
||||||
"t" : "shengdanBullet",
|
|
||||||
"n" : 2
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"a" : "attr",
|
|
||||||
"t" : "jinbi",
|
|
||||||
"n" : 100000
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"a" : "item",
|
|
||||||
"t" : "1",
|
|
||||||
"n" : 100000
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"des" : "intr_cszl_des_9"
|
|
||||||
},
|
|
||||||
}
|
|
||||||
},
|
|
||||||
//抽卡
|
//抽卡
|
||||||
"chouka": [
|
"chouka": [
|
||||||
//P是权重
|
//P是权重
|
||||||
@ -7394,4 +6875,5 @@
|
|||||||
//boss排行邮件内容
|
//boss排行邮件内容
|
||||||
"bossRank_des": "email_content_hqjg_rank"
|
"bossRank_des": "email_content_hqjg_rank"
|
||||||
}
|
}
|
||||||
|
}
|
||||||
]
|
]
|
1614
src/json/npc.json
1614
src/json/npc.json
File diff suppressed because it is too large
Load Diff
@ -3470,7 +3470,7 @@
|
|||||||
"conversion": [],
|
"conversion": [],
|
||||||
"buff": [
|
"buff": [
|
||||||
"baoshangpro",
|
"baoshangpro",
|
||||||
3
|
0.03
|
||||||
],
|
],
|
||||||
"suit": 8,
|
"suit": 8,
|
||||||
"rmPrize": [
|
"rmPrize": [
|
||||||
|
@ -4,7 +4,7 @@
|
|||||||
//开放时间
|
//开放时间
|
||||||
openTime: [0, 514800],
|
openTime: [0, 514800],
|
||||||
//结算定时器时间
|
//结算定时器时间
|
||||||
schedulerPrize: 511500,
|
schedulerPrize: 515100,
|
||||||
//分组定时器时间
|
//分组定时器时间
|
||||||
schedulerGroup: 0,
|
schedulerGroup: 0,
|
||||||
//据点
|
//据点
|
||||||
|
File diff suppressed because it is too large
Load Diff
@ -1402,5 +1402,135 @@
|
|||||||
],
|
],
|
||||||
"chapter": 14,
|
"chapter": 14,
|
||||||
"des": "intr_guanqia_des_1"
|
"des": "intr_guanqia_des_1"
|
||||||
|
},
|
||||||
|
"109": {
|
||||||
|
"id": 109,
|
||||||
|
"mapId": 1090,
|
||||||
|
"prize": [
|
||||||
|
{
|
||||||
|
"a": "attr",
|
||||||
|
"t": "rmbmoney",
|
||||||
|
"n": 100
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"chapter": 14,
|
||||||
|
"des": "intr_guanqia_des_1"
|
||||||
|
},
|
||||||
|
"110": {
|
||||||
|
"id": 110,
|
||||||
|
"mapId": 1100,
|
||||||
|
"prize": [
|
||||||
|
{
|
||||||
|
"a": "attr",
|
||||||
|
"t": "rmbmoney",
|
||||||
|
"n": 100
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"chapter": 14,
|
||||||
|
"des": "intr_guanqia_des_1"
|
||||||
|
},
|
||||||
|
"111": {
|
||||||
|
"id": 111,
|
||||||
|
"mapId": 1110,
|
||||||
|
"prize": [
|
||||||
|
{
|
||||||
|
"a": "attr",
|
||||||
|
"t": "rmbmoney",
|
||||||
|
"n": 100
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"chapter": 14,
|
||||||
|
"des": "intr_guanqia_des_1"
|
||||||
|
},
|
||||||
|
"112": {
|
||||||
|
"id": 112,
|
||||||
|
"mapId": 1120,
|
||||||
|
"prize": [
|
||||||
|
{
|
||||||
|
"a": "attr",
|
||||||
|
"t": "rmbmoney",
|
||||||
|
"n": 100
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"chapter": 14,
|
||||||
|
"des": "intr_guanqia_des_1"
|
||||||
|
},
|
||||||
|
"113": {
|
||||||
|
"id": 113,
|
||||||
|
"mapId": 1130,
|
||||||
|
"prize": [
|
||||||
|
{
|
||||||
|
"a": "item",
|
||||||
|
"t": "4",
|
||||||
|
"n": 5
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"chapter": 14,
|
||||||
|
"des": "intr_guanqia_des_1"
|
||||||
|
},
|
||||||
|
"114": {
|
||||||
|
"id": 114,
|
||||||
|
"mapId": 1140,
|
||||||
|
"prize": [
|
||||||
|
{
|
||||||
|
"a": "attr",
|
||||||
|
"t": "rmbmoney",
|
||||||
|
"n": 100
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"chapter": 14,
|
||||||
|
"des": "intr_guanqia_des_1"
|
||||||
|
},
|
||||||
|
"115": {
|
||||||
|
"id": 115,
|
||||||
|
"mapId": 1150,
|
||||||
|
"prize": [
|
||||||
|
{
|
||||||
|
"a": "attr",
|
||||||
|
"t": "rmbmoney",
|
||||||
|
"n": 100
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"chapter": 14,
|
||||||
|
"des": "intr_guanqia_des_1"
|
||||||
|
},
|
||||||
|
"116": {
|
||||||
|
"id": 116,
|
||||||
|
"mapId": 1160,
|
||||||
|
"prize": [
|
||||||
|
{
|
||||||
|
"a": "attr",
|
||||||
|
"t": "rmbmoney",
|
||||||
|
"n": 100
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"chapter": 14,
|
||||||
|
"des": "intr_guanqia_des_1"
|
||||||
|
},
|
||||||
|
"117": {
|
||||||
|
"id": 117,
|
||||||
|
"mapId": 1170,
|
||||||
|
"prize": [
|
||||||
|
{
|
||||||
|
"a": "attr",
|
||||||
|
"t": "rmbmoney",
|
||||||
|
"n": 100
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"chapter": 14,
|
||||||
|
"des": "intr_guanqia_des_1"
|
||||||
|
},
|
||||||
|
"118": {
|
||||||
|
"id": 118,
|
||||||
|
"mapId": 1180,
|
||||||
|
"prize": [
|
||||||
|
{
|
||||||
|
"a": "item",
|
||||||
|
"t": "4",
|
||||||
|
"n": 5
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"chapter": 14,
|
||||||
|
"des": "intr_guanqia_des_1"
|
||||||
}
|
}
|
||||||
}
|
}
|
3102
src/json/task.json
3102
src/json/task.json
File diff suppressed because it is too large
Load Diff
3
src/oss/blackapi.json
Normal file
3
src/oss/blackapi.json
Normal file
@ -0,0 +1,3 @@
|
|||||||
|
[
|
||||||
|
|
||||||
|
]
|
@ -1,9 +1,33 @@
|
|||||||
|
import { PublicShared } from "../../shared/public/public";
|
||||||
|
|
||||||
|
|
||||||
export class ActionLog {
|
export class ActionLog {
|
||||||
static async initDayLog(uid: string) {
|
/**
|
||||||
G.mongodb.cActionLog('day').updateOne({ uid: uid, type: 'day' }, { $set: { log: {} } }, { upsert: true });
|
* 每天0点的时候,重置所有的统计数据
|
||||||
|
*/
|
||||||
|
static async initAllDayLog() {
|
||||||
|
await G.mongodb.cActionLog('day').updateMany({type: 'day' }, {
|
||||||
|
$set: {
|
||||||
|
log: {},
|
||||||
|
//增加刷新时间
|
||||||
|
lastTime: PublicShared.getToDayZeroTime(G.time)
|
||||||
}
|
}
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 重置某个玩家的统计信息
|
||||||
|
* @param uid
|
||||||
|
*/
|
||||||
|
// static async initDayLog(uid: string) {
|
||||||
|
// G.mongodb.cActionLog('day').updateOne({ uid: uid, type: 'day' }, {
|
||||||
|
// $set: {
|
||||||
|
// log: {},
|
||||||
|
// //增加刷新时间
|
||||||
|
// lastTime: PublicShared.getToDayZeroTime(G.time)
|
||||||
|
// }
|
||||||
|
// }, { upsert: true });
|
||||||
|
// }
|
||||||
static async addDayLog(uid: string, ...args: { key: string, val: number; }[]) {
|
static async addDayLog(uid: string, ...args: { key: string, val: number; }[]) {
|
||||||
const addObj = G.mongodb.createTreeObj(...args.map(a => { return { key: 'log', k: a.key, val: a.val }; }));
|
const addObj = G.mongodb.createTreeObj(...args.map(a => { return { key: 'log', k: a.key, val: a.val }; }));
|
||||||
G.mongodb.cActionLog('day').updateOne({ uid: uid, type: 'day' }, { $inc: addObj });
|
G.mongodb.cActionLog('day').updateOne({ uid: uid, type: 'day' }, { $inc: addObj });
|
||||||
|
@ -4,11 +4,14 @@ import { Wjjl } from "../../module/collection_wjjl";
|
|||||||
import { ZhanLingTasks } from "../zhanling";
|
import { ZhanLingTasks } from "../zhanling";
|
||||||
import { setGud } from '../gud';
|
import { setGud } from '../gud';
|
||||||
import { EmailFun } from '../email';
|
import { EmailFun } from '../email';
|
||||||
|
import { ActionLog } from '../actionLog/actionLog';
|
||||||
|
import { clusterFun } from '../../clusterFunction';
|
||||||
|
import { clusterRunOnce } from '../../clusterUtils';
|
||||||
|
|
||||||
|
|
||||||
export class SchedulerNewDayLocalCtor extends Scheduler {
|
export class SchedulerNewDayLocalCtor extends Scheduler {
|
||||||
id: schedulerType = 'newDay_local_ctor';
|
id: schedulerType = 'newDay_local_ctor';
|
||||||
time = 0;
|
time = 1;
|
||||||
name = '定时推送跨天通知';
|
name = '定时推送跨天通知';
|
||||||
type: 'day' | 'week' = 'day';
|
type: 'day' | 'week' = 'day';
|
||||||
|
|
||||||
@ -23,6 +26,41 @@ export class SchedulerNewDayLocalCtor extends Scheduler {
|
|||||||
}
|
}
|
||||||
|
|
||||||
async start() {
|
async start() {
|
||||||
|
|
||||||
|
clusterRunOnce(async ()=>{
|
||||||
|
//这个定时器会被每个进程都启动,这是这部分逻辑,应该只执行1次
|
||||||
|
|
||||||
|
//重置所有的ActionLog
|
||||||
|
await ActionLog.initAllDayLog();
|
||||||
|
|
||||||
|
// 每周一,发放终身卡
|
||||||
|
(async () => {
|
||||||
|
if (PublicShared.getWeek(G.time) == 1) {
|
||||||
|
let logs = await G.mongodb.collection("payLogNew").find(
|
||||||
|
{ key: "zhongshenka", del_time: { $exists: false } }, { projection: { _id: 0, } }
|
||||||
|
).toArray();
|
||||||
|
|
||||||
|
if (logs.length == 0) {
|
||||||
|
console.log("没有终身卡数据,不发放终身卡");
|
||||||
|
}
|
||||||
|
let con = G.gc.payEmail.zhongshenka.filter(e => e.day == 7)[0];
|
||||||
|
for (let i = 0; i < logs.length; i++) {
|
||||||
|
console.log("发放终身卡", logs[i].uid);
|
||||||
|
// 发送邮件
|
||||||
|
EmailFun.addEmail({
|
||||||
|
uid: logs[i].uid,
|
||||||
|
type: "system",
|
||||||
|
title: con.title,
|
||||||
|
content: con.content,
|
||||||
|
contentInsertArr: [],
|
||||||
|
createTime: G.time,
|
||||||
|
prize:con.prize,
|
||||||
|
})
|
||||||
|
}
|
||||||
|
}
|
||||||
|
})()
|
||||||
|
})
|
||||||
|
|
||||||
let users = Object.values(G.server.uid_connections)
|
let users = Object.values(G.server.uid_connections)
|
||||||
if (users.length) {
|
if (users.length) {
|
||||||
for (let item of users) {
|
for (let item of users) {
|
||||||
@ -56,34 +94,6 @@ export class SchedulerNewDayLocalCtor extends Scheduler {
|
|||||||
G.server.broadcastClusterMsg('msg_s2c/NewDay', { time: this.zeroTime });
|
G.server.broadcastClusterMsg('msg_s2c/NewDay', { time: this.zeroTime });
|
||||||
}
|
}
|
||||||
|
|
||||||
(async () => {
|
await this.record();
|
||||||
// 每周一,发放终身卡
|
|
||||||
if (PublicShared.getWeek(G.time) != 1) {
|
|
||||||
console.log("不是周一,不发放终身卡", PublicShared.getWeek(G.time));
|
|
||||||
return
|
|
||||||
};
|
|
||||||
|
|
||||||
let logs = await G.mongodb.collection("payLogNew").find(
|
|
||||||
{ key: "zhongshenka", del_time: { $exists: false } }, { projection: { _id: 0, } }
|
|
||||||
).toArray();
|
|
||||||
|
|
||||||
if (logs.length == 0) {
|
|
||||||
console.log("没有终身卡数据,不发放终身卡");
|
|
||||||
}
|
|
||||||
let con = G.gc.payEmail.zhongshenka.filter(e => e.day == 7)[0];
|
|
||||||
for (let i = 0; i < logs.length; i++) {
|
|
||||||
console.log("发放终身卡", logs[i].uid);
|
|
||||||
// 发送邮件
|
|
||||||
EmailFun.addEmail({
|
|
||||||
uid: logs[i].uid,
|
|
||||||
type: "system",
|
|
||||||
title: con.title,
|
|
||||||
content: con.content,
|
|
||||||
contentInsertArr: [],
|
|
||||||
createTime: G.time,
|
|
||||||
prize:con.prize,
|
|
||||||
})
|
|
||||||
}
|
|
||||||
})()
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
import {PublicShared} from '../../shared/public/public';
|
import { PublicShared } from '../../shared/public/public';
|
||||||
import {Scheduler, schedulerType} from './scheduler';
|
import { Scheduler, schedulerType } from './scheduler';
|
||||||
|
|
||||||
|
|
||||||
export class SchedulerZhanLing extends Scheduler {
|
export class SchedulerZhanLing extends Scheduler {
|
||||||
@ -12,12 +12,12 @@ export class SchedulerZhanLing extends Scheduler {
|
|||||||
this.isReady = false;
|
this.isReady = false;
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
let data = await this.db.findOne({type: this.id});
|
let data = await this.db.findOne({ type: this.id });
|
||||||
if (!data) {
|
if (!data) {
|
||||||
// 开服时间整除战令周期
|
// 开服时间整除战令周期
|
||||||
let round = Math.floor(PublicShared.getOpenServerDay() / G.gc.zhanling.eventOpen.day)
|
let round = Math.floor((PublicShared.getOpenServerDay() - 1) / G.gc.zhanling.eventOpen.day)
|
||||||
let prev_run_time = PublicShared.getToDayZeroTime(G.openTime) + round * G.gc.zhanling.eventOpen.day * 86400
|
let prev_run_time = PublicShared.getToDayZeroTime(G.openTime) + round * G.gc.zhanling.eventOpen.day * 86400
|
||||||
this.db.updateOne({type: this.id}, {$set: {lastRunTime: prev_run_time, round: round}}, {upsert: true});
|
this.db.updateOne({ type: this.id }, { $set: { lastRunTime: prev_run_time, round: round } }, { upsert: true });
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!data || G.time > PublicShared.getToDayZeroTime(data.lastRunTime) + 24 * 3600 * G.gc.zhanling.eventOpen.day) {
|
if (!data || G.time > PublicShared.getToDayZeroTime(data.lastRunTime) + 24 * 3600 * G.gc.zhanling.eventOpen.day) {
|
||||||
@ -33,11 +33,11 @@ export class SchedulerZhanLing extends Scheduler {
|
|||||||
// 开服时间整除战令周期
|
// 开服时间整除战令周期
|
||||||
let round = Math.floor(PublicShared.getOpenServerDay() / G.gc.zhanling.eventOpen.day)
|
let round = Math.floor(PublicShared.getOpenServerDay() / G.gc.zhanling.eventOpen.day)
|
||||||
// lastRunTime仅储存最大值,问题记录: 本地多人启动服务时,有调用此定时器的情况下,时间会混乱。
|
// lastRunTime仅储存最大值,问题记录: 本地多人启动服务时,有调用此定时器的情况下,时间会混乱。
|
||||||
await this.db.updateOne({type: this.id}, {$set: {round: round}, $max: {lastRunTime: G.time}}, {upsert: true});
|
await this.db.updateOne({ type: this.id }, { $set: { round: round }, $max: { lastRunTime: G.time } }, { upsert: true });
|
||||||
|
|
||||||
this.startTime = PublicShared.getToDayZeroTime() + 24 * 3600 * G.gc.zhanling.eventOpen.day;
|
this.startTime = PublicShared.getToDayZeroTime() + 24 * 3600 * G.gc.zhanling.eventOpen.day;
|
||||||
this.isStart = false;
|
this.isStart = false;
|
||||||
|
|
||||||
G.mongodb.collection('zhanling').updateMany({type: 'round'}, {$set: {data: {}}});
|
G.mongodb.collection('zhanling').updateMany({ type: 'round' }, { $set: { data: {} } });
|
||||||
}
|
}
|
||||||
}
|
}
|
@ -1,9 +1,10 @@
|
|||||||
import {ApiCall, ApiReturn} from "tsrpc";
|
import { ApiCall, ApiReturn } from "tsrpc";
|
||||||
import {HongDianChange} from "../api_s2c/hongdian/fun";
|
import { HongDianChange } from "../api_s2c/hongdian/fun";
|
||||||
import {taskType} from "../shared/protocols/task/type";
|
import { taskType } from "../shared/protocols/task/type";
|
||||||
import {PublicShared} from "../shared/public/public";
|
import { PublicShared } from "../shared/public/public";
|
||||||
import {PeijianFun} from "./peijian";
|
import { PeijianFun } from "./peijian";
|
||||||
import {manager} from "./taskclass";
|
import { manager } from "./taskclass";
|
||||||
|
import ApiRecTask from "../api_s2c/event/zhanling/ApiRecTask";
|
||||||
|
|
||||||
let taskDict = {};
|
let taskDict = {};
|
||||||
const SHUJUKU = "task";
|
const SHUJUKU = "task";
|
||||||
@ -114,7 +115,7 @@ export class TaskFun {
|
|||||||
let _taskCon = await this.getTaskConByType(_task["type"], _task["taskid"]);
|
let _taskCon = await this.getTaskConByType(_task["type"], _task["taskid"]);
|
||||||
if (!_taskCon || Object.keys(_taskCon).length == 0) {
|
if (!_taskCon || Object.keys(_taskCon).length == 0) {
|
||||||
// 策划改了任务 找不到 自动删除任务
|
// 策划改了任务 找不到 自动删除任务
|
||||||
await G.mongodb.collection(SHUJUKU).deleteMany({uid: call.uid, taskid: _task["taskid"]});
|
await G.mongodb.collection(SHUJUKU).deleteMany({ uid: call.uid, taskid: _task["taskid"] });
|
||||||
continue
|
continue
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -142,12 +143,12 @@ export class TaskFun {
|
|||||||
// 任务值上限检测
|
// 任务值上限检测
|
||||||
_resVal = _resVal > _pval ? _pval : _resVal;
|
_resVal = _resVal > _pval ? _pval : _resVal;
|
||||||
// 设置任务
|
// 设置任务
|
||||||
let _setData = {nval: _resVal};
|
let _setData = { nval: _resVal };
|
||||||
let _where = {taskid: _task["taskid"]};
|
let _where = { taskid: _task["taskid"] };
|
||||||
await this.setTask(uid, _where, _setData);
|
await this.setTask(uid, _where, _setData);
|
||||||
|
|
||||||
if (_resVal == _pval) {
|
if (_resVal == _pval) {
|
||||||
G.server.sendMsgByUid(call.uid, 'msg_s2c/TaskChange', {..._task, nval: _resVal})
|
G.server.sendMsgByUid(call.uid, 'msg_s2c/TaskChange', { ..._task, nval: _resVal })
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -187,7 +188,7 @@ export class TaskFun {
|
|||||||
// 重置每日任务
|
// 重置每日任务
|
||||||
if (ttype == 1 || ttype == 4) {
|
if (ttype == 1 || ttype == 4) {
|
||||||
let _zero = PublicShared.getToDayZeroTime(G.time);
|
let _zero = PublicShared.getToDayZeroTime(G.time);
|
||||||
let _where = {retime: {$gte: _zero, $lte: _zero + 24 * 60 * 60 - 1}, type: ttype};
|
let _where = { retime: { $gte: _zero, $lte: _zero + 24 * 60 * 60 - 1 }, type: ttype };
|
||||||
let _tmp = await this.getUserTaksList(call.uid, _where);
|
let _tmp = await this.getUserTaksList(call.uid, _where);
|
||||||
if (_tmp.length == 0) await this.resetDailyTask(call, ttype);
|
if (_tmp.length == 0) await this.resetDailyTask(call, ttype);
|
||||||
}
|
}
|
||||||
@ -197,7 +198,7 @@ export class TaskFun {
|
|||||||
* 重置每日任务
|
* 重置每日任务
|
||||||
*/
|
*/
|
||||||
static async resetDailyTask(call: ApiCall, type: number = 1) {
|
static async resetDailyTask(call: ApiCall, type: number = 1) {
|
||||||
await this.delTasks(call.uid, {type: type});
|
await this.delTasks(call.uid, { type: type });
|
||||||
// 该限制改到红点检测判断,避免此处注释后,红点检测与账号创建初始化任务并发。
|
// 该限制改到红点检测判断,避免此处注释后,红点检测与账号创建初始化任务并发。
|
||||||
// if (PublicShared.chkSameDate(call.conn.gud.cTime, G.time)) return;
|
// if (PublicShared.chkSameDate(call.conn.gud.cTime, G.time)) return;
|
||||||
let _taskCons = await this.getTaskConsByType(type);
|
let _taskCons = await this.getTaskConsByType(type);
|
||||||
@ -236,7 +237,7 @@ export class TaskFun {
|
|||||||
static async getFinishByStype(call: ApiCall, stype: number, where: {}) {
|
static async getFinishByStype(call: ApiCall, stype: number, where: {}) {
|
||||||
// 任务刷新
|
// 任务刷新
|
||||||
await this.refreshTask(call);
|
await this.refreshTask(call);
|
||||||
Object.assign(where, {stype: stype});
|
Object.assign(where, { stype: stype });
|
||||||
let _r = await this.getUserTaksList(call.uid, where);
|
let _r = await this.getUserTaksList(call.uid, where);
|
||||||
return _r;
|
return _r;
|
||||||
}
|
}
|
||||||
@ -255,11 +256,33 @@ export class TaskFun {
|
|||||||
// Object.assign(where, { type: { $in: ttype } })
|
// Object.assign(where, { type: { $in: ttype } })
|
||||||
for (let index = 0; index < ttype.length; index++) {
|
for (let index = 0; index < ttype.length; index++) {
|
||||||
const _type = ttype[index];
|
const _type = ttype[index];
|
||||||
Object.assign(_w, {type: _type, ...where});
|
Object.assign(_w, { type: _type, ...where });
|
||||||
if (_finishType.indexOf(_type) != -1) {
|
if (_finishType.indexOf(_type) != -1) {
|
||||||
delete _w["finish"];
|
delete _w["finish"];
|
||||||
}
|
}
|
||||||
let _tmp = await this.getUserTaksList(call.uid, _w);
|
let _tmp = await this.getUserTaksList(call.uid, _w);
|
||||||
|
// 没有未完成任务
|
||||||
|
// 检测是否有新加任务
|
||||||
|
if (_tmp.length == 0) {
|
||||||
|
let rectask = (await G.mongodb.collection('task').find(
|
||||||
|
{ uid: call.uid, type: _type }, { projection: { taskid: 1, _id: 0 } }
|
||||||
|
).toArray()).map(e => e.taskid);
|
||||||
|
|
||||||
|
for (let taskid of rectask) {
|
||||||
|
let conf = G.gc.task[_type][taskid];
|
||||||
|
// 配置不存在
|
||||||
|
// 没有后续任务
|
||||||
|
// 后续任务已完成
|
||||||
|
if (!conf || !conf.followtask || rectask.includes(conf.followtask)) {
|
||||||
|
continue
|
||||||
|
}
|
||||||
|
|
||||||
|
// 生成后续任务
|
||||||
|
await this.setTaskInfo(call, conf.followtask, { type: _type });
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
_tmp = await this.getUserTaksList(call.uid, _w);
|
||||||
|
}
|
||||||
_r[_type] = _tmp;
|
_r[_type] = _tmp;
|
||||||
}
|
}
|
||||||
return _r;
|
return _r;
|
||||||
@ -313,7 +336,7 @@ export class TaskFun {
|
|||||||
* @param call
|
* @param call
|
||||||
*/
|
*/
|
||||||
static async updateMainTask(call: ApiCall) {
|
static async updateMainTask(call: ApiCall) {
|
||||||
let data = await G.mongodb.collection(SHUJUKU).findOne({uid: call.uid, type: 2, finish: 0});
|
let data = await G.mongodb.collection(SHUJUKU).findOne({ uid: call.uid, type: 2, finish: 0 });
|
||||||
|
|
||||||
let _ftaskCon = await TaskFun.getTaskConByType(2, data.taskid);
|
let _ftaskCon = await TaskFun.getTaskConByType(2, data.taskid);
|
||||||
// @ts-ignore
|
// @ts-ignore
|
||||||
@ -324,14 +347,14 @@ export class TaskFun {
|
|||||||
type: 2,
|
type: 2,
|
||||||
finish: 0,
|
finish: 0,
|
||||||
taskid: data.taskid
|
taskid: data.taskid
|
||||||
}, {$set: {...newTask, nval: data.nval || newTask.nval, retime: data.retime,}}, {upsert: true})
|
}, { $set: { ...newTask, nval: data.nval || newTask.nval, retime: data.retime, } }, { upsert: true })
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 生成所有任务
|
* 生成所有任务
|
||||||
*/
|
*/
|
||||||
static async generateAllTask(call: ApiCall) {
|
static async generateAllTask(call: ApiCall) {
|
||||||
let _r = await G.mongodb.collection(SHUJUKU).count({uid: call.uid});
|
let _r = await G.mongodb.collection(SHUJUKU).count({ uid: call.uid });
|
||||||
if (_r > 0) return;
|
if (_r > 0) return;
|
||||||
let _taskInfo = [];
|
let _taskInfo = [];
|
||||||
let _con = G.gc.task;
|
let _con = G.gc.task;
|
||||||
@ -352,7 +375,7 @@ export class TaskFun {
|
|||||||
/**生成指定类型任务-初始化 */
|
/**生成指定类型任务-初始化 */
|
||||||
static async reInitTask(call: ApiCall, type: string) {
|
static async reInitTask(call: ApiCall, type: string) {
|
||||||
// 查询类型任务是否存在
|
// 查询类型任务是否存在
|
||||||
let _r = await G.mongodb.collection(SHUJUKU).count({uid: call.uid, type: ~~type});
|
let _r = await G.mongodb.collection(SHUJUKU).count({ uid: call.uid, type: ~~type });
|
||||||
let _taskInfo = [];
|
let _taskInfo = [];
|
||||||
if (_r == 0) {
|
if (_r == 0) {
|
||||||
let _con = G.gc.task;
|
let _con = G.gc.task;
|
||||||
@ -374,7 +397,7 @@ export class TaskFun {
|
|||||||
*/
|
*/
|
||||||
static async getUserTaksList(uid: string, where: {}) {
|
static async getUserTaksList(uid: string, where: {}) {
|
||||||
// type : 1 主线 2 成就 3 每日
|
// type : 1 主线 2 成就 3 每日
|
||||||
Object.assign(where, {uid: uid});
|
Object.assign(where, { uid: uid });
|
||||||
let _taskInfo = await G.mongodb.collection(SHUJUKU).find(where).toArray();
|
let _taskInfo = await G.mongodb.collection(SHUJUKU).find(where).toArray();
|
||||||
_taskInfo.forEach(e => {
|
_taskInfo.forEach(e => {
|
||||||
if (e._id) delete e._id;
|
if (e._id) delete e._id;
|
||||||
@ -386,7 +409,7 @@ export class TaskFun {
|
|||||||
* 删除相关任务
|
* 删除相关任务
|
||||||
*/
|
*/
|
||||||
static async delTasks(uid: string, where: { type: number; }) {
|
static async delTasks(uid: string, where: { type: number; }) {
|
||||||
Object.assign(where, {uid: uid});
|
Object.assign(where, { uid: uid });
|
||||||
await G.mongodb.collection(SHUJUKU).deleteMany(where);
|
await G.mongodb.collection(SHUJUKU).deleteMany(where);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -420,8 +443,8 @@ export class TaskFun {
|
|||||||
if (Object.keys(setData).length == 0) {
|
if (Object.keys(setData).length == 0) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
Object.assign(where, {uid});
|
Object.assign(where, { uid });
|
||||||
setData = {$set: setData};
|
setData = { $set: setData };
|
||||||
await G.mongodb.collection(SHUJUKU).updateOne(where, setData);
|
await G.mongodb.collection(SHUJUKU).updateOne(where, setData);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -445,7 +468,7 @@ export class TaskFun {
|
|||||||
if ((element == "1" || element == "3") && call.conn.gud.lv < 7) continue;
|
if ((element == "1" || element == "3") && call.conn.gud.lv < 7) continue;
|
||||||
let _values: number[] = _ttype[element];
|
let _values: number[] = _ttype[element];
|
||||||
let _where: {} = {
|
let _where: {} = {
|
||||||
uid: call.uid, type: {$in: _values}, finish: 0, '$expr': {
|
uid: call.uid, type: { $in: _values }, finish: 0, '$expr': {
|
||||||
$lte: ["$pval", "$nval"]
|
$lte: ["$pval", "$nval"]
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
@ -537,7 +560,7 @@ export class TaskAllEmitFun {
|
|||||||
uid: node.call.conn.uid,
|
uid: node.call.conn.uid,
|
||||||
type: 'usertasklog'
|
type: 'usertasklog'
|
||||||
},
|
},
|
||||||
{$set: {maxherolv: _val}});
|
{ $set: { maxherolv: _val } });
|
||||||
}
|
}
|
||||||
// 干部等级达到 n 级
|
// 干部等级达到 n 级
|
||||||
G.emit("Class_task_106", 'Class_task_106', node.call, _val, 0);
|
G.emit("Class_task_106", 'Class_task_106', node.call, _val, 0);
|
||||||
@ -583,7 +606,7 @@ export class TaskAllEmitFun {
|
|||||||
uid: node.call.conn.uid,
|
uid: node.call.conn.uid,
|
||||||
type: 'usertasklog'
|
type: 'usertasklog'
|
||||||
},
|
},
|
||||||
{$set: {maxequiplv: _val}});
|
{ $set: { maxequiplv: _val } });
|
||||||
}
|
}
|
||||||
G.emit("Class_task_112", 'Class_task_112', node.call, _val, 0);
|
G.emit("Class_task_112", 'Class_task_112', node.call, _val, 0);
|
||||||
// 有 n 件强化 配置 等级装备 后面复写正确值
|
// 有 n 件强化 配置 等级装备 后面复写正确值
|
||||||
@ -607,7 +630,7 @@ export class TaskAllEmitFun {
|
|||||||
uid: node.call.conn.uid,
|
uid: node.call.conn.uid,
|
||||||
type: 'usertasklog'
|
type: 'usertasklog'
|
||||||
},
|
},
|
||||||
{$set: {maxequiplv: _val}});
|
{ $set: { maxequiplv: _val } });
|
||||||
}
|
}
|
||||||
// 有 n 件强化 配置 等级装备 后面复写正确值
|
// 有 n 件强化 配置 等级装备 后面复写正确值
|
||||||
G.emit("Class_task_113", 'Class_task_113', node.call, 0, 0);
|
G.emit("Class_task_113", 'Class_task_113', node.call, 0, 0);
|
||||||
@ -625,7 +648,7 @@ export class TaskAllEmitFun {
|
|||||||
uid: node.call.conn.uid,
|
uid: node.call.conn.uid,
|
||||||
type: 'usertasklog'
|
type: 'usertasklog'
|
||||||
},
|
},
|
||||||
{$inc: G.mongodb.createTreeObj({key: `herocolor.${_color}`, val: 1})});
|
{ $inc: G.mongodb.createTreeObj({ key: `herocolor.${_color}`, val: 1 }) });
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -651,7 +674,7 @@ export class TaskAllEmitFun {
|
|||||||
await G.mongodb.collection('playerInfo', 'usertasklog').updateOne({
|
await G.mongodb.collection('playerInfo', 'usertasklog').updateOne({
|
||||||
uid: node.call.uid,
|
uid: node.call.uid,
|
||||||
type: 'usertasklog'
|
type: 'usertasklog'
|
||||||
}, {$set: {equipcolor: usertasklog.equipcolor}})
|
}, { $set: { equipcolor: usertasklog.equipcolor } })
|
||||||
}
|
}
|
||||||
// if (node.call.service.name == 'chongzhi/Open' && node.return.isSucc) {
|
// if (node.call.service.name == 'chongzhi/Open' && node.return.isSucc) {
|
||||||
// // 累计充值 n 钻石 数量后面复写
|
// // 累计充值 n 钻石 数量后面复写
|
||||||
@ -693,7 +716,7 @@ export class TaskAllEmitFun {
|
|||||||
uid: node.call.conn.uid,
|
uid: node.call.conn.uid,
|
||||||
type: 'usertasklog'
|
type: 'usertasklog'
|
||||||
},
|
},
|
||||||
{$set: {friendAsk: _val}});
|
{ $set: { friendAsk: _val } });
|
||||||
G.emit("Class_task_144", 'Class_task_144', node.call, 1, 0);
|
G.emit("Class_task_144", 'Class_task_144', node.call, 1, 0);
|
||||||
}
|
}
|
||||||
if (node.call.service.name == 'tanxian/FastGuaJi' && node.return.isSucc) {
|
if (node.call.service.name == 'tanxian/FastGuaJi' && node.return.isSucc) {
|
||||||
@ -852,7 +875,7 @@ export class TaskAllEmitFun {
|
|||||||
uid: node.call.conn.uid,
|
uid: node.call.conn.uid,
|
||||||
type: 'usertasklog'
|
type: 'usertasklog'
|
||||||
});
|
});
|
||||||
let _setData = {$set: {}}; // 更新配件记录
|
let _setData = { $set: {} }; // 更新配件记录
|
||||||
|
|
||||||
let peijianCon = G.gc.peijian;
|
let peijianCon = G.gc.peijian;
|
||||||
let _lv = 0;
|
let _lv = 0;
|
||||||
|
41
src/setWs.ts
41
src/setWs.ts
@ -47,6 +47,12 @@ export async function createWs() {
|
|||||||
|
|
||||||
G.argv.serverType == 'msg' && G.config.corssWsUrl && await createWsClient();
|
G.argv.serverType == 'msg' && G.config.corssWsUrl && await createWsClient();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**每分钟刷新一次黑名单API接口 */
|
||||||
|
setInterval(()=>{
|
||||||
|
getBlackList();
|
||||||
|
},60000);
|
||||||
|
getBlackList();
|
||||||
}
|
}
|
||||||
|
|
||||||
function getWssFile() {
|
function getWssFile() {
|
||||||
@ -63,6 +69,21 @@ function getWssFile() {
|
|||||||
}
|
}
|
||||||
|
|
||||||
const writeList = ['hongdian/Get']
|
const writeList = ['hongdian/Get']
|
||||||
|
/**当前锁定的API接口 */
|
||||||
|
let blackApi = [];
|
||||||
|
|
||||||
|
async function getBlackList(){
|
||||||
|
let confFile = resolve(__dirname, 'oss/blackapi.json');
|
||||||
|
if (existsSync(confFile)) {
|
||||||
|
try {
|
||||||
|
blackApi = await JSON.parse(readFileSync(confFile, 'utf-8'));
|
||||||
|
} catch (e) {
|
||||||
|
blackApi = [];
|
||||||
|
}
|
||||||
|
}else{
|
||||||
|
blackApi = [];
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
function setWs(server: WsServer<ServiceType>) {
|
function setWs(server: WsServer<ServiceType>) {
|
||||||
|
|
||||||
@ -101,15 +122,17 @@ function setWs(server: WsServer<ServiceType>) {
|
|||||||
|
|
||||||
//执行 API 接口实现之前
|
//执行 API 接口实现之前
|
||||||
server.flows.preApiCallFlow.push(async call => {
|
server.flows.preApiCallFlow.push(async call => {
|
||||||
// 临时停服维护方案
|
//判断是否是被关闭的API
|
||||||
// let lng = {
|
if (blackApi.includes(call.service.name) || blackApi.includes("all")) {
|
||||||
// "zh-TW": "停服維護中,請等待!",
|
let lng = {
|
||||||
// "ko": "서버 점검 중, 잠시만 기다려 주세요.",
|
"zh-TW": "維護中,請等待",
|
||||||
// "ja": "サーバーメンテナンス中、しばらくお待ちください。",
|
"ko": "유지 보수 중, 대기 중",
|
||||||
// "en": "Server under maintenance. Please wait.",
|
"ja": "メンテナンス中ですので、お待ちください",
|
||||||
// }
|
"en": "Maintenance in progress, please wait",
|
||||||
// call.error("", {code: -1, message: lng[call.req.lng] || lng["ja"]})
|
}
|
||||||
// return null;
|
call.error("", {code: -1, message: lng[call.req.lng] || lng["ja"]})
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
|
||||||
//是否短时间内重复请求某个api
|
//是否短时间内重复请求某个api
|
||||||
// let timeIntervalLimit = call.service.conf?.timeIntervalLimit == undefined ? 500 : call.service.conf?.timeIntervalLimit;
|
// let timeIntervalLimit = call.service.conf?.timeIntervalLimit == undefined ? 500 : call.service.conf?.timeIntervalLimit;
|
||||||
|
Loading…
Reference in New Issue
Block a user