feat: 月报(菲林统计)

This commit is contained in:
bietiaop 2024-10-03 03:19:14 +08:00
parent 90f7957559
commit c4d6d8a988
20 changed files with 768 additions and 28 deletions

View file

@ -90,19 +90,23 @@ export default class MysZZZApi extends MysApi {
if (query) url += `?${query}`;
// 如果传入了 query 参数,将 query 参数拼接到 url 上
if (data.query) {
// 拼接 query
let str = '';
for (let key in data.query) {
if (data.query[key] === undefined) continue;
else if (data.query[key] === null) str += `${key}&`;
else if (Array.isArray(data.query[key])) {
data.query[key].forEach(item => {
str += `${key}[]=${item}&`;
});
} else str += `${key}=${data.query[key]}&`;
if (typeof data.query === 'object') {
// 拼接 query
for (let key in data.query) {
if (data.query[key] === undefined) continue;
else if (data.query[key] === null) str += `${key}&`;
else if (Array.isArray(data.query[key])) {
data.query[key].forEach(item => {
str += `${key}[]=${item}&`;
});
} else str += `${key}=${data.query[key]}&`;
}
// 去除最后一个 &
str = str.slice(0, -1);
} else {
str = String(data.query);
}
// 去除最后一个 &
str = str.slice(0, -1);
// 拼接到 url 上
if (url.includes('?')) {
url += `&${str}`;
@ -141,16 +145,19 @@ export default class MysZZZApi extends MysApi {
headers['x-rpc-device_model'] = modelName;
headers['x-rpc-csm_source'] = 'myself';
// 国际服不需要绑定设备,故写入的'User-Agent'为国服
headers['User-Agent'] =
`Mozilla/5.0 (Linux; Android ${osVersion}; ${modelName} Build/${deviceDisplay}; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/124.0.6367.179 Mobile Safari/537.36 miHoYoBBS/2.73.1`;
headers[
'User-Agent'
] = `Mozilla/5.0 (Linux; Android ${osVersion}; ${modelName} Build/${deviceDisplay}; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/124.0.6367.179 Mobile Safari/537.36 miHoYoBBS/2.73.1`;
} catch (error) {
logger.error(`[ZZZ]设备信息解析失败:${error.message}`);
}
} else {
const deviceCfg = settings.getConfig('device');
const defDeviceCfg = settings.getdefSet('device');
const modelName = _.get(deviceCfg, 'modelName') ?? _.get(defDeviceCfg, 'modelName');
const deviceInfo = _.get(deviceCfg, 'deviceInfo') ?? _.get(defDeviceCfg, 'deviceInfo');
const modelName =
_.get(deviceCfg, 'modelName') ?? _.get(defDeviceCfg, 'modelName');
const deviceInfo =
_.get(deviceCfg, 'deviceInfo') ?? _.get(defDeviceCfg, 'deviceInfo');
const deviceBrand = deviceInfo.split('/')[0];
try {
headers['x-rpc-device_name'] = `${deviceBrand} ${modelName}`;
@ -234,14 +241,16 @@ export default class MysZZZApi extends MysApi {
// 此处为默认设备信息绑定设备信息已在getUrl中写入
const deviceCfg = settings.getConfig('device');
const defDeviceCfg = settings.getdefSet('device');
const osVersion = _.get(deviceCfg, 'osVersion') ?? _.get(defDeviceCfg, 'osVersion');
const modelName = _.get(deviceCfg, 'modelName') ?? _.get(defDeviceCfg, 'modelName');
const deviceInfo = _.get(deviceCfg, 'deviceInfo') ?? _.get(defDeviceCfg, 'deviceInfo');
const osVersion =
_.get(deviceCfg, 'osVersion') ?? _.get(defDeviceCfg, 'osVersion');
const modelName =
_.get(deviceCfg, 'modelName') ?? _.get(defDeviceCfg, 'modelName');
const deviceInfo =
_.get(deviceCfg, 'deviceInfo') ?? _.get(defDeviceCfg, 'deviceInfo');
const deviceDisplay = deviceInfo.split('/')[3];
const cn = {
app_version: '2.73.1',
User_Agent:
`Mozilla/5.0 (Linux; Android ${osVersion}; ${modelName} Build/${deviceDisplay}; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/124.0.6367.179 Mobile Safari/537.36 miHoYoBBS/2.73.1`,
User_Agent: `Mozilla/5.0 (Linux; Android ${osVersion}; ${modelName} Build/${deviceDisplay}; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/124.0.6367.179 Mobile Safari/537.36 miHoYoBBS/2.73.1`,
client_type: '5',
Origin: 'https://act.mihoyo.com',
X_Requested_With: 'com.mihoyo.hyperion',
@ -249,8 +258,7 @@ export default class MysZZZApi extends MysApi {
};
const os = {
app_version: '2.57.1',
User_Agent:
`Mozilla/5.0 (Linux; Android ${osVersion}; ${modelName} Build/${deviceDisplay}; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/124.0.6367.179 Mobile Safari/537.36 miHoYoBBSOversea/2.57.1`,
User_Agent: `Mozilla/5.0 (Linux; Android ${osVersion}; ${modelName} Build/${deviceDisplay}; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/124.0.6367.179 Mobile Safari/537.36 miHoYoBBSOversea/2.57.1`,
client_type: '2',
Origin: 'https://act.hoyolab.com',
X_Requested_With: 'com.mihoyo.hoyolab',