feat(douyu): support elite handbook lock orders

This commit is contained in:
yml2213
2026-08-28 14:06:11 +08:00
parent 49aae8b74c
commit 9ee4e49a50
8 changed files with 471 additions and 59 deletions
+11 -3
View File
@@ -1,6 +1,11 @@
import type { DouyuTaskItem } from '../api/types';
const EXCHANGE_TASK_TYPES = new Set(['exchange_goods', 'exchange_esports_goods', 'exchange_xpd_goods']);
const EXCHANGE_TASK_TYPES = new Set([
'exchange_goods',
'pay_locked_order',
'exchange_esports_goods',
'exchange_xpd_goods',
]);
const CARD_W = 320;
const CARD_H = 470;
const FONT_FAMILY = '"PingFang SC", "Microsoft YaHei", "Helvetica Neue", Arial, sans-serif';
@@ -29,11 +34,14 @@ function goodsOf(task: DouyuTaskItem): {
const name = (rawString(goods, 'commodityName')
|| rawString(goods, 'name')
|| rawString(goods, 'sGoodsName')
|| task.message.replace(/^兑换[^:]*[:]?\s*/, '').trim()
|| task.message.replace(/^(?:兑换[^:]*|锁单支付成功)[:]?\s*/, '').trim()
|| rawString(task.result, 'commodity_id'))
.replace(/[(]\d+\s*(?:点券|碎片|积分)[)]\s*$/, '')
.trim();
const pic = rawString(goods, 'webPic') || rawString(goods, 'pic') || rawString(goods, 'sGoodsPic');
const pic = rawString(goods, 'webPic')
|| rawString(goods, 'pic')
|| rawString(goods, 'sGoodsPic')
|| rawString(task.result, 'commodity_image');
const roleName = rawString(task.result, 'game_name');
const channel = rawString(task.result, 'game_channel');
const accountName = rawString(task.result, 'account_name')