fix(qdreader): parse wrapped Autman response data

This commit is contained in:
2026-06-20 15:41:57 +08:00
parent dfacfcb26d
commit ebcdc67960
3 changed files with 103 additions and 22 deletions
+55
View File
@@ -1245,6 +1245,61 @@ test('adv task ignores count metadata and submits each unfinished upstream task
assert.ok(finishCalls.every(c => /partial-task/.test(c.body)));
});
test('adv and daily tasks parse Autman response data when body is empty', () => {
const store = {
qdreader_cookie_json: JSON.stringify({ '12345': cookie }),
qdreader_user_bind_json: JSON.stringify({ '12345': 'user-a' }),
qdreader_task_pref_json: JSON.stringify({ '12345': { adv: true, extraAdv: true } }),
};
const wrappedMain = { statusCode: 200, body: '', data: { Result: 0, Message: '', Data: {
DailyBenefitModule: { TaskList: [{ TaskId: 'wrapped-adv', Title: '激励碎片', IsFinished: 0 }] },
VideoRewardTab: { TaskList: [
{ TaskId: 'wrapped-one', Title: '完成1个广告任务得奖励', IsReceived: 0 },
{ TaskId: 'wrapped-three', Title: '完成3个广告任务得奖励', IsReceived: 0 },
] },
} } };
const wrappedDone = { statusCode: 200, body: '', data: { Result: 0, Message: '', Data: {
DailyBenefitModule: { TaskList: [{ TaskId: 'wrapped-adv', Title: '激励碎片', IsFinished: 1 }] },
VideoRewardTab: { TaskList: [
{ TaskId: 'wrapped-one', Title: '完成1个广告任务得奖励', IsReceived: 1 },
{ TaskId: 'wrapped-three', Title: '完成3个广告任务得奖励', IsReceived: 1 },
] },
} } };
const r = runPlugin({
content: '启点签到',
store,
userId: 'user-a',
requests: [
{ body: { code: 0, data: { headers: { 'QD-Sign': 'sig' } } } },
{ statusCode: 200, body: { code: 1, msg: '今日已签到' } },
{ body: { code: 0, data: { headers: { 'QD-Sign': 'sig' } } } },
{ statusCode: 200, body: { code: 1, msg: '无可领取礼包' } },
{ body: { code: 0, data: { headers: { 'QD-Sign': 'sig' } } } },
wrappedMain,
{ body: { code: 0, data: { headers: { 'QD-Sign': 'sig' } } } },
{ statusCode: 200, body: '', data: { Result: 0, Message: '' } },
{ body: { code: 0, data: { headers: { 'QD-Sign': 'sig' } } } },
wrappedDone,
{ body: { code: 0, data: { headers: { 'QD-Sign': 'sig' } } } },
wrappedMain,
{ body: { code: 0, data: { headers: { 'QD-Sign': 'sig' } } } },
{ statusCode: 200, body: '', data: { Result: 0, Message: '' } },
{ body: { code: 0, data: { headers: { 'QD-Sign': 'sig' } } } },
{ statusCode: 200, body: '', data: { Result: 0, Message: '' } },
{ body: { code: 0, data: { headers: { 'QD-Sign': 'sig' } } } },
{ statusCode: 200, body: '', data: { Result: 0, Message: '' } },
{ body: { code: 0, data: { headers: { 'QD-Sign': 'sig' } } } },
{ statusCode: 200, body: '', data: { Result: 0, Message: '' } },
{ body: { code: 0, data: { headers: { 'QD-Sign': 'sig' } } } },
wrappedDone,
],
});
assert.match(r.replies[0], /激励任务✅\(任务已完成\)/);
assert.match(r.replies[0], /每日任务✅\(任务已完成\)/);
assert.doesNotMatch(r.replies[0], /任务列表为空/);
});
test('adv task accepts discovered task list when upstream module name changes', () => {
const store = {
qdreader_cookie_json: JSON.stringify({ '12345': cookie }),