Sfoglia il codice sorgente

票45人工测试通道:支持 ?scenario= 查询参数激活mock场景

Kazerin 1 settimana fa
parent
commit
c5a4d13f2b
1 ha cambiato i file con 10 aggiunte e 1 eliminazioni
  1. 10 1
      src/modules/cockpit/mocks/index.js

+ 10 - 1
src/modules/cockpit/mocks/index.js

@@ -44,8 +44,17 @@ import { registerCockpitMocks } from './contractMocks.js'
 /** 只读全局开关(走查用;生产不会设这些键)。 */
 function readScenario() {
     if (typeof globalThis === 'undefined') return {}
+    // 人工测试通道:Console 里设 `window.__COCKPIT_MOCK_SCENARIO__` 后**刷新会丢**,
+    // 所以再支持 `?scenario=xxx`(改地址栏即可,刷新与分享都不丢)。
+    // 两者同时存在时以 URL 为准 —— 地址栏是人工测试唯一稳定的入口。
+    let fromUrl = ''
+    try {
+        fromUrl = new URLSearchParams(globalThis.location && globalThis.location.search).get('scenario') || ''
+    } catch (error) {
+        fromUrl = ''
+    }
     return {
-        scenario: globalThis.__COCKPIT_MOCK_SCENARIO__ || 'success',
+        scenario: fromUrl || globalThis.__COCKPIT_MOCK_SCENARIO__ || 'success',
         onlyPath: globalThis.__COCKPIT_MOCK_ONLY__ || '',
         prefix: globalThis.__COCKPIT_MOCK_PREFIX__ || '',
         mapSnapshot: globalThis.__COCKPIT_MOCK_MAP__ || {},