feat: 刷新角色间隔,防止刷新太快导致IP黑名单

This commit is contained in:
bietiaop 2025-01-12 14:10:02 +08:00
parent 1dd7fe9fb5
commit 13f44a258e
4 changed files with 45 additions and 9 deletions

View file

@ -2,6 +2,8 @@ import { ZZZAvatarBasic, ZZZAvatarInfo } from '../model/avatar.js';
import MysZZZApi from './mysapi.js';
import { getPanelData, savePanelData } from './db.js';
import { char } from './convert.js';
import _ from 'lodash';
import settings from './settings.js';
/**
* 获取角色基础信息列表
@ -33,15 +35,17 @@ export const getAvatarInfoList = async (api, origin = false) => {
const avatarBaseList = await getAvatarBasicList(api, origin);
if (!avatarBaseList) return null;
// 获取角色详细信息列表
const avatarInfoList = await Promise.all(
avatarBaseList.map(item =>
api.getFinalData('zzzAvatarInfo', {
query: {
id_list: [item.id],
},
})
)
).then(data => data.map(item => item.avatar_list[0]));
const avatarInfoList = [];
for (const item of avatarBaseList) {
const data = await api.getFinalData('zzzAvatarInfo', {
query: {
id_list: [item.id],
},
});
avatarInfoList.push(data.avatar_list[0]);
const time = _.get(settings.getConfig('panel'), 'roleInterval', 3) * 1000;
await new Promise(resolve => setTimeout(resolve, time));
}
if (!avatarInfoList?.length) return null;
// 是否返回原始数据
if (origin) return avatarInfoList;