mirror of
https://github.com/ZZZure/ZZZ-Plugin.git
synced 2025-12-15 12:47:48 +00:00
fix:部分逻辑
This commit is contained in:
parent
800bc15007
commit
c5d9131c1d
9 changed files with 56 additions and 30 deletions
|
|
@ -20,12 +20,14 @@ export class Abyss extends ZZZPlugin {
|
|||
});
|
||||
}
|
||||
async abyss() {
|
||||
const { api } = await this.getAPI();
|
||||
const { api, deviceFp } = await this.getAPI();
|
||||
await this.getPlayerInfo();
|
||||
const method = this.e.msg.match(`(上期|往期)`)
|
||||
? 'zzzChallengePeriod'
|
||||
: 'zzzChallenge';
|
||||
const abyssData = await api.getFinalData(method).catch(e => {
|
||||
const abyssData = await api.getFinalData(method, {
|
||||
deviceFp,
|
||||
}).catch(e => {
|
||||
this.reply(e.message);
|
||||
throw e;
|
||||
});
|
||||
|
|
|
|||
14
apps/card.js
14
apps/card.js
|
|
@ -20,22 +20,28 @@ export class Card extends ZZZPlugin {
|
|||
});
|
||||
}
|
||||
async card() {
|
||||
const { api } = await this.getAPI();
|
||||
const { api, deviceFp } = await this.getAPI();
|
||||
await this.getPlayerInfo();
|
||||
const indexData = await api.getFinalData('zzzIndex').catch(e => {
|
||||
const indexData = await api.getFinalData('zzzIndex', {
|
||||
deviceFp,
|
||||
}).catch(e => {
|
||||
this.reply(e.message);
|
||||
throw e;
|
||||
});
|
||||
if (!indexData) return false;
|
||||
|
||||
let zzzAvatarList = await api.getFinalData('zzzAvatarList').catch(e => {
|
||||
let zzzAvatarList = await api.getFinalData('zzzAvatarList', {
|
||||
deviceFp,
|
||||
}).catch(e => {
|
||||
this.reply(e.message);
|
||||
throw e;
|
||||
});
|
||||
if (!zzzAvatarList) return false;
|
||||
indexData.avatar_list = zzzAvatarList.avatar_list;
|
||||
|
||||
let zzzBuddyList = await api.getFinalData('zzzBuddyList').catch(e => {
|
||||
let zzzBuddyList = await api.getFinalData('zzzBuddyList', {
|
||||
deviceFp,
|
||||
}).catch(e => {
|
||||
this.reply(e.message);
|
||||
throw e;
|
||||
});
|
||||
|
|
|
|||
|
|
@ -20,12 +20,14 @@ export class deadly extends ZZZPlugin {
|
|||
});
|
||||
}
|
||||
async deadly() {
|
||||
const { api } = await this.getAPI();
|
||||
const { api, deviceFp } = await this.getAPI();
|
||||
await this.getPlayerInfo();
|
||||
const method = this.e.msg.match(`(上期|往期)`)
|
||||
? 'zzzDeadlyPeriod'
|
||||
: 'zzzDeadly';
|
||||
const deadlyData = await api.getFinalData(method).catch(e => {
|
||||
const deadlyData = await api.getFinalData(method, {
|
||||
deviceFp,
|
||||
}).catch(e => {
|
||||
this.reply(e.message);
|
||||
throw e;
|
||||
});
|
||||
|
|
|
|||
|
|
@ -35,10 +35,11 @@ export class monthly extends ZZZPlugin {
|
|||
}
|
||||
let year = match[3];
|
||||
let month = match[5];
|
||||
const { api } = await this.getAPI();
|
||||
const { api, deviceFp } = await this.getAPI();
|
||||
await this.getPlayerInfo();
|
||||
const monthlyResponse = await getMonthly(
|
||||
api,
|
||||
deviceFp,
|
||||
this.getDateString(year, month)
|
||||
).catch(e => {
|
||||
this.reply(e.message);
|
||||
|
|
@ -60,9 +61,12 @@ export class monthly extends ZZZPlugin {
|
|||
}
|
||||
|
||||
async monthlyCollect() {
|
||||
const { api } = await this.getAPI();
|
||||
const { api, deviceFp } = await this.getAPI();
|
||||
await this.getPlayerInfo();
|
||||
const collect = await getMonthlyCollect(api).catch(e => {
|
||||
const collect = await getMonthlyCollect(
|
||||
api,
|
||||
deviceFp,
|
||||
).catch(e => {
|
||||
this.reply(e.message);
|
||||
throw e;
|
||||
});
|
||||
|
|
|
|||
|
|
@ -20,9 +20,11 @@ export class Note extends ZZZPlugin {
|
|||
});
|
||||
}
|
||||
async note() {
|
||||
const { api } = await this.getAPI();
|
||||
const { api, deviceFp } = await this.getAPI();
|
||||
await this.getPlayerInfo();
|
||||
const noteResponse = await api.getFinalData('zzzNote').catch(e => {
|
||||
const noteResponse = await api.getFinalData('zzzNote', {
|
||||
deviceFp,
|
||||
}).catch(e => {
|
||||
this.reply(e.message);
|
||||
throw e;
|
||||
});
|
||||
|
|
|
|||
|
|
@ -60,11 +60,11 @@ export class Panel extends ZZZPlugin {
|
|||
await this.reply(`${coldTime}秒内只能刷新一次,请稍后再试`);
|
||||
return false;
|
||||
}
|
||||
const { api } = await this.getAPI();
|
||||
const { api, deviceFp } = await this.getAPI();
|
||||
await redis.set(`ZZZ:PANEL:${uid}:LASTTIME`, Date.now());
|
||||
await this.reply('正在刷新面板列表,请稍候...');
|
||||
await this.getPlayerInfo();
|
||||
const result = await refreshPanelFunction(api).catch(e => {
|
||||
const result = await refreshPanelFunction(api, deviceFp).catch(e => {
|
||||
this.reply(e.message);
|
||||
throw e;
|
||||
});
|
||||
|
|
|
|||
|
|
@ -8,12 +8,15 @@ import settings from './settings.js';
|
|||
/**
|
||||
* 获取角色基础信息列表
|
||||
* @param {MysZZZApi} api
|
||||
* @param {string} deviceFp
|
||||
* @param {boolean} origin 是否返回原始数据
|
||||
* @returns {Promise<ZZZAvatarBasic[] | null>}
|
||||
*/
|
||||
export const getAvatarBasicList = async (api, origin = false) => {
|
||||
export const getAvatarBasicList = async (api, deviceFp, origin = false) => {
|
||||
// 获取米游社角色列表
|
||||
const avatarBaseListData = await api.getFinalData('zzzAvatarList');
|
||||
const avatarBaseListData = await api.getFinalData('zzzAvatarList', {
|
||||
deviceFp,
|
||||
});
|
||||
if (!avatarBaseListData) return null;
|
||||
// 是否返回原始数据
|
||||
if (origin) return avatarBaseListData.avatar_list;
|
||||
|
|
@ -27,17 +30,19 @@ export const getAvatarBasicList = async (api, origin = false) => {
|
|||
/**
|
||||
* 获取角色详细信息列表
|
||||
* @param {MysZZZApi} api
|
||||
* @param {string} deviceFp
|
||||
* @returns {Promise<ZZZAvatarInfo[] | null>}
|
||||
* @param {boolean} origin 是否返回原始数据
|
||||
*/
|
||||
export const getAvatarInfoList = async (api, origin = false) => {
|
||||
export const getAvatarInfoList = async (api, deviceFp, origin = false) => {
|
||||
// 获取角色基础信息列表
|
||||
const avatarBaseList = await getAvatarBasicList(api, origin);
|
||||
const avatarBaseList = await getAvatarBasicList(api, deviceFp, origin);
|
||||
if (!avatarBaseList) return null;
|
||||
// 获取角色详细信息列表
|
||||
const avatarInfoList = [];
|
||||
for (const item of avatarBaseList) {
|
||||
const data = await api.getFinalData('zzzAvatarInfo', {
|
||||
deviceFp,
|
||||
query: {
|
||||
id_list: [item.id],
|
||||
},
|
||||
|
|
@ -90,11 +95,12 @@ export const updatePanelData = (uid, newData) => {
|
|||
/**
|
||||
* 刷新面板
|
||||
* @param {MysZZZApi} api
|
||||
* @param {string} deviceFp
|
||||
* @returns {Promise<ZZZAvatarInfo[] | null>}
|
||||
*/
|
||||
export const refreshPanel = async api => {
|
||||
export const refreshPanel = async (api, deviceFp) => {
|
||||
// 获取新数据
|
||||
const newData = await getAvatarInfoList(api, true);
|
||||
const newData = await getAvatarInfoList(api, deviceFp, true);
|
||||
if (!newData) return null;
|
||||
|
||||
// 合并新旧数据
|
||||
|
|
|
|||
|
|
@ -22,12 +22,14 @@ export const saveMonthlyNewData = (uid, ...newDatas) => {
|
|||
/**
|
||||
* 获取月度数据
|
||||
* @param {MysZZZApi} api
|
||||
* @param {string} deviceFp
|
||||
* @param {string} month
|
||||
* @returns {Promise<object | null>}
|
||||
*/
|
||||
export const getMonthly = async (api, month) => {
|
||||
export const getMonthly = async (api, deviceFp, month) => {
|
||||
// 获取月度数据
|
||||
const data = await api.getFinalData('zzzMonthly', {
|
||||
deviceFp,
|
||||
query: { month },
|
||||
});
|
||||
saveMonthlyNewData(api.uid, data);
|
||||
|
|
@ -37,11 +39,12 @@ export const getMonthly = async (api, month) => {
|
|||
/**
|
||||
* 月度数据(统计)
|
||||
* @param {MysZZZApi} api
|
||||
* @param {string} deviceFp
|
||||
* @returns {Promise<object | null>}
|
||||
*/
|
||||
export const getMonthlyCollect = async api => {
|
||||
export const getMonthlyCollect = async (api, deviceFp) => {
|
||||
// 获取当前月度数据
|
||||
const currentData = await getMonthly(api, '');
|
||||
const currentData = await getMonthly(api, deviceFp, '');
|
||||
|
||||
if (!currentData) return null;
|
||||
|
||||
|
|
|
|||
|
|
@ -368,13 +368,14 @@ export default class MysZZZApi extends MysApi {
|
|||
}
|
||||
}
|
||||
const device_fp = await redis.get(`ZZZ:DEVICE_FP:${ltuid}:FP`);
|
||||
if (device_fp) {
|
||||
data.deviceFp = device_fp;
|
||||
data.headers['x-rpc-device_fp'] = device_fp;
|
||||
}
|
||||
const device_id = await redis.get(`ZZZ:DEVICE_FP:${ltuid}:ID`);
|
||||
if (device_id) {
|
||||
data.deviceId = device_id;
|
||||
if (device_fp && device_id) {
|
||||
data = {
|
||||
...data,
|
||||
deviceFp: device_fp,
|
||||
deviceId: device_id,
|
||||
};
|
||||
data.headers['x-rpc-device_fp'] = device_fp;
|
||||
data.headers['x-rpc-device_id'] = device_id;
|
||||
}
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue