feat(claim): 配合方案B支持买家纠错扫码UID自愈绑定,自建页面增加确认更换提示与快捷填入

This commit is contained in:
yml2213
2026-10-06 11:12:18 +08:00
parent af6dc27017
commit 2a0eea40e9
3 changed files with 181 additions and 7 deletions
@@ -44,6 +44,12 @@ export function AffiliateDashClaimPanel({
affiliateDash.bindMismatch ||
(bound && boundAccount && expectedAccount && !boundAccountMatched),
)
const rockTokenLocked = Boolean(
bindMismatch &&
String(affiliateDash.sku || '')
.toLowerCase()
.startsWith('rock_'),
)
const canSubmit = Boolean(bound && boundAccountMatched && !bindMismatch)
const displayBoundAccount = boundAccount || '-'
const roleName = String(affiliateDash.roleName || '').trim()
@@ -62,11 +68,13 @@ export function AffiliateDashClaimPanel({
? skipScanAuthorized
? '账号已在平台授权,确认无误后提交发货(无需再次扫码)'
: '账号绑定成功,确认无误后提交发货'
: bindMismatch
? '绑定账号与填写 UID 不一致,请核对 UID 后用正确账号重新绑定'
: bound
? '已扫码,系统正在确认绑定账号'
: '打开绑定链接完成绑定,系统将自动确认'}
: rockTokenLocked
? '提货链接已绑定失败,不能更换新的提货号,请联系客服处理'
: bindMismatch
? '绑定账号与填写 UID 不一致,请核对 UID 后用正确账号重新绑定'
: bound
? '已扫码,系统正在确认绑定账号'
: '打开绑定链接完成绑定,系统将自动确认'}
</p>
</div>
@@ -92,7 +100,39 @@ export function AffiliateDashClaimPanel({
type="warning"
showIcon
message="绑定账号与填写 UID 不一致"
description={`当前识别到 ${displayBoundAccount},请使用你填写的 UID(${expectedAccount || '-'})对应账号重新扫码绑定。`}
description={
<div>
<p style={{ margin: '0 0 8px 0' }}>
当前微信/QQ扫码识别到角色:
<strong>
{roleName ? `「${roleName}」` : ''} ({displayBoundAccount})
</strong>
, 与您填写的 UID({expectedAccount || '-'})不一致。
</p>
{boundAccount ? (
<div style={{ marginTop: 8 }}>
<Typography.Text type="secondary" style={{ display: 'block', marginBottom: 6 }}>
如确系本人账号,请修改上方 UID 为扫码账号({boundAccount})并点击更新确认绑定:
</Typography.Text>
<Button
size="small"
type="primary"
ghost
disabled={submittingUid}
onClick={() => {
onUidChange(boundAccount)
}}
>
填入扫码 UID({boundAccount})
</Button>
</div>
) : (
<p style={{ margin: 0, color: 'rgba(0, 0, 0, 0.45)' }}>
如需更换微信号请联系客服处理。
</p>
)}
</div>
}
style={{ marginBottom: 16 }}
/>
) : null}
@@ -186,7 +226,11 @@ export function AffiliateDashClaimPanel({
{hasBindQr ? (
<div style={{ marginBottom: 16, textAlign: 'center' }}>
<Typography.Text type="secondary" style={{ display: 'block', marginBottom: 8 }}>
如需换号可重新扫码绑定
{String(affiliateDash.sku || '')
.toLowerCase()
.startsWith('rock_')
? '请使用填写的 UID 对应账号扫码。绑错后不能更换提货号,需联系客服'
: '如需换号可重新扫码绑定'}
</Typography.Text>
<img
src={qrCodeDataUrl}