mirror of
https://github.com/ZZZure/ZZZ-Plugin.git
synced 2025-12-18 06:07:34 +00:00
修改api调用顺序
This commit is contained in:
parent
f719a934ac
commit
67a26cb72e
3 changed files with 27 additions and 19 deletions
|
|
@ -67,21 +67,9 @@ export class Panel extends ZZZPlugin {
|
||||||
}
|
}
|
||||||
|
|
||||||
this.result = null;
|
this.result = null;
|
||||||
const useEnka = _.get(settings.getConfig('panel'), 'useEnka', true); // 读取配置,Enka 优先
|
const useEnka = _.get(settings.getConfig('panel'), 'useEnka', true);
|
||||||
logger.mark(`[panel.js] useEnka 设置值: ${useEnka}`);
|
logger.debug(`[panel.js] useEnka 设置值: ${useEnka}`);
|
||||||
|
if (!useEnka || this.e.runtime.hasCk) {
|
||||||
if (useEnka) {
|
|
||||||
logger.mark('[panel.js] 进入 Enka 逻辑块');
|
|
||||||
try {
|
|
||||||
const enkaData = await getZzzEnkaData(uid);
|
|
||||||
if (!enkaData || enkaData === -1 || !enkaData.PlayerInfo) { throw new Error('获取或验证 Enka 数据失败'); }
|
|
||||||
this.result = await _enka_data_to_mys_data(enkaData);
|
|
||||||
} catch (enkaError) {
|
|
||||||
logger.error('处理 Enka 逻辑时出错:', enkaError);
|
|
||||||
await this.reply(`处理Enka数据时出错: ${enkaError.message}`);
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
} else {
|
|
||||||
try {
|
try {
|
||||||
const { api } = await this.getAPI(); // MYS 需要 api 对象
|
const { api } = await this.getAPI(); // MYS 需要 api 对象
|
||||||
// MYS 逻辑需要冷却判断
|
// MYS 逻辑需要冷却判断
|
||||||
|
|
@ -100,10 +88,24 @@ export class Panel extends ZZZPlugin {
|
||||||
this.result = mysResult; // <<< MYS 结果赋给 this.result
|
this.result = mysResult; // <<< MYS 结果赋给 this.result
|
||||||
logger.mark('[panel.js] MYS API refreshPanelFunction 调用完成.');
|
logger.mark('[panel.js] MYS API refreshPanelFunction 调用完成.');
|
||||||
} catch (mysError) {
|
} catch (mysError) {
|
||||||
logger.error('[panel.js] MYS API 刷新出错:', mysError);
|
logger.error(' MYS API 刷新出错:', mysError);
|
||||||
this.reply(`MYS API 刷新出错: ${mysError.message}`);
|
this.reply(`MYS API 刷新出错: ${mysError.message}`);
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
} else {
|
||||||
|
//enka兜底 todo:数据转换修正..
|
||||||
|
logger.debug('[panel.js] 进入 Enka 逻辑块');
|
||||||
|
try {
|
||||||
|
const enkaData = await getZzzEnkaData(uid);
|
||||||
|
if (!enkaData || enkaData === -1 || !enkaData.PlayerInfo) { throw new Error('获取或验证 Enka 数据失败'); }
|
||||||
|
this.result = await _enka_data_to_mys_data(enkaData);
|
||||||
|
} catch (enkaError) {
|
||||||
|
logger.error('处理 Enka 逻辑时出错:', enkaError);
|
||||||
|
await this.reply(`处理Enka数据时出错: ${enkaError.message}`);
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
if (this.result && Array.isArray(this.result)) { // 确保有有效数据 (非 null, 是数组)
|
if (this.result && Array.isArray(this.result)) { // 确保有有效数据 (非 null, 是数组)
|
||||||
|
|
@ -118,11 +120,11 @@ export class Panel extends ZZZPlugin {
|
||||||
// 记录错误,但可能继续
|
// 记录错误,但可能继续
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
logger.warn('[panel.js] 获取到的角色列表为空数组,不执行缓存更新。');
|
logger.debug('[panel.js] 获取到的角色列表为空数组,不执行缓存更新。');
|
||||||
// 如果是 Enka 路径且展示柜为空,这是正常情况
|
// 如果是 Enka 路径且展示柜为空,这是正常情况
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
logger.warn('[panel.js] 没有有效的角色列表数据 (this.result),跳过缓存更新。');
|
logger.debug('[panel.js] 没有有效的角色列表数据 (this.result),跳过缓存更新。');
|
||||||
// 如果之前的步骤没有 return false,这里可能需要提示用户
|
// 如果之前的步骤没有 return false,这里可能需要提示用户
|
||||||
if (!useEnka) { // MYS 失败的情况
|
if (!useEnka) { // MYS 失败的情况
|
||||||
await this.reply('未能获取或处理有效的面板列表数据。');
|
await this.reply('未能获取或处理有效的面板列表数据。');
|
||||||
|
|
|
||||||
|
|
@ -63,6 +63,12 @@ export function supportGuoba() {
|
||||||
label: '查询他人信息',
|
label: '查询他人信息',
|
||||||
bottomHelpMessage: '是否允许查询他人信息',
|
bottomHelpMessage: '是否允许查询他人信息',
|
||||||
component: 'Switch',
|
component: 'Switch',
|
||||||
|
},
|
||||||
|
{
|
||||||
|
field: 'config.useEnka',
|
||||||
|
label: '优先使用enka查询面板',
|
||||||
|
bottomHelpMessage: '是否使用enka查询面板(实验性功能,可能导致数据异常)',
|
||||||
|
component: 'Switch',
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
field: 'config.update.autoCheck',
|
field: 'config.update.autoCheck',
|
||||||
|
|
|
||||||
|
|
@ -2,7 +2,7 @@ import settings from '../settings.js'
|
||||||
import { ENKA_API } from './api.js'
|
import { ENKA_API } from './api.js'
|
||||||
import _ from 'lodash'
|
import _ from 'lodash'
|
||||||
|
|
||||||
const useEnka = _.get(settings.getConfig('config'), 'useEnka', true);
|
const useEnka = _.get(settings.getConfig('panel'), 'useEnka', true);
|
||||||
export async function getZzzEnkaData(uid) {
|
export async function getZzzEnkaData(uid) {
|
||||||
if (useEnka) {
|
if (useEnka) {
|
||||||
try {
|
try {
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue