feat(update): show 已上线 state and pre-existing badge for store review
- reviewLabel: APPROVED now displays '已上线' instead of '已通过' - parseStoreReview: extract liveOnStore and preExisting fields from JSON - Store review dialog card: show '直接上传' badge when preExisting=true, indicating the version was published directly to the store rather than via the platform submission flow Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
这个提交包含在:
父节点
416783047c
当前提交
1310488835
@ -576,6 +576,13 @@
|
||||
<el-tag :type="reviewTagType(item.state)" size="small" class="review-card-tag">
|
||||
{{ reviewLabel(item.state) }}
|
||||
</el-tag>
|
||||
<el-tag
|
||||
v-if="item.preExisting"
|
||||
type="info"
|
||||
size="small"
|
||||
class="review-card-tag"
|
||||
title="此版本非由平台提交,为直接在应用商店上传发布"
|
||||
>直接上传</el-tag>
|
||||
</div>
|
||||
|
||||
<!-- Stage progress -->
|
||||
@ -1487,7 +1494,7 @@ const submitStoreScheduledAt = ref('')
|
||||
|
||||
const showStoreReviewDetail = ref(false)
|
||||
const storeReviewDetailVersion = ref<AppVersion | null>(null)
|
||||
const storeReviewDetailItems = ref<{ store: string; state: string; reason?: string; stage?: string; submittedAt?: string; updatedAt?: string; batchId?: string }[]>([])
|
||||
const storeReviewDetailItems = ref<{ store: string; state: string; reason?: string; stage?: string; submittedAt?: string; updatedAt?: string; batchId?: string; liveOnStore?: boolean; preExisting?: boolean }[]>([])
|
||||
const storeReviewDetailLive = ref(false)
|
||||
const cancellingReview = ref(false)
|
||||
const retryingStores = ref<Set<string>>(new Set())
|
||||
@ -2175,7 +2182,7 @@ function storeLabel(type: string) {
|
||||
function reviewLabel(state: string): string {
|
||||
return {
|
||||
PENDING: '待提交', SUBMITTING: '提交中', UNDER_REVIEW: '审核中',
|
||||
APPROVED: '已通过', REJECTED: '已拒绝', WITHDRAWN: '已撤回', FAILED: '提交失败',
|
||||
APPROVED: '已上线', REJECTED: '已拒绝', WITHDRAWN: '已撤回', FAILED: '提交失败',
|
||||
}[state] ?? state
|
||||
}
|
||||
|
||||
@ -2308,7 +2315,7 @@ function scheduleStoreReviewReload() {
|
||||
}, 200)
|
||||
}
|
||||
|
||||
function parseStoreReview(json?: string): { store: string; state: string; reason?: string; stage?: string; submittedAt?: string; updatedAt?: string; batchId?: string }[] {
|
||||
function parseStoreReview(json?: string): { store: string; state: string; reason?: string; stage?: string; submittedAt?: string; updatedAt?: string; batchId?: string; liveOnStore?: boolean; preExisting?: boolean }[] {
|
||||
if (!json) return []
|
||||
try {
|
||||
const m = JSON.parse(json) as Record<string, unknown>
|
||||
@ -2326,6 +2333,8 @@ function parseStoreReview(json?: string): { store: string; state: string; reason
|
||||
submittedAt: String(item.submittedAt ?? ''),
|
||||
updatedAt: String(item.updatedAt ?? ''),
|
||||
batchId: String(item.batchId ?? ''),
|
||||
liveOnStore: item.liveOnStore === true,
|
||||
preExisting: item.preExisting === true,
|
||||
}
|
||||
}
|
||||
return { store, state: String(value ?? ''), reason: '' }
|
||||
|
||||
正在加载...
在新工单中引用
屏蔽一个用户