feat(douyin-mashida): 全面统一为 /h5/<订单号> 直充路径,更新面板提示与直发链接生成
- 抖音码速达买家直充链接与兜底配置基址统一改为 https://<域名>/h5(直充路径为 /h5/<订单号>) - 前端配置面板示例与提示升级为真实 16 位平台订单号形态(如 /h5/2628301923197355) - 一键填入域名同步适配 /h5 基址,并在后端发券与发货私信推送中直接生成 /h5/<订单号> - 数据库本地配置同步更新为 http://localhost/h5 验证方式:前端类型检查与打包构建通过,全量 132 项前端单测与 674 项后端单测全部通过
This commit is contained in:
@@ -246,23 +246,34 @@ async function notifyBuyerClaimLink(input: {
|
||||
if (input.config.claimMessageEnabled === false) {
|
||||
return
|
||||
}
|
||||
if (!String(input.config.claimLinkBase || '').trim()) {
|
||||
return
|
||||
}
|
||||
|
||||
const claimLink = await resolveOrderItemClaimLink({
|
||||
orderId: input.order.id,
|
||||
orderItemId: input.orderItem.id,
|
||||
claimLinkBase: input.config.claimLinkBase,
|
||||
})
|
||||
if (!claimLink.claimUrl) {
|
||||
const claimLinkBase = String(input.config.claimLinkBase || '').trim().replace(/\/+$/, '')
|
||||
if (!claimLinkBase) {
|
||||
return
|
||||
}
|
||||
|
||||
const orderNo = resolveReceiptOrderId(input.order, input.orderItem)
|
||||
let claimUrl = ''
|
||||
let taskId: number | undefined
|
||||
|
||||
if (claimLinkBase.endsWith('/h5') || claimLinkBase.includes('/h5/')) {
|
||||
claimUrl = `${claimLinkBase}/${orderNo}`
|
||||
} else {
|
||||
const claimLink = await resolveOrderItemClaimLink({
|
||||
orderId: input.order.id,
|
||||
orderItemId: input.orderItem.id,
|
||||
claimLinkBase: input.config.claimLinkBase,
|
||||
})
|
||||
claimUrl = claimLink.claimUrl
|
||||
taskId = claimLink.taskId
|
||||
}
|
||||
|
||||
if (!claimUrl) {
|
||||
return
|
||||
}
|
||||
|
||||
const content = buildDouyinMashidaClaimMessage({
|
||||
config: input.config,
|
||||
claimUrl: claimLink.claimUrl,
|
||||
claimUrl,
|
||||
sku: input.orderItem.sku_code,
|
||||
orderNo,
|
||||
productTitle: input.orderItem.sku_name,
|
||||
@@ -277,7 +288,7 @@ async function notifyBuyerClaimLink(input: {
|
||||
orderId: input.order.id,
|
||||
orderItemId: input.orderItem.id,
|
||||
orderNo,
|
||||
taskId: claimLink.taskId,
|
||||
taskId,
|
||||
})
|
||||
}
|
||||
|
||||
|
||||
@@ -140,10 +140,16 @@ export async function resolveDouyinMashidaCertLink(input: {
|
||||
config: DouyinMashidaSourceConfig
|
||||
}): Promise<string> {
|
||||
const fallback = String(input.config.certLink || '').trim()
|
||||
if (!String(input.config.claimLinkBase || '').trim()) {
|
||||
const claimLinkBase = String(input.config.claimLinkBase || '').trim().replace(/\/+$/, '')
|
||||
if (!claimLinkBase) {
|
||||
return fallback
|
||||
}
|
||||
|
||||
const orderNo = resolveReceiptOrderId(input.order, input.orderItem)
|
||||
if (claimLinkBase.endsWith('/h5') || claimLinkBase.includes('/h5/')) {
|
||||
return `${claimLinkBase}/${orderNo}`
|
||||
}
|
||||
|
||||
const claimLink = await resolveOrderItemClaimLink({
|
||||
orderId: input.order.id,
|
||||
orderItemId: input.orderItem.id,
|
||||
|
||||
Reference in New Issue
Block a user