mirror of
https://github.com/ZZZure/ZZZ-Plugin.git
synced 2025-12-18 06:07:34 +00:00
调整更新面板逻辑,使用%米游社更新面板走米游社更新面板, 否则默认使用enka
This commit is contained in:
parent
53148aac0e
commit
c8dc2c3b29
4 changed files with 13 additions and 24 deletions
|
|
@ -22,7 +22,7 @@ export class Panel extends ZZZPlugin {
|
|||
priority: _.get(settings.getConfig('priority'), 'panel', 70),
|
||||
rule: [
|
||||
{
|
||||
reg: `${rulePrefix}(.*)面板(刷新|更新|列表)?$`,
|
||||
reg: `${rulePrefix}(.*)面板(米游社更新|刷新|更新|列表)?$`,
|
||||
fnc: 'handleRule',
|
||||
},
|
||||
{
|
||||
|
|
@ -45,15 +45,17 @@ export class Panel extends ZZZPlugin {
|
|||
const reg = new RegExp(`${rulePrefix}(.*)面板(刷新|更新|列表)?$`);
|
||||
const pre = this.e.msg.match(reg)[4]?.trim();
|
||||
const suf = this.e.msg.match(reg)[5]?.trim();
|
||||
if (['刷新', '更新'].includes(pre) || ['刷新', '更新'].includes(suf))
|
||||
return await this.refreshPanel();
|
||||
if (['刷新', '更新', '米游社更新'].includes(pre) || ['刷新', '更新', '米游社更新'].includes(suf)) {
|
||||
const enkaSet = (pre === '米游社更新' || suf === '米游社更新') ? 'false' : 'true';
|
||||
return await this.refreshPanel(enkaSet);
|
||||
}
|
||||
if (!pre || suf === '列表') return await this.getCharPanelList();
|
||||
const queryPanelReg = new RegExp(`${rulePrefix}(.*)面板$`);
|
||||
if (queryPanelReg.test(this.e.msg)) return await this.getCharPanel();
|
||||
return false;
|
||||
}
|
||||
|
||||
async refreshPanel() {
|
||||
async refreshPanel(enkaSet) {
|
||||
const uid = await this.getUID();
|
||||
let playerInfo = null;
|
||||
try {
|
||||
|
|
@ -67,13 +69,10 @@ export class Panel extends ZZZPlugin {
|
|||
}
|
||||
|
||||
this.result = null;
|
||||
const useEnka = _.get(settings.getConfig('panel'), 'useEnka', true); // 读取配置,Enka 优先
|
||||
logger.mark(`[panel.js] useEnka 设置值: ${useEnka}`);
|
||||
|
||||
if (useEnka) {
|
||||
if (enkaSet === 'true') {
|
||||
logger.mark('[panel.js] 进入 Enka 逻辑块');
|
||||
try {
|
||||
const enkaData = await getZzzEnkaData(uid);
|
||||
const enkaData = await getZzzEnkaData(uid, enkaSet);
|
||||
if (!enkaData || enkaData === -1 || !enkaData.PlayerInfo) { throw new Error('获取或验证 Enka 数据失败'); }
|
||||
this.result = await _enka_data_to_mys_data(enkaData);
|
||||
} catch (enkaError) {
|
||||
|
|
@ -110,9 +109,7 @@ export class Panel extends ZZZPlugin {
|
|||
// 并且至少包含一个角色数据才存,避免存空数组?(可选)
|
||||
if (this.result.length > 0) {
|
||||
try {
|
||||
|
||||
await updatePanelData(uid, this.result);
|
||||
|
||||
} catch (cacheError) {
|
||||
logger.error('出错:', cacheError);
|
||||
// 记录错误,但可能继续
|
||||
|
|
|
|||
|
|
@ -1,3 +1,2 @@
|
|||
useEnka: false # 使用enka接口查询
|
||||
interval: 60 # 刷新面板的时间间隔(单位:秒)
|
||||
roleInterval: 3 # 查询每个角色的间隔时间(单位:秒)
|
||||
|
|
@ -162,12 +162,6 @@ export function supportGuoba() {
|
|||
component: 'Divider',
|
||||
label: '面板设置',
|
||||
},
|
||||
{
|
||||
field: 'panel.useEnka',
|
||||
label: 'enka查询',
|
||||
bottomHelpMessage: '是否使用enka接口查询',
|
||||
component: 'Switch',
|
||||
},
|
||||
{
|
||||
field: 'panel.interval',
|
||||
label: '冷却时间',
|
||||
|
|
|
|||
|
|
@ -1,10 +1,9 @@
|
|||
import settings from '../settings.js'
|
||||
import { ENKA_API } from './api.js'
|
||||
import _ from 'lodash'
|
||||
import fetch from 'node-fetch'
|
||||
|
||||
const useEnka = _.get(settings.getConfig('config'), 'useEnka', true);
|
||||
export async function getZzzEnkaData(uid) {
|
||||
if (useEnka) {
|
||||
export async function getZzzEnkaData(uid, enkaSet) {
|
||||
if (enkaSet) {
|
||||
try {
|
||||
const response = await fetch(ENKA_API.replace('{uid}', uid), {
|
||||
headers: {
|
||||
|
|
@ -19,7 +18,7 @@ export async function getZzzEnkaData(uid) {
|
|||
});
|
||||
|
||||
if (!response.ok) {
|
||||
console.error(`HTTP 错误! 状态码: ${response.status}`);
|
||||
logger.error(`HTTP 错误! 状态码: ${response.status}`);
|
||||
return response.status;
|
||||
}
|
||||
|
||||
|
|
@ -30,7 +29,7 @@ export async function getZzzEnkaData(uid) {
|
|||
return data;
|
||||
|
||||
} catch (error) {
|
||||
console.error("Error fetching ZZZ Enka data:", error);
|
||||
logger.error("Error fetching ZZZ Enka data:", error);
|
||||
return -1;
|
||||
}
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue