diff --git a/package-lock.json b/package-lock.json index 17776a4..cc1086a 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1349,6 +1349,14 @@ "resolved": "docs-site", "link": true }, + "node_modules/@xuqm/vue3-sdk": { + "version": "0.2.2", + "resolved": "https://nexus.xuqinmin.com/repository/npm-hosted/@xuqm/vue3-sdk/-/vue3-sdk-0.2.2.tgz", + "integrity": "sha512-1fZrqEcPHf7E7LLIx2QhWG8s/yWxmNa2QNyvhvmsvyp2/LkO0uX++l/4aHZqvfiqlUDhcr892I4YdRoYuzAcQw==", + "peerDependencies": { + "vue": "^3.5.0" + } + }, "node_modules/abbrev": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/abbrev/-/abbrev-2.0.0.tgz", @@ -4718,6 +4726,7 @@ "version": "0.1.0", "dependencies": { "@element-plus/icons-vue": "^2.3.1", + "@xuqm/vue3-sdk": "^0.2.2", "axios": "^1.7.9", "element-plus": "^2.9.1", "pinia": "^3.0.1", diff --git a/tenant-platform/package.json b/tenant-platform/package.json index e4bb115..0d76e67 100644 --- a/tenant-platform/package.json +++ b/tenant-platform/package.json @@ -9,10 +9,10 @@ "preview": "vite preview" }, "dependencies": { - "axios": "^1.7.9", - "@xuqm/vue3-sdk": "0.2.0", - "element-plus": "^2.9.1", "@element-plus/icons-vue": "^2.3.1", + "@xuqm/vue3-sdk": "^0.2.2", + "axios": "^1.7.9", + "element-plus": "^2.9.1", "pinia": "^3.0.1", "vue": "^3.5.13", "vue-router": "^4.5.0" @@ -20,9 +20,9 @@ "devDependencies": { "@vitejs/plugin-vue": "^5.2.3", "typescript": "^5.8.2", - "vite": "^6.2.2", - "vue-tsc": "^2.2.8", "unplugin-auto-import": "^0.18.2", - "unplugin-vue-components": "^0.27.4" + "unplugin-vue-components": "^0.27.4", + "vite": "^6.2.2", + "vue-tsc": "^2.2.8" } } diff --git a/tenant-platform/src/services/storeReviewRealtime.ts b/tenant-platform/src/services/storeReviewRealtime.ts index c6680a1..0a547ed 100644 --- a/tenant-platform/src/services/storeReviewRealtime.ts +++ b/tenant-platform/src/services/storeReviewRealtime.ts @@ -1,5 +1,5 @@ import { ElMessage } from 'element-plus' -import { init, login, ImClient, type ImMessage } from '@xuqm/vue3-sdk' +import { ImClient, type ImMessage } from '@xuqm/vue3-sdk' import client from '@/api/client' export interface StoreReviewRefreshEvent { @@ -24,10 +24,6 @@ interface PlatformEventTokenResponse { let imClient: ImClient | null = null let activeAppKey = '' -function sdkBaseUrl() { - return import.meta.env.VITE_IM_API_BASE_URL ?? '' -} - function sdkWsUrl() { return import.meta.env.VITE_IM_WS_URL ?? '' } @@ -65,22 +61,18 @@ export async function connectStoreReviewRealtime(appKey: string, onEvent: (event const res = await client.get<{ data: PlatformEventTokenResponse }>('/im/platform-events/token', { params: { appKey }, }) - const token = res.data.data ?? (res.data as unknown as PlatformEventTokenResponse) - init({ - appKey, - baseUrl: sdkBaseUrl(), - wsUrl: sdkWsUrl(), - debug: import.meta.env.DEV, - }) - login(token.userId, token.token) + const tokenData = res.data.data ?? (res.data as unknown as PlatformEventTokenResponse) + const platformToken = tokenData.token + if (import.meta.env.DEV) { - console.debug('[tenant-platform][IM] store review realtime connected token acquired', { + console.debug('[tenant-platform][IM] store review realtime token acquired', { appKey, - userId: token.userId, + userId: tokenData.userId, }) } - const clientInstance = new ImClient() + const wsUrl = sdkWsUrl() || undefined + const clientInstance = new ImClient({ tokenSupplier: () => platformToken, wsUrl }) clientInstance.on('message', (message) => { const event = parseEvent(message) if (!event || event.appKey !== activeAppKey) return diff --git a/tenant-platform/src/views/update/VersionManagementView.vue b/tenant-platform/src/views/update/VersionManagementView.vue index 229c9b4..c2b0fd9 100644 --- a/tenant-platform/src/views/update/VersionManagementView.vue +++ b/tenant-platform/src/views/update/VersionManagementView.vue @@ -495,73 +495,80 @@ - +
- - - {{ storeReviewDetailVersion.versionName }} · {{ storeReviewDetailVersion.versionCode }} - - - - {{ statusLabel(storeReviewDetailVersion) }} - - - - - {{ parseStoreTargets(storeReviewDetailVersion.storeSubmitTargets).map(storeLabel).join('、') }} - - 未配置 - - - {{ formatTime(storeReviewDetailVersion.createdAt) }} - - + +
+ + {{ storeReviewDetailVersion.versionName }} + · {{ storeReviewDetailVersion.versionCode }} + + + {{ statusLabel(storeReviewDetailVersion) }} + + + 实时 + +
- - - - - - - - - - - - - - - - - - - - +
- + +
+
+
+ + + +
+ {{ step.label }} +
+
+ + +
+
+ 提交时间 + {{ formatTime(item.submittedAt) }} +
+
+ 更新时间 + {{ formatTime(item.updatedAt) }} +
+
+ 批次 + {{ item.batchId.slice(0, 8) }}… +
+
+ + +
+ + {{ item.reason }} +
+ + + +