mirror of
https://github.com/ZZZure/ZZZ-Plugin.git
synced 2025-12-15 12:47:48 +00:00
126 lines
2.4 KiB
JavaScript
126 lines
2.4 KiB
JavaScript
import {
|
|
getSquareAvatar,
|
|
getSquareBangboo,
|
|
getWeaponImage,
|
|
} from '../lib/download.js';
|
|
|
|
/**
|
|
* @class
|
|
*/
|
|
export class SingleGachaLog {
|
|
// 类型标注
|
|
/** @type {string} */
|
|
uid;
|
|
/** @type {string} */
|
|
gacha_id;
|
|
/** @type {string} */
|
|
gacha_type;
|
|
/** @type {string} */
|
|
item_id;
|
|
/** @type {string} */
|
|
count;
|
|
/** @type {string} */
|
|
time;
|
|
/** @type {string} */
|
|
name;
|
|
/** @type {string} */
|
|
lang;
|
|
/** @type {string} */
|
|
item_type;
|
|
/** @type {string} */
|
|
rank_type;
|
|
/** @type {string} */
|
|
id;
|
|
/**
|
|
* @param {{
|
|
* uid: string;
|
|
* gacha_id: string;
|
|
* gacha_type: string;
|
|
* item_id: string;
|
|
* count: string;
|
|
* time: string;
|
|
* name: string;
|
|
* lang: string;
|
|
* item_type: string;
|
|
* rank_type: string;
|
|
* id: string;
|
|
* }} data
|
|
*/
|
|
constructor(data) {
|
|
const {
|
|
uid,
|
|
gacha_id,
|
|
gacha_type,
|
|
item_id,
|
|
count,
|
|
time,
|
|
name,
|
|
lang,
|
|
item_type,
|
|
rank_type,
|
|
id,
|
|
} = data;
|
|
this.uid = uid;
|
|
this.gacha_id = gacha_id;
|
|
this.gacha_type = gacha_type;
|
|
this.item_id = item_id;
|
|
this.count = count;
|
|
this.time = time;
|
|
this.name = name;
|
|
this.lang = lang;
|
|
this.item_type = item_type;
|
|
this.rank_type = rank_type;
|
|
this.id = id;
|
|
|
|
this.square_icon = '';
|
|
}
|
|
|
|
/**
|
|
*
|
|
* @param {SingleGachaLog} item
|
|
*/
|
|
equals(item) {
|
|
return (
|
|
this.uid === item.uid &&
|
|
this.id === item.id &&
|
|
this.gacha_type === this.gacha_type
|
|
);
|
|
}
|
|
|
|
async get_assets() {
|
|
if (this.item_type === '音擎') {
|
|
const result = await getWeaponImage(this.item_id);
|
|
logger.debug('音擎result', result);
|
|
this.square_icon = result;
|
|
} else if (this.item_type === '邦布') {
|
|
const result = await getSquareBangboo(this.item_id);
|
|
this.square_icon = result;
|
|
} else {
|
|
const result = await getSquareAvatar(this.item_id);
|
|
this.square_icon = result;
|
|
}
|
|
}
|
|
}
|
|
|
|
/**
|
|
* @class
|
|
*/
|
|
export class ZZZGachaLogResp {
|
|
/**
|
|
* @param {{
|
|
* page: string;
|
|
* size: string;
|
|
* list: SingleGachaLog[];
|
|
* region: string;
|
|
* region_time_zone: number;
|
|
* }} data
|
|
*/
|
|
constructor(data) {
|
|
const { page, size, list, region, region_time_zone } = data;
|
|
this.page = page;
|
|
this.size = size;
|
|
this.list = list.map(item => new SingleGachaLog(item));
|
|
this.region = region;
|
|
this.region_time_zone = region_time_zone;
|
|
}
|
|
}
|