mirror of
https://github.com/ZZZure/ZZZ-Plugin.git
synced 2025-12-16 13:17:32 +00:00
fix: 通过抽卡链接更新记录#20
This commit is contained in:
parent
e402889dc5
commit
2c745c256e
3 changed files with 57 additions and 26 deletions
|
|
@ -4,11 +4,13 @@ import { rulePrefix } from '../lib/common.js';
|
|||
import { getAuthKey } from '../lib/authkey.js';
|
||||
import settings from '../lib/settings.js';
|
||||
import _ from 'lodash';
|
||||
import common from '../../../lib/common/common.js'
|
||||
import common from '../../../lib/common/common.js';
|
||||
import {
|
||||
anaylizeGachaLog,
|
||||
updateGachaLog,
|
||||
getZZZGachaLink,
|
||||
gacha_type_meta_data,
|
||||
getZZZGachaLogByAuthkey,
|
||||
} from '../lib/gacha.js';
|
||||
import { getQueryVariable } from '../utils/network.js';
|
||||
|
||||
|
|
@ -78,7 +80,7 @@ export class GachaLog extends ZZZPlugin {
|
|||
return false;
|
||||
}
|
||||
this.finish('gachaLog');
|
||||
this.getLog(key);
|
||||
this.getLogWithOutUID(key);
|
||||
}
|
||||
async refreshGachaLog() {
|
||||
const uid = await this.getUID();
|
||||
|
|
@ -109,14 +111,53 @@ export class GachaLog extends ZZZPlugin {
|
|||
}
|
||||
this.reply('抽卡记录获取中请稍等...可能需要一段时间,请耐心等待');
|
||||
const { data, count } = await updateGachaLog(key, uid);
|
||||
let msg = []
|
||||
msg.push(`抽卡记录更新成功,共${Object.keys(data).length}个卡池`)
|
||||
let msg = [];
|
||||
msg.push(`抽卡记录更新成功,共${Object.keys(data).length}个卡池`);
|
||||
for (const name in data) {
|
||||
msg.push(`${name}新增${count[name] || 0}条记录,一共${
|
||||
data[name].length
|
||||
}条记录`);
|
||||
msg.push(
|
||||
`${name}新增${count[name] || 0}条记录,一共${data[name].length}条记录`
|
||||
);
|
||||
}
|
||||
await this.reply(await common.makeForwardMsg(this.e,msg,'抽卡记录更新成功'));
|
||||
await this.reply(
|
||||
await common.makeForwardMsg(this.e, msg, '抽卡记录更新成功')
|
||||
);
|
||||
return false;
|
||||
}
|
||||
async getLogWithOutUID(key) {
|
||||
/** @type {string} */
|
||||
let uid;
|
||||
queryLabel: for (const name in gacha_type_meta_data) {
|
||||
for (const type of gacha_type_meta_data[name]) {
|
||||
const log = await getZZZGachaLogByAuthkey(
|
||||
key,
|
||||
type,
|
||||
type[0],
|
||||
1,
|
||||
'0',
|
||||
'1'
|
||||
);
|
||||
if (log && log.list && log.list.length > 0) {
|
||||
uid = log.list[0].uid;
|
||||
break queryLabel;
|
||||
}
|
||||
}
|
||||
}
|
||||
if (!uid) {
|
||||
await this.reply('未查询到uid,请检查链接是否正确');
|
||||
return false;
|
||||
}
|
||||
this.reply('抽卡记录获取中请稍等...可能需要一段时间,请耐心等待');
|
||||
const { data, count } = await updateGachaLog(key, uid);
|
||||
let msg = [];
|
||||
msg.push(`抽卡记录更新成功,共${Object.keys(data).length}个卡池`);
|
||||
for (const name in data) {
|
||||
msg.push(
|
||||
`${name}新增${count[name] || 0}条记录,一共${data[name].length}条记录`
|
||||
);
|
||||
}
|
||||
await this.reply(
|
||||
await common.makeForwardMsg(this.e, msg, '抽卡记录更新成功')
|
||||
);
|
||||
return false;
|
||||
}
|
||||
|
||||
|
|
@ -140,7 +181,7 @@ export class GachaLog extends ZZZPlugin {
|
|||
await render(this.e, 'gachalog/index.html', result);
|
||||
}
|
||||
async getGachaLink() {
|
||||
if (!this.e.isPrivate||this.e.isGroup) {
|
||||
if (!this.e.isPrivate || this.e.isGroup) {
|
||||
await this.reply('请私聊获取抽卡链接', false, { at: true });
|
||||
return false;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -56,6 +56,7 @@ const NORMAL_LIST = [
|
|||
* @param {string} initLogGachaBaseType
|
||||
* @param {number} page 页数
|
||||
* @param {string} endId 最后一个数据的 id
|
||||
* @param {string} size 页面数据大小
|
||||
* @returns {Promise<string>} 抽卡链接
|
||||
*/
|
||||
export const getZZZGachaLink = async (
|
||||
|
|
@ -63,7 +64,8 @@ export const getZZZGachaLink = async (
|
|||
gachaType = '2001',
|
||||
initLogGachaBaseType = '2',
|
||||
page = 1,
|
||||
endId = '0'
|
||||
endId = '0',
|
||||
size = '20'
|
||||
) => {
|
||||
// 暂时直接写死服务器为国服
|
||||
const serverId = 'prod_gf_cn';
|
||||
|
|
@ -87,7 +89,7 @@ export const getZZZGachaLink = async (
|
|||
gacha_type: gachaType,
|
||||
real_gacha_type: initLogGachaBaseType,
|
||||
page: page,
|
||||
size: '20',
|
||||
size: size,
|
||||
end_id: endId,
|
||||
});
|
||||
// 完整链接
|
||||
|
|
@ -127,7 +129,6 @@ export const getZZZGachaLogByAuthkey = async (
|
|||
});
|
||||
// 获取数据
|
||||
const data = await response.json();
|
||||
|
||||
if (!data || !data?.data) return null;
|
||||
|
||||
return new ZZZGachaLogResp(data.data);
|
||||
|
|
|
|||
|
|
@ -32,20 +32,9 @@ export async function findLowestLatencyUrl(urls) {
|
|||
}
|
||||
|
||||
export function getQueryVariable(url, variable) {
|
||||
try {
|
||||
const _url = new URL(url);
|
||||
var query = _url.search.substring(1);
|
||||
var vars = query.split('&');
|
||||
for (var i = 0; i < vars.length; i++) {
|
||||
var pair = vars[i].split('=');
|
||||
if (pair[0] == variable) {
|
||||
return pair[1];
|
||||
}
|
||||
}
|
||||
return null;
|
||||
} catch (error) {
|
||||
return null;
|
||||
}
|
||||
const searchParams = new URLSearchParams(url);
|
||||
const key = searchParams.get(variable);
|
||||
return key;
|
||||
}
|
||||
|
||||
export async function fetchWithRetry(url, options, retry = 3) {
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue