diff --git a/src/components/report/blocks/VehicleBlockQCXGYTS2.vue b/src/components/report/blocks/VehicleBlockQCXGYTS2.vue
index 26cd18e..989c20e 100644
--- a/src/components/report/blocks/VehicleBlockQCXGYTS2.vue
+++ b/src/components/report/blocks/VehicleBlockQCXGYTS2.vue
@@ -18,8 +18,10 @@ const maskedName = computed(() => {
return name.length > 1 ? `${name[0]}${'*'.repeat(name.length - 1)}` : '*'
})
+/** 上游天远返回 { result: { status } },少数场景为顶层 status */
const status = computed(() => {
- const s = Number(p.value.status)
+ const raw = p.value
+ const s = Number(raw?.status ?? raw?.result?.status)
if ([0, -1, -2, -4].includes(s))
return s
return null
diff --git a/src/config/vehicleReportRegistry.js b/src/config/vehicleReportRegistry.js
index 97da9d9..224f79d 100644
--- a/src/config/vehicleReportRegistry.js
+++ b/src/config/vehicleReportRegistry.js
@@ -19,7 +19,7 @@ export const VEHICLE_API_TITLES = {
QCXG4I1Z: '车辆过户详版查询',
QCXGGB2Q: '车辆二要素核验 V1',
QCXGP00W: '车辆出险详版查询',
- QCXGYTS2: '车辆二要素核验 V2',
+ QCXGYTS2: '人车核验(详版)',
QCXGGJ3A: '车辆 VIN 码查询号牌简版',
QCXGJJ2A: '车辆 VIN 码查车辆信息详版',
QCXG5F3A: '名下车辆车牌查询 B',
diff --git a/src/pages.json b/src/pages.json
index 2172194..5fdbe45 100644
--- a/src/pages.json
+++ b/src/pages.json
@@ -59,9 +59,7 @@
"navigationBarTitleText": "我的",
"navigationStyle": "default",
"navigationBarBackgroundColor": "#ffffff",
- "navigationBarTextStyle": "black",
- "enableShareAppMessage": true,
- "enableShareTimeline": true
+ "navigationBarTextStyle": "black"
}
},
{
diff --git a/src/pages/mine.vue b/src/pages/mine.vue
index 6c6bf81..f2a93c0 100644
--- a/src/pages/mine.vue
+++ b/src/pages/mine.vue
@@ -11,9 +11,6 @@ definePage({
navigationStyle: 'default',
navigationBarBackgroundColor: '#ffffff',
navigationBarTextStyle: 'black',
- // 微信小程序:允许使用 open-type="share" 与右上角转发
- enableShareAppMessage: true,
- enableShareTimeline: true,
},
})
diff --git a/src/pages/report/detail.vue b/src/pages/report/detail.vue
index 3033884..d1484d6 100644
--- a/src/pages/report/detail.vue
+++ b/src/pages/report/detail.vue
@@ -1,5 +1,5 @@
-
+
加载中…
+
+
+ {{ errText || '报告生成中,请稍候…' }}
+
{{ errText }}
@@ -95,6 +141,28 @@ async function load() {
color: #86909c;
}
+.state.pending {
+ display: flex;
+ flex-direction: column;
+ align-items: center;
+ gap: 24rpx;
+}
+
+.spinner {
+ width: 64rpx;
+ height: 64rpx;
+ border: 6rpx solid #e5e6eb;
+ border-top-color: #1768ff;
+ border-radius: 50%;
+ animation: spin 0.9s linear infinite;
+}
+
+@keyframes spin {
+ to {
+ transform: rotate(360deg);
+ }
+}
+
.content {
padding: 24rpx 24rpx 48rpx;
box-sizing: border-box;
diff --git a/src/report-ui/vehicles/CQCXGYTS2.vue b/src/report-ui/vehicles/CQCXGYTS2.vue
index be1cee4..9eb30ed 100644
--- a/src/report-ui/vehicles/CQCXGYTS2.vue
+++ b/src/report-ui/vehicles/CQCXGYTS2.vue
@@ -53,7 +53,8 @@ const maskedName = computed(() => {
// status: 0 一致, -1 不一致, -2 非法姓名, -4 无记录
const status = computed(() => {
- const s = props.data?.status;
+ const raw = props.data || {};
+ const s = Number(raw.status ?? raw.result?.status);
if (s === 0 || s === -1 || s === -2 || s === -4) return s;
return null;
});
diff --git a/src/utils/queryReportParse.js b/src/utils/queryReportParse.js
index 2e6285a..08b1c59 100644
--- a/src/utils/queryReportParse.js
+++ b/src/utils/queryReportParse.js
@@ -5,6 +5,9 @@ import { normalizeVehicleQueryData } from './vehicleReportNormalize'
* 解析 /query/example、/query/orderNo 等接口返回体。
* 成功时 data 为 AES 加密字符串,需解密后取 query_data。
*/
+/** 与 H5 Report.vue:报告生成中(轮询) */
+const PENDING_API_CODES = new Set([200002, 100005])
+
export function parseEncryptedQueryReport(apiBody) {
if (!apiBody)
return { ok: false, msg: '无响应数据' }
@@ -12,6 +15,9 @@ export function parseEncryptedQueryReport(apiBody) {
if (apiBody.code === 200003)
return { ok: false, empty: true, msg: apiBody.msg || '暂无示例报告' }
+ if (PENDING_API_CODES.has(apiBody.code))
+ return { ok: false, pending: true, msg: apiBody.msg || '报告生成中,请稍候…' }
+
if (apiBody.code !== 200 || apiBody.data == null || apiBody.data === '')
return { ok: false, msg: apiBody.msg || '加载失败' }
@@ -29,6 +35,12 @@ export function parseEncryptedQueryReport(apiBody) {
if (!payload || typeof payload !== 'object')
return { ok: false, msg: '报告数据格式错误' }
+ const queryState = String(payload.query_state || '')
+ if (queryState === 'pending')
+ return { ok: false, pending: true, msg: '报告生成中,请稍候…' }
+ if (queryState === 'failed')
+ return { ok: false, failed: true, msg: '报告生成失败' }
+
const rows = normalizeVehicleQueryData(payload.query_data || [])
return {
ok: true,
@@ -36,5 +48,6 @@ export function parseEncryptedQueryReport(apiBody) {
queryParams: payload.query_params || {},
rows,
createTime: payload.create_time || null,
+ queryState,
}
}