优化后台订单列表展示并支持商品标题与SKU规格

This commit is contained in:
yml2213
2026-09-10 09:39:19 +08:00
parent fe2a28454d
commit 4544622cb3
13 changed files with 655 additions and 51 deletions
@@ -6,6 +6,8 @@ import {
createAdminViewerContext,
mapKuaishouCloudFulfillmentContext,
resolveAdminTaskScreenshotUrl,
resolveOrderItemSkuNick,
resolveOrderItemTitle,
} from './admin-read-shared-helpers.js'
test('resolveAdminTaskScreenshotUrl lets support view final redeemed screenshot', async () => {
@@ -86,3 +88,65 @@ test('mapKuaishouCloudFulfillmentContext exposes cloud account display labels',
assert.deepEqual(flow?.binding.cloudSourceLabels, ['白班账号', '夜班账号'])
assert.equal(flow?.binding.resolvedSourceLabel, '夜班账号')
})
test('resolveOrderItemTitle and resolveOrderItemSkuNick with spec_json and snapshot', () => {
const item = {
id: 1,
order_id: 100,
sku_code: '26079757920762',
sku_name: '安卓血宴2钻',
quantity: 1,
spec_json: JSON.stringify({
itemTitle: '和平精英地铁逃生装备满钻低价苏尔南怒嚎暗潮手枪璀璨无暇1到7钻',
skuNick: '安卓血宴2钻',
}),
item_snapshot_json: JSON.stringify({
kuaishouSendCode: {
itemTitle: '和平精英地铁逃生装备满钻低价苏尔南怒嚎暗潮手枪璀璨无暇1到7钻',
skuNick: '安卓血宴2钻',
},
}),
}
assert.equal(
resolveOrderItemTitle(item),
'和平精英地铁逃生装备满钻低价苏尔南怒嚎暗潮手枪璀璨无暇1到7钻',
)
assert.equal(resolveOrderItemSkuNick(item), '安卓血宴2钻')
})
test('resolveOrderItemTitle and resolveOrderItemSkuNick fallback to order raw_payload_json with stringified ext', () => {
const order = {
id: 100,
raw_payload_json: {
source: 'kuaishou_send_code',
body: {
itemTitle: '和平精英地铁逃生装备满钻低价苏尔南怒嚎暗潮手枪璀璨无暇1到7钻',
ext: '{"relItemId":26079757920762,"relSkuId":0,"skuNick":"安卓血宴2钻"}',
},
},
} as any
assert.equal(
resolveOrderItemTitle(null, order),
'和平精英地铁逃生装备满钻低价苏尔南怒嚎暗潮手枪璀璨无暇1到7钻',
)
assert.equal(resolveOrderItemSkuNick(null, order), '安卓血宴2钻')
})
test('resolveOrderItemTitle and resolveOrderItemSkuNick fallback to vouchers when order item and order payload are missing', () => {
const vouchers = [
{
oid: '2625301761098133',
raw_payload_json: {
body: {
itemTitle: '测试商品标题',
ext: '{"skuNick":"测试SKU规格"}',
},
},
},
] as any
assert.equal(resolveOrderItemTitle(null, null, vouchers), '测试商品标题')
assert.equal(resolveOrderItemSkuNick(null, null, vouchers), '测试SKU规格')
})