whistle.mockbubu 2.2.6 → 2.2.7

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/public/js/app.js CHANGED
@@ -61,16 +61,18 @@ __webpack_require__.r(__webpack_exports__);
61
61
  /* harmony import */ var core_js_modules_esnext_iterator_map_js__WEBPACK_IMPORTED_MODULE_9___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_esnext_iterator_map_js__WEBPACK_IMPORTED_MODULE_9__);
62
62
  /* harmony import */ var core_js_modules_esnext_iterator_some_js__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! core-js/modules/esnext.iterator.some.js */ "./node_modules/.pnpm/core-js@3.8.3/node_modules/core-js/modules/esnext.iterator.some.js");
63
63
  /* harmony import */ var core_js_modules_esnext_iterator_some_js__WEBPACK_IMPORTED_MODULE_10___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_esnext_iterator_some_js__WEBPACK_IMPORTED_MODULE_10__);
64
- /* harmony import */ var vue__WEBPACK_IMPORTED_MODULE_19__ = __webpack_require__(/*! vue */ "./node_modules/.pnpm/vue@2.7.14/node_modules/vue/dist/vue.runtime.esm.js");
64
+ /* harmony import */ var vue__WEBPACK_IMPORTED_MODULE_20__ = __webpack_require__(/*! vue */ "./node_modules/.pnpm/vue@2.7.14/node_modules/vue/dist/vue.runtime.esm.js");
65
65
  /* harmony import */ var _utils_clipboard__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! ../utils/clipboard */ "./src/utils/clipboard.js");
66
66
  /* harmony import */ var _service__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! ../service */ "./src/service/index.js");
67
67
  /* harmony import */ var dayjs__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(/*! dayjs */ "./node_modules/.pnpm/dayjs@1.11.2/node_modules/dayjs/dayjs.min.js");
68
68
  /* harmony import */ var dayjs__WEBPACK_IMPORTED_MODULE_13___default = /*#__PURE__*/__webpack_require__.n(dayjs__WEBPACK_IMPORTED_MODULE_13__);
69
69
  /* harmony import */ var _util__WEBPACK_IMPORTED_MODULE_14__ = __webpack_require__(/*! ../util */ "./src/util.js");
70
- /* harmony import */ var _utils_cache_manager__WEBPACK_IMPORTED_MODULE_15__ = __webpack_require__(/*! ../utils/cache-manager */ "./src/utils/cache-manager.js");
71
- /* harmony import */ var _content_RequestList_vue__WEBPACK_IMPORTED_MODULE_16__ = __webpack_require__(/*! ./content/RequestList.vue */ "./src/components/content/RequestList.vue");
72
- /* harmony import */ var _header_ActionPanel_vue__WEBPACK_IMPORTED_MODULE_17__ = __webpack_require__(/*! ./header/ActionPanel.vue */ "./src/components/header/ActionPanel.vue");
73
- /* harmony import */ var _content_RequestDetail_vue__WEBPACK_IMPORTED_MODULE_18__ = __webpack_require__(/*! ./content/RequestDetail.vue */ "./src/components/content/RequestDetail.vue");
70
+ /* harmony import */ var _utils_constants__WEBPACK_IMPORTED_MODULE_15__ = __webpack_require__(/*! ../utils/constants */ "./src/utils/constants.js");
71
+ /* harmony import */ var _utils_cache_manager__WEBPACK_IMPORTED_MODULE_16__ = __webpack_require__(/*! ../utils/cache-manager */ "./src/utils/cache-manager.js");
72
+ /* harmony import */ var _content_RequestList_vue__WEBPACK_IMPORTED_MODULE_17__ = __webpack_require__(/*! ./content/RequestList.vue */ "./src/components/content/RequestList.vue");
73
+ /* harmony import */ var _header_ActionPanel_vue__WEBPACK_IMPORTED_MODULE_18__ = __webpack_require__(/*! ./header/ActionPanel.vue */ "./src/components/header/ActionPanel.vue");
74
+ /* harmony import */ var _content_RequestDetail_vue__WEBPACK_IMPORTED_MODULE_19__ = __webpack_require__(/*! ./content/RequestDetail.vue */ "./src/components/content/RequestDetail.vue");
75
+
74
76
 
75
77
 
76
78
 
@@ -97,10 +99,10 @@ const __default__ = {
97
99
  };
98
100
  /* harmony default export */ __webpack_exports__["default"] = (/*#__PURE__*/Object.assign(__default__, {
99
101
  setup(__props) {
100
- const requestDetailRef = (0,vue__WEBPACK_IMPORTED_MODULE_19__.ref)(null);
101
- const requestListRef = (0,vue__WEBPACK_IMPORTED_MODULE_19__.ref)(null);
102
- const actionPanelRef = (0,vue__WEBPACK_IMPORTED_MODULE_19__.ref)(null);
103
- const searchParam = (0,vue__WEBPACK_IMPORTED_MODULE_19__.reactive)({
102
+ const requestDetailRef = (0,vue__WEBPACK_IMPORTED_MODULE_20__.ref)(null);
103
+ const requestListRef = (0,vue__WEBPACK_IMPORTED_MODULE_20__.ref)(null);
104
+ const actionPanelRef = (0,vue__WEBPACK_IMPORTED_MODULE_20__.ref)(null);
105
+ const searchParam = (0,vue__WEBPACK_IMPORTED_MODULE_20__.reactive)({
104
106
  name: '',
105
107
  rule: '',
106
108
  range: 'all',
@@ -110,14 +112,14 @@ const __default__ = {
110
112
 
111
113
  // ✅ 新架构:分离两个列表
112
114
  // savedList: 已保存文件列表(固定在顶部,不受2000条限制)
113
- const savedList = (0,vue__WEBPACK_IMPORTED_MODULE_19__.ref)([]);
115
+ const savedList = (0,vue__WEBPACK_IMPORTED_MODULE_20__.ref)([]);
114
116
  // cachedList: 未保存数据列表(轮询追加,有2000条限制)
115
- const cachedList = (0,vue__WEBPACK_IMPORTED_MODULE_19__.ref)([]);
117
+ const cachedList = (0,vue__WEBPACK_IMPORTED_MODULE_20__.ref)([]);
116
118
  // requestList: 合并后的展示列表 [...savedList, ...cachedList]
117
- const requestList = (0,vue__WEBPACK_IMPORTED_MODULE_19__.ref)([]);
119
+ const requestList = (0,vue__WEBPACK_IMPORTED_MODULE_20__.ref)([]);
118
120
 
119
121
  // 筛选后的列表(用于前端展示)
120
- const filteredList = (0,vue__WEBPACK_IMPORTED_MODULE_19__.computed)(() => {
122
+ const filteredList = (0,vue__WEBPACK_IMPORTED_MODULE_20__.computed)(() => {
121
123
  let list = requestList.value;
122
124
 
123
125
  // 1. 按搜索文本筛选(模糊匹配 URL)
@@ -150,22 +152,22 @@ const __default__ = {
150
152
  }
151
153
  return list;
152
154
  });
153
- const activeRules = (0,vue__WEBPACK_IMPORTED_MODULE_19__.ref)([{
155
+ const activeRules = (0,vue__WEBPACK_IMPORTED_MODULE_20__.ref)([{
154
156
  name: 'All',
155
157
  value: ''
156
158
  }]); // whistle 激活的 mockbubu 规则列表
157
- const currentRow = (0,vue__WEBPACK_IMPORTED_MODULE_19__.ref)(null);
158
- const selectedRows = (0,vue__WEBPACK_IMPORTED_MODULE_19__.ref)([]); // 批量选中的行
159
+ const currentRow = (0,vue__WEBPACK_IMPORTED_MODULE_20__.ref)(null);
160
+ const selectedRows = (0,vue__WEBPACK_IMPORTED_MODULE_20__.ref)([]); // 批量选中的行
159
161
 
160
162
  // 备注编辑弹窗状态
161
- const remarkDialogVisible = (0,vue__WEBPACK_IMPORTED_MODULE_19__.ref)(false);
162
- const remarkDraft = (0,vue__WEBPACK_IMPORTED_MODULE_19__.ref)('');
163
- const remarkSaving = (0,vue__WEBPACK_IMPORTED_MODULE_19__.ref)(false);
164
- const remarkEditingName = (0,vue__WEBPACK_IMPORTED_MODULE_19__.ref)('');
163
+ const remarkDialogVisible = (0,vue__WEBPACK_IMPORTED_MODULE_20__.ref)(false);
164
+ const remarkDraft = (0,vue__WEBPACK_IMPORTED_MODULE_20__.ref)('');
165
+ const remarkSaving = (0,vue__WEBPACK_IMPORTED_MODULE_20__.ref)(false);
166
+ const remarkEditingName = (0,vue__WEBPACK_IMPORTED_MODULE_20__.ref)('');
165
167
  let remarkEditingRow = null;
166
168
 
167
169
  // 插件启用状态(由 ActionPanel emit 更新)
168
- const isPluginEnabled = (0,vue__WEBPACK_IMPORTED_MODULE_19__.ref)(true);
170
+ const isPluginEnabled = (0,vue__WEBPACK_IMPORTED_MODULE_20__.ref)(true);
169
171
  const handlePluginEnabledChange = enabled => {
170
172
  isPluginEnabled.value = enabled;
171
173
  if (!enabled) {
@@ -182,8 +184,8 @@ const __default__ = {
182
184
 
183
185
  // 悬浮模式状态
184
186
  const FLOATING_WIDTH_THRESHOLD = 800; // 宽度阈值(px):低于此值自动切换为悬浮模式
185
- const isFloatingMode = (0,vue__WEBPACK_IMPORTED_MODULE_19__.ref)(false);
186
- const drawerVisible = (0,vue__WEBPACK_IMPORTED_MODULE_19__.ref)(false);
187
+ const isFloatingMode = (0,vue__WEBPACK_IMPORTED_MODULE_20__.ref)(false);
188
+ const drawerVisible = (0,vue__WEBPACK_IMPORTED_MODULE_20__.ref)(false);
187
189
  const toggleFloatingMode = () => {
188
190
  isFloatingMode.value = !isFloatingMode.value;
189
191
  drawerVisible.value = false;
@@ -207,7 +209,6 @@ const __default__ = {
207
209
  let parentResizeHandler = null;
208
210
  const initResizeObserver = () => {
209
211
  const apply = width => {
210
- console.log('[MockContainer] 浏览器视口宽度:', width, '悬浮模式:', width < FLOATING_WIDTH_THRESHOLD);
211
212
  isFloatingMode.value = width < FLOATING_WIDTH_THRESHOLD;
212
213
  };
213
214
  apply(getBrowserViewportWidth());
@@ -370,7 +371,7 @@ const __default__ = {
370
371
  savedFilesLoaded = true;
371
372
 
372
373
  // 选中第一行
373
- (0,vue__WEBPACK_IMPORTED_MODULE_19__.nextTick)(() => {
374
+ (0,vue__WEBPACK_IMPORTED_MODULE_20__.nextTick)(() => {
374
375
  changeCurrentRow();
375
376
  });
376
377
  } else {
@@ -444,7 +445,7 @@ const __default__ = {
444
445
  cachedList.value.push(...newCachedItems);
445
446
 
446
447
  // 加入 cacheManager(供后续操作使用,如保存、编辑)
447
- _utils_cache_manager__WEBPACK_IMPORTED_MODULE_15__["default"].addBatch(filteredData);
448
+ _utils_cache_manager__WEBPACK_IMPORTED_MODULE_16__["default"].addBatch(filteredData);
448
449
 
449
450
  // 只追加新数据到 requestList 末尾,避免重新赋值导致视口跳动
450
451
  requestList.value.push(...newCachedItems);
@@ -481,18 +482,18 @@ const __default__ = {
481
482
  currentRow.value = row;
482
483
 
483
484
  // 使用 nextTick 确保 DOM 更新后再设置高亮
484
- (0,vue__WEBPACK_IMPORTED_MODULE_19__.nextTick)(() => {
485
+ (0,vue__WEBPACK_IMPORTED_MODULE_20__.nextTick)(() => {
485
486
  if (requestListRef.value?.tableRef) {
486
487
  // 先清除所有高亮,再设置新的高亮,避免多个高亮同时存在
487
488
  requestListRef.value.tableRef.setCurrentRow(null);
488
- (0,vue__WEBPACK_IMPORTED_MODULE_19__.nextTick)(() => {
489
+ (0,vue__WEBPACK_IMPORTED_MODULE_20__.nextTick)(() => {
489
490
  requestListRef.value.tableRef.setCurrentRow(row);
490
491
  });
491
492
  }
492
493
  });
493
494
  };
494
495
  const changeCurrentRow = () => {
495
- (0,vue__WEBPACK_IMPORTED_MODULE_19__.nextTick)(() => {
496
+ (0,vue__WEBPACK_IMPORTED_MODULE_20__.nextTick)(() => {
496
497
  let newCurrentRow = filteredList.value[0];
497
498
  if (currentRow.value) {
498
499
  newCurrentRow = filteredList.value.find(item => currentRow.value.name === item.name);
@@ -503,10 +504,10 @@ const __default__ = {
503
504
  // 同一行(rowKey 相同)时只同步表格高亮,不重置 currentRow
504
505
  // 避免 visibilitychange 刷新列表后触发右侧编辑区重新加载
505
506
  if (newCurrentRow && currentRow.value && newCurrentRow.rowKey === currentRow.value.rowKey) {
506
- (0,vue__WEBPACK_IMPORTED_MODULE_19__.nextTick)(() => {
507
+ (0,vue__WEBPACK_IMPORTED_MODULE_20__.nextTick)(() => {
507
508
  if (requestListRef.value?.tableRef) {
508
509
  requestListRef.value.tableRef.setCurrentRow(null);
509
- (0,vue__WEBPACK_IMPORTED_MODULE_19__.nextTick)(() => requestListRef.value.tableRef.setCurrentRow(newCurrentRow));
510
+ (0,vue__WEBPACK_IMPORTED_MODULE_20__.nextTick)(() => requestListRef.value.tableRef.setCurrentRow(newCurrentRow));
510
511
  }
511
512
  });
512
513
  return;
@@ -630,7 +631,7 @@ const __default__ = {
630
631
  savedList.value.push(row);
631
632
 
632
633
  // 从 cacheManager 移除
633
- _utils_cache_manager__WEBPACK_IMPORTED_MODULE_15__["default"].remove(url);
634
+ _utils_cache_manager__WEBPACK_IMPORTED_MODULE_16__["default"].remove(url);
634
635
  } else {
635
636
  console.warn('[MockContainer] 未在 cachedList 中找到 url:', url);
636
637
  }
@@ -678,7 +679,7 @@ const __default__ = {
678
679
  }
679
680
 
680
681
  // 从缓存中删除(已保存)
681
- _utils_cache_manager__WEBPACK_IMPORTED_MODULE_15__["default"].remove(row.url);
682
+ _utils_cache_manager__WEBPACK_IMPORTED_MODULE_16__["default"].remove(row.url);
682
683
  // 删除 session 字段,标记为已保存
683
684
  delete row.session;
684
685
 
@@ -760,7 +761,7 @@ const __default__ = {
760
761
  rowKey: `file-${savedFile.id}`
761
762
  });
762
763
  }
763
- _utils_cache_manager__WEBPACK_IMPORTED_MODULE_15__["default"].remove(row.url);
764
+ _utils_cache_manager__WEBPACK_IMPORTED_MODULE_16__["default"].remove(row.url);
764
765
  delete row.session;
765
766
  const cacheIndex = cachedList.value.findIndex(item => item.url === row.url);
766
767
  if (cacheIndex !== -1) {
@@ -871,7 +872,7 @@ const __default__ = {
871
872
  }
872
873
 
873
874
  // 从缓存中删除(已保存)
874
- _utils_cache_manager__WEBPACK_IMPORTED_MODULE_15__["default"].remove(row.url);
875
+ _utils_cache_manager__WEBPACK_IMPORTED_MODULE_16__["default"].remove(row.url);
875
876
  // 删除 session 字段,标记为已保存
876
877
  delete row.session;
877
878
 
@@ -954,7 +955,7 @@ const __default__ = {
954
955
  cachedList.value.splice(cachedIndex, 1);
955
956
  }
956
957
  // 从 cacheManager 删除
957
- _utils_cache_manager__WEBPACK_IMPORTED_MODULE_15__["default"].remove(row.url);
958
+ _utils_cache_manager__WEBPACK_IMPORTED_MODULE_16__["default"].remove(row.url);
958
959
  // 从 requestList 删除(用 URL 匹配)
959
960
  const requestIndex = requestList.value.findIndex(item => item.url === row.url);
960
961
  if (requestIndex !== -1) {
@@ -992,7 +993,7 @@ const __default__ = {
992
993
  }
993
994
 
994
995
  // 1. 切换 CacheManager 组(清空缓存)
995
- _utils_cache_manager__WEBPACK_IMPORTED_MODULE_15__["default"].switchGroup(newGroupId);
996
+ _utils_cache_manager__WEBPACK_IMPORTED_MODULE_16__["default"].switchGroup(newGroupId);
996
997
 
997
998
  // 2. 清空前端列表
998
999
  savedList.value = [];
@@ -1008,7 +1009,7 @@ const __default__ = {
1008
1009
  try {
1009
1010
  const groupsRes = await (0,_service__WEBPACK_IMPORTED_MODULE_12__.getGroups)();
1010
1011
  if (groupsRes.code === 200 && groupsRes.data.currentGroupId) {
1011
- _utils_cache_manager__WEBPACK_IMPORTED_MODULE_15__["default"].setCurrentGroupId(groupsRes.data.currentGroupId);
1012
+ _utils_cache_manager__WEBPACK_IMPORTED_MODULE_16__["default"].setCurrentGroupId(groupsRes.data.currentGroupId);
1012
1013
  }
1013
1014
  } catch (err) {
1014
1015
  console.error('[MockContainer] 获取当前组ID失败:', err);
@@ -1094,7 +1095,7 @@ const __default__ = {
1094
1095
  // 通过 id 字段判断是否已保存
1095
1096
 
1096
1097
  // 从缓存中删除
1097
- _utils_cache_manager__WEBPACK_IMPORTED_MODULE_15__["default"].remove(row.url);
1098
+ _utils_cache_manager__WEBPACK_IMPORTED_MODULE_16__["default"].remove(row.url);
1098
1099
 
1099
1100
  // 从 cachedList 移到 savedList
1100
1101
  const cacheIndex = cachedList.value.findIndex(item => item.url === row.url);
@@ -1212,7 +1213,7 @@ const __default__ = {
1212
1213
  }
1213
1214
 
1214
1215
  // 从 cacheManager 删除
1215
- _utils_cache_manager__WEBPACK_IMPORTED_MODULE_15__["default"].remove(row.url);
1216
+ _utils_cache_manager__WEBPACK_IMPORTED_MODULE_16__["default"].remove(row.url);
1216
1217
  totalDeleted++;
1217
1218
  });
1218
1219
  }
@@ -1316,7 +1317,7 @@ const __default__ = {
1316
1317
  // 通过 id 字段判断是否已保存
1317
1318
 
1318
1319
  // 从缓存中删除
1319
- _utils_cache_manager__WEBPACK_IMPORTED_MODULE_15__["default"].remove(row.url);
1320
+ _utils_cache_manager__WEBPACK_IMPORTED_MODULE_16__["default"].remove(row.url);
1320
1321
 
1321
1322
  // 从 cachedList 移到 savedList
1322
1323
  const cacheIndex = cachedList.value.findIndex(item => item.url === row.url);
@@ -1336,7 +1337,7 @@ const __default__ = {
1336
1337
  element_ui_lib_message__WEBPACK_IMPORTED_MODULE_4___default().error('批量保存失败: ' + (err.message || '未知错误'));
1337
1338
  }
1338
1339
  };
1339
- (0,vue__WEBPACK_IMPORTED_MODULE_19__.watch)(currentRow, val => {
1340
+ (0,vue__WEBPACK_IMPORTED_MODULE_20__.watch)(currentRow, val => {
1340
1341
  if (val && val.id) {
1341
1342
  // 已保存文件:按需加载完整数据(含 query/payload/headers)
1342
1343
  getCurrentRowData(val);
@@ -1346,12 +1347,12 @@ const __default__ = {
1346
1347
  val.query = extractQueryFromSession(val.session);
1347
1348
  }
1348
1349
  });
1349
- (0,vue__WEBPACK_IMPORTED_MODULE_19__.onMounted)(async () => {
1350
+ (0,vue__WEBPACK_IMPORTED_MODULE_20__.onMounted)(async () => {
1350
1351
  // 0. 初始化当前组ID(从后端获取)
1351
1352
  try {
1352
1353
  const groupsRes = await (0,_service__WEBPACK_IMPORTED_MODULE_12__.getGroups)();
1353
1354
  if (groupsRes.code === 200 && groupsRes.data.currentGroupId) {
1354
- _utils_cache_manager__WEBPACK_IMPORTED_MODULE_15__["default"].setCurrentGroupId(groupsRes.data.currentGroupId);
1355
+ _utils_cache_manager__WEBPACK_IMPORTED_MODULE_16__["default"].setCurrentGroupId(groupsRes.data.currentGroupId);
1355
1356
  }
1356
1357
  } catch (err) {
1357
1358
  console.error('[MockContainer] 获取当前组ID失败:', err);
@@ -1373,7 +1374,7 @@ const __default__ = {
1373
1374
  // 5. 监听面板实际可见宽度(frameElement 在父页面中的渲染尺寸)
1374
1375
  initResizeObserver();
1375
1376
  });
1376
- (0,vue__WEBPACK_IMPORTED_MODULE_19__.onBeforeUnmount)(() => {
1377
+ (0,vue__WEBPACK_IMPORTED_MODULE_20__.onBeforeUnmount)(() => {
1377
1378
  document.removeEventListener('visibilitychange', visibleChange);
1378
1379
  if (intervalId) {
1379
1380
  clearInterval(intervalId);
@@ -1441,10 +1442,11 @@ const __default__ = {
1441
1442
  handleBatchUpdateMock,
1442
1443
  handleBatchDeleteSelected,
1443
1444
  handleBatchSave,
1444
- cacheManager: _utils_cache_manager__WEBPACK_IMPORTED_MODULE_15__["default"],
1445
- RequestList: _content_RequestList_vue__WEBPACK_IMPORTED_MODULE_16__["default"],
1446
- ActionPanel: _header_ActionPanel_vue__WEBPACK_IMPORTED_MODULE_17__["default"],
1447
- RequestDetail: _content_RequestDetail_vue__WEBPACK_IMPORTED_MODULE_18__["default"]
1445
+ TOOLTIP_DELAY: _utils_constants__WEBPACK_IMPORTED_MODULE_15__.TOOLTIP_DELAY,
1446
+ cacheManager: _utils_cache_manager__WEBPACK_IMPORTED_MODULE_16__["default"],
1447
+ RequestList: _content_RequestList_vue__WEBPACK_IMPORTED_MODULE_17__["default"],
1448
+ ActionPanel: _header_ActionPanel_vue__WEBPACK_IMPORTED_MODULE_18__["default"],
1449
+ RequestDetail: _content_RequestDetail_vue__WEBPACK_IMPORTED_MODULE_19__["default"]
1448
1450
  };
1449
1451
  }
1450
1452
  }));
@@ -1852,8 +1854,7 @@ const __default__ = {
1852
1854
  function validateRegex(operator, value) {
1853
1855
  if (operator !== 'regex' || !value) return null;
1854
1856
  try {
1855
- // eslint-disable-next-line no-new-regexp
1856
- new RegExp(value);
1857
+ RegExp(value);
1857
1858
  return null;
1858
1859
  } catch (e) {
1859
1860
  return `正则语法错误:${e.message}`;
@@ -2040,16 +2041,8 @@ const __default__ = {
2040
2041
 
2041
2042
  "use strict";
2042
2043
  __webpack_require__.r(__webpack_exports__);
2043
- /* harmony import */ var core_js_modules_esnext_iterator_constructor_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! core-js/modules/esnext.iterator.constructor.js */ "./node_modules/.pnpm/core-js@3.8.3/node_modules/core-js/modules/esnext.iterator.constructor.js");
2044
- /* harmony import */ var core_js_modules_esnext_iterator_constructor_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_esnext_iterator_constructor_js__WEBPACK_IMPORTED_MODULE_0__);
2045
- /* harmony import */ var core_js_modules_esnext_iterator_for_each_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! core-js/modules/esnext.iterator.for-each.js */ "./node_modules/.pnpm/core-js@3.8.3/node_modules/core-js/modules/esnext.iterator.for-each.js");
2046
- /* harmony import */ var core_js_modules_esnext_iterator_for_each_js__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_esnext_iterator_for_each_js__WEBPACK_IMPORTED_MODULE_1__);
2047
- /* harmony import */ var vue__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! vue */ "./node_modules/.pnpm/vue@2.7.14/node_modules/vue/dist/vue.runtime.esm.js");
2048
- /* harmony import */ var _ResponsePanel_vue__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./ResponsePanel.vue */ "./src/components/content/ResponsePanel.vue");
2049
- /* harmony import */ var _common_Editor_vue__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../common/Editor.vue */ "./src/components/common/Editor.vue");
2050
-
2051
-
2052
-
2044
+ /* harmony import */ var vue__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! vue */ "./node_modules/.pnpm/vue@2.7.14/node_modules/vue/dist/vue.runtime.esm.js");
2045
+ /* harmony import */ var _ResponsePanel_vue__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./ResponsePanel.vue */ "./src/components/content/ResponsePanel.vue");
2053
2046
 
2054
2047
 
2055
2048
  const __default__ = {
@@ -2068,148 +2061,143 @@ const __default__ = {
2068
2061
  emit
2069
2062
  }) {
2070
2063
  const props = __props;
2071
- const responsePanelRef = (0,vue__WEBPACK_IMPORTED_MODULE_4__.ref)(null);
2072
-
2073
- // 解析 payload 为 JSON 对象供 jsoneditor 使用
2074
- const parsedPayloadData = (0,vue__WEBPACK_IMPORTED_MODULE_4__.computed)(() => {
2075
- if (!props.currentRow?.payload) {
2076
- return null;
2077
- }
2078
- const payload = props.currentRow.payload;
2079
-
2080
- // 1. 如果已经是对象,直接返回
2081
- if (typeof payload === 'object') {
2082
- // 如果是带 parsed 结构的对象
2083
- if (payload.parsed && payload.parsed.data) {
2084
- return payload.parsed.data;
2085
- }
2086
- // 如果是普通对象
2087
- return payload;
2064
+ const responsePanelRef = (0,vue__WEBPACK_IMPORTED_MODULE_1__.ref)(null);
2065
+ const handeMockVersionChange = versionName => {
2066
+ emit('handeMockVersionChange', versionName);
2067
+ };
2068
+ const handleFileSaved = data => {
2069
+ emit('fileSaved', data);
2070
+ };
2071
+ const refreshVersions = () => {
2072
+ if (responsePanelRef.value) {
2073
+ responsePanelRef.value.refreshVersions();
2088
2074
  }
2075
+ };
2076
+ expose({
2077
+ refreshVersions
2078
+ });
2079
+ return {
2080
+ __sfc: true,
2081
+ props,
2082
+ emit,
2083
+ responsePanelRef,
2084
+ handeMockVersionChange,
2085
+ handleFileSaved,
2086
+ refreshVersions,
2087
+ ResponsePanel: _ResponsePanel_vue__WEBPACK_IMPORTED_MODULE_0__["default"]
2088
+ };
2089
+ }
2090
+ }));
2089
2091
 
2090
- // 2. 如果是字符串,尝试解析
2091
- if (typeof payload === 'string') {
2092
- const result = {};
2093
-
2094
- // 2.1 尝试解析 JSON 格式
2095
- try {
2096
- const parsed = JSON.parse(payload);
2097
- if (typeof parsed === 'object' && parsed !== null) {
2098
- return parsed;
2099
- }
2100
- } catch (e) {
2101
- // 不是 JSON,继续尝试其他格式
2102
- }
2092
+ /***/ }),
2103
2093
 
2104
- // 2.2 尝试解析 multipart/form-data 格式
2105
- if (payload.includes('Content-Disposition: form-data')) {
2106
- return parseMultipartBodyToJson(payload);
2107
- }
2094
+ /***/ "./node_modules/.pnpm/babel-loader@8.4.1_@babel+core@7.12.16_webpack@5.100.1/node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[0]!./node_modules/.pnpm/vue-loader@15.11.1_css-loader@6.11.0_vue-template-compiler@2.6.14_webpack@5.100.1/node_modules/vue-loader/lib/index.js??vue-loader-options!./src/components/content/RequestInfoDialog.vue?vue&type=script&setup=true&lang=js":
2095
+ /*!*****************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
2096
+ !*** ./node_modules/.pnpm/babel-loader@8.4.1_@babel+core@7.12.16_webpack@5.100.1/node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[0]!./node_modules/.pnpm/vue-loader@15.11.1_css-loader@6.11.0_vue-template-compiler@2.6.14_webpack@5.100.1/node_modules/vue-loader/lib/index.js??vue-loader-options!./src/components/content/RequestInfoDialog.vue?vue&type=script&setup=true&lang=js ***!
2097
+ \*****************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/
2098
+ /***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
2108
2099
 
2109
- // 2.3 尝试解析 application/x-www-form-urlencoded 格式
2110
- if (Object.keys(result).length === 0 && payload.includes('=')) {
2111
- try {
2112
- const params = new URLSearchParams(payload);
2113
- params.forEach((value, key) => {
2114
- result[key] = value;
2115
- });
2116
- } catch (e) {
2117
- // 解析失败
2118
- }
2119
- }
2100
+ "use strict";
2101
+ __webpack_require__.r(__webpack_exports__);
2102
+ /* harmony import */ var core_js_modules_esnext_iterator_constructor_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! core-js/modules/esnext.iterator.constructor.js */ "./node_modules/.pnpm/core-js@3.8.3/node_modules/core-js/modules/esnext.iterator.constructor.js");
2103
+ /* harmony import */ var core_js_modules_esnext_iterator_constructor_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_esnext_iterator_constructor_js__WEBPACK_IMPORTED_MODULE_0__);
2104
+ /* harmony import */ var core_js_modules_esnext_iterator_find_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! core-js/modules/esnext.iterator.find.js */ "./node_modules/.pnpm/core-js@3.8.3/node_modules/core-js/modules/esnext.iterator.find.js");
2105
+ /* harmony import */ var core_js_modules_esnext_iterator_find_js__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_esnext_iterator_find_js__WEBPACK_IMPORTED_MODULE_1__);
2106
+ /* harmony import */ var core_js_modules_esnext_iterator_for_each_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! core-js/modules/esnext.iterator.for-each.js */ "./node_modules/.pnpm/core-js@3.8.3/node_modules/core-js/modules/esnext.iterator.for-each.js");
2107
+ /* harmony import */ var core_js_modules_esnext_iterator_for_each_js__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_esnext_iterator_for_each_js__WEBPACK_IMPORTED_MODULE_2__);
2108
+ /* harmony import */ var vue__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! vue */ "./node_modules/.pnpm/vue@2.7.14/node_modules/vue/dist/vue.runtime.esm.js");
2109
+ /* harmony import */ var _common_Editor_vue__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../common/Editor.vue */ "./src/components/common/Editor.vue");
2110
+ /* harmony import */ var _service__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../../service */ "./src/service/index.js");
2120
2111
 
2121
- // 如果成功解析出键值对,返回结果
2122
- if (Object.keys(result).length > 0) {
2123
- return result;
2124
- }
2125
2112
 
2126
- // 如果无法解析,返回包含原始文本的对象
2127
- console.log('%c [ parsedPayloadData 最终 ]-186', 'font-size:13px; background:purple; color:white;', '返回 { raw: payload }');
2128
- return {
2129
- raw: payload
2130
- };
2131
- }
2132
- console.log('%c [ parsedPayloadData 最终 ]-189', 'font-size:13px; background:red; color:white;', '返回 null');
2133
- return null;
2134
- });
2135
- function parseMultipartBodyToJson(rawBody) {
2136
- const result = {};
2137
2113
 
2138
- // 1. 获取 Boundary (通常是第一行)
2139
- // 注意:真实 HTTP 换行符是 \r\n,但复制粘贴可能变成 \n,这里做兼容处理
2140
- const lines = rawBody.split(/\r?\n/);
2141
- const boundary = lines[0].trim();
2142
- if (!boundary) return result;
2143
-
2144
- // 2. 使用 Boundary 切割数据
2145
- // 每一部分都会被 boundary 分隔开
2146
- const parts = rawBody.split(boundary);
2147
- parts.forEach(part => {
2148
- // 忽略空的部分(通常是开头或结尾的空字符串/换行符)
2149
- if (!part || part.trim() === '--' || part.trim() === '') return;
2150
-
2151
- // 3. 分离 Header 和 Value
2152
- // 协议规定 Header 和 Value 之间由两个换行符 (\r\n\r\n 或 \n\n) 分隔
2153
- // 我们寻找第一个空行的位置
2154
- const headerEndIndex = part.search(/\r?\n\r?\n/);
2155
- if (headerEndIndex === -1) return; // 格式不正确,跳过
2156
-
2157
- // 提取 Header 部分
2158
- const header = part.substring(0, headerEndIndex);
2159
- // 提取 Value 部分 (去掉前面的空行,并去掉末尾的换行符)
2160
- const value = part.substring(headerEndIndex).trim();
2161
-
2162
- // 4. 从 Header 中正则提取 name 字段
2163
- const nameMatch = header.match(/name="([^"]+)"/);
2164
- if (nameMatch && nameMatch[1]) {
2165
- const key = nameMatch[1];
2166
-
2167
- // 5. 存入结果对象
2168
- // 考虑到可能有同名 key (例如多选框),这里做一个简单的兼容:
2169
- // 如果 key 已存在,转为数组;如果不存在,直接赋值。
2170
- if (result[key]) {
2171
- if (Array.isArray(result[key])) {
2172
- result[key].push(value);
2173
- } else {
2174
- result[key] = [result[key], value];
2175
- }
2176
- } else {
2177
- result[key] = value;
2178
- }
2179
- }
2180
- });
2181
- return result;
2182
- }
2183
2114
 
2184
- // Tab 管理:默认选中 response,并记住用户的选择
2185
- const STORAGE_KEY = 'mockbubu_active_tab';
2186
- const activeTabName = (0,vue__WEBPACK_IMPORTED_MODULE_4__.ref)('response'); // 默认选中 Response tab
2187
2115
 
2188
- // 有效的 tab 名列表(query/payload 已合并到 overview,旧缓存需兼容)
2189
- const VALID_TABS = ['overview', 'reqHeaders', 'resHeaders', 'response'];
2190
2116
 
2191
- // localStorage 读取用户上次选择的 tab
2192
- (0,vue__WEBPACK_IMPORTED_MODULE_4__.onMounted)(() => {
2193
- const savedTab = localStorage.getItem(STORAGE_KEY);
2194
- // 若旧缓存中存了已废弃的 query/payload tab,回退到 overview
2195
- if (savedTab && VALID_TABS.includes(savedTab)) {
2196
- activeTabName.value = savedTab;
2117
+ const __default__ = {
2118
+ name: 'RequestInfoDialog'
2119
+ };
2120
+ /* harmony default export */ __webpack_exports__["default"] = (/*#__PURE__*/Object.assign(__default__, {
2121
+ props: {
2122
+ visible: {
2123
+ type: Boolean,
2124
+ default: false
2125
+ },
2126
+ row: {
2127
+ type: Object,
2128
+ default: null
2129
+ }
2130
+ },
2131
+ emits: ['update:visible'],
2132
+ setup(__props) {
2133
+ const props = __props;
2134
+ const tabs = [{
2135
+ name: 'overview',
2136
+ label: '概览'
2137
+ }, {
2138
+ name: 'reqHeaders',
2139
+ label: '请求头'
2140
+ }, {
2141
+ name: 'resHeaders',
2142
+ label: '响应头'
2143
+ }, {
2144
+ name: 'source',
2145
+ label: '原始响应'
2146
+ }];
2147
+ const activeTab = (0,vue__WEBPACK_IMPORTED_MODULE_5__.ref)('overview');
2148
+ const copied = (0,vue__WEBPACK_IMPORTED_MODULE_5__.ref)(false);
2149
+ const savedSourceData = (0,vue__WEBPACK_IMPORTED_MODULE_5__.ref)(null); // 已保存文件懒加载的 source 数据(含 body + headers)
2150
+ let copyTimer = null;
2151
+ const loadSavedSourceData = async () => {
2152
+ if (props.row?.session) return;
2153
+ if (!props.row?.id) return;
2154
+ if (savedSourceData.value !== null) return;
2155
+ const res = await (0,_service__WEBPACK_IMPORTED_MODULE_4__.getVersions)({
2156
+ fileId: props.row.id
2157
+ });
2158
+ if (res.code !== 200) return;
2159
+ const list = typeof res.data === 'string' ? JSON.parse(res.data) : res.data;
2160
+ const source = list.find(v => v.type === 'source');
2161
+ savedSourceData.value = source ?? null;
2162
+ };
2163
+ (0,vue__WEBPACK_IMPORTED_MODULE_5__.watch)(() => props.visible, val => {
2164
+ if (val) {
2165
+ activeTab.value = 'overview';
2166
+ savedSourceData.value = null;
2167
+ loadSavedSourceData();
2197
2168
  }
2198
2169
  });
2199
-
2200
- // 当用户切换 tab 时,保存到 localStorage
2201
- const handleTabClick = tab => {
2202
- localStorage.setItem(STORAGE_KEY, tab.name);
2170
+ const copyUrl = () => {
2171
+ const url = props.row?.name || fullUrl.value;
2172
+ if (!url) return;
2173
+ navigator.clipboard.writeText(url).then(() => {
2174
+ copied.value = true;
2175
+ clearTimeout(copyTimer);
2176
+ copyTimer = setTimeout(() => {
2177
+ copied.value = false;
2178
+ }, 1800);
2179
+ });
2203
2180
  };
2204
-
2205
- // fullUrl 从 url + query 重建完整 URL(含 query 参数)
2206
- // query 对于已保存文件在 session 加载后填充,对缓存数据在轮询时填充
2207
- const fullUrl = (0,vue__WEBPACK_IMPORTED_MODULE_4__.computed)(() => {
2208
- const url = props.currentRow?.url;
2209
- if (!url) return '';
2210
- const query = props.currentRow?.query;
2211
- if (!query || Object.keys(query).length === 0) return url;
2212
- return `${url}?${new URLSearchParams(query).toString()}`;
2181
+ const METHOD_COLORS = {
2182
+ get: 'is-get',
2183
+ post: 'is-post',
2184
+ put: 'is-put',
2185
+ delete: 'is-delete',
2186
+ patch: 'is-patch',
2187
+ head: 'is-head',
2188
+ options: 'is-options'
2189
+ };
2190
+ const methodClass = (0,vue__WEBPACK_IMPORTED_MODULE_5__.computed)(() => {
2191
+ const m = (props.row?.method || 'get').toLowerCase();
2192
+ return METHOD_COLORS[m] || 'is-get';
2193
+ });
2194
+ const statusClass = (0,vue__WEBPACK_IMPORTED_MODULE_5__.computed)(() => {
2195
+ const s = props.row?.status;
2196
+ if (!s) return '';
2197
+ if (s >= 200 && s < 300) return 'is-2xx';
2198
+ if (s >= 300 && s < 400) return 'is-3xx';
2199
+ if (s >= 400 && s < 500) return 'is-4xx';
2200
+ return 'is-5xx';
2213
2201
  });
2214
2202
  const overviewItems = [{
2215
2203
  key: 'id',
@@ -2217,9 +2205,6 @@ const __default__ = {
2217
2205
  }, {
2218
2206
  key: 'method',
2219
2207
  label: 'Method'
2220
- }, {
2221
- key: 'ruleValue',
2222
- label: 'Mock Mode'
2223
2208
  }, {
2224
2209
  key: 'status',
2225
2210
  label: 'Status'
@@ -2228,52 +2213,91 @@ const __default__ = {
2228
2213
  label: 'Filename'
2229
2214
  }, {
2230
2215
  key: 'url',
2231
- label: 'Url'
2232
- }, {
2233
- key: 'rule',
2234
- label: 'Rule'
2216
+ label: 'URL'
2235
2217
  }, {
2236
2218
  key: 'date',
2237
2219
  label: 'Date'
2238
- }, {
2239
- key: 'mockTime',
2240
- label: 'Mock Date'
2241
2220
  }];
2242
- const handeMockVersionChange = versionName => {
2243
- emit('handeMockVersionChange', versionName);
2244
- };
2245
-
2246
- // 处理文件保存事件(从 ResponsePanel 传递上来)
2247
- const handleFileSaved = data => {
2248
- emit('fileSaved', data);
2249
- };
2250
-
2251
- // 暴露刷新版本列表的方法
2252
- const refreshVersions = () => {
2253
- if (responsePanelRef.value) {
2254
- responsePanelRef.value.refreshVersions();
2221
+ const fullUrl = (0,vue__WEBPACK_IMPORTED_MODULE_5__.computed)(() => {
2222
+ const url = props.row?.url;
2223
+ if (!url) return '';
2224
+ const query = props.row?.query;
2225
+ if (!query || Object.keys(query).length === 0) return url;
2226
+ return `${url}?${new URLSearchParams(query).toString()}`;
2227
+ });
2228
+ const parsedPayload = (0,vue__WEBPACK_IMPORTED_MODULE_5__.computed)(() => {
2229
+ const payload = props.row?.payload;
2230
+ if (!payload) return null;
2231
+ if (typeof payload === 'object') {
2232
+ if (payload.parsed?.data) return payload.parsed.data;
2233
+ return payload;
2255
2234
  }
2256
- };
2257
- expose({
2258
- refreshVersions
2235
+ if (typeof payload === 'string') {
2236
+ try {
2237
+ const parsed = JSON.parse(payload);
2238
+ if (typeof parsed === 'object' && parsed !== null) return parsed;
2239
+ } catch (e) {/* ignore */}
2240
+ if (payload.includes('=')) {
2241
+ try {
2242
+ const result = {};
2243
+ new URLSearchParams(payload).forEach((v, k) => {
2244
+ result[k] = v;
2245
+ });
2246
+ if (Object.keys(result).length > 0) return result;
2247
+ } catch (e) {/* ignore */}
2248
+ }
2249
+ return {
2250
+ raw: payload
2251
+ };
2252
+ }
2253
+ return null;
2254
+ });
2255
+ const sourceContent = (0,vue__WEBPACK_IMPORTED_MODULE_5__.computed)(() => {
2256
+ const session = props.row?.session;
2257
+ if (session?.res) {
2258
+ const body = session.res.body;
2259
+ if (!body) return null;
2260
+ if (typeof body === 'object') return body;
2261
+ if (typeof body === 'string') {
2262
+ try {
2263
+ return JSON.parse(body);
2264
+ } catch (e) {
2265
+ return {
2266
+ raw: body
2267
+ };
2268
+ }
2269
+ }
2270
+ return null;
2271
+ }
2272
+ return savedSourceData.value?.content ?? null;
2273
+ });
2274
+ const reqHeaders = (0,vue__WEBPACK_IMPORTED_MODULE_5__.computed)(() => {
2275
+ if (props.row?.session) return props.row.session?.req?.headers || {};
2276
+ return savedSourceData.value?.reqHeaders || {};
2277
+ });
2278
+ const resHeaders = (0,vue__WEBPACK_IMPORTED_MODULE_5__.computed)(() => {
2279
+ if (props.row?.session) return props.row.session?.res?.headers || {};
2280
+ return savedSourceData.value?.resHeaders || {};
2259
2281
  });
2260
2282
  return {
2261
2283
  __sfc: true,
2262
2284
  props,
2263
- emit,
2264
- responsePanelRef,
2265
- parsedPayloadData,
2266
- parseMultipartBodyToJson,
2267
- STORAGE_KEY,
2268
- activeTabName,
2269
- VALID_TABS,
2270
- handleTabClick,
2271
- fullUrl,
2285
+ tabs,
2286
+ activeTab,
2287
+ copied,
2288
+ savedSourceData,
2289
+ copyTimer,
2290
+ loadSavedSourceData,
2291
+ copyUrl,
2292
+ METHOD_COLORS,
2293
+ methodClass,
2294
+ statusClass,
2272
2295
  overviewItems,
2273
- handeMockVersionChange,
2274
- handleFileSaved,
2275
- refreshVersions,
2276
- ResponsePanel: _ResponsePanel_vue__WEBPACK_IMPORTED_MODULE_2__["default"],
2296
+ fullUrl,
2297
+ parsedPayload,
2298
+ sourceContent,
2299
+ reqHeaders,
2300
+ resHeaders,
2277
2301
  Editor: _common_Editor_vue__WEBPACK_IMPORTED_MODULE_3__["default"]
2278
2302
  };
2279
2303
  }
@@ -2291,9 +2315,16 @@ const __default__ = {
2291
2315
  __webpack_require__.r(__webpack_exports__);
2292
2316
  /* harmony import */ var core_js_modules_esnext_iterator_constructor_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! core-js/modules/esnext.iterator.constructor.js */ "./node_modules/.pnpm/core-js@3.8.3/node_modules/core-js/modules/esnext.iterator.constructor.js");
2293
2317
  /* harmony import */ var core_js_modules_esnext_iterator_constructor_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_esnext_iterator_constructor_js__WEBPACK_IMPORTED_MODULE_0__);
2294
- /* harmony import */ var core_js_modules_esnext_iterator_some_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! core-js/modules/esnext.iterator.some.js */ "./node_modules/.pnpm/core-js@3.8.3/node_modules/core-js/modules/esnext.iterator.some.js");
2295
- /* harmony import */ var core_js_modules_esnext_iterator_some_js__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_esnext_iterator_some_js__WEBPACK_IMPORTED_MODULE_1__);
2296
- /* harmony import */ var vue__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! vue */ "./node_modules/.pnpm/vue@2.7.14/node_modules/vue/dist/vue.runtime.esm.js");
2318
+ /* harmony import */ var core_js_modules_esnext_iterator_for_each_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! core-js/modules/esnext.iterator.for-each.js */ "./node_modules/.pnpm/core-js@3.8.3/node_modules/core-js/modules/esnext.iterator.for-each.js");
2319
+ /* harmony import */ var core_js_modules_esnext_iterator_for_each_js__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_esnext_iterator_for_each_js__WEBPACK_IMPORTED_MODULE_1__);
2320
+ /* harmony import */ var core_js_modules_esnext_iterator_some_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! core-js/modules/esnext.iterator.some.js */ "./node_modules/.pnpm/core-js@3.8.3/node_modules/core-js/modules/esnext.iterator.some.js");
2321
+ /* harmony import */ var core_js_modules_esnext_iterator_some_js__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_esnext_iterator_some_js__WEBPACK_IMPORTED_MODULE_2__);
2322
+ /* harmony import */ var vue__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! vue */ "./node_modules/.pnpm/vue@2.7.14/node_modules/vue/dist/vue.runtime.esm.js");
2323
+ /* harmony import */ var _utils_constants__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../../utils/constants */ "./src/utils/constants.js");
2324
+ /* harmony import */ var _RequestInfoDialog_vue__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./RequestInfoDialog.vue */ "./src/components/content/RequestInfoDialog.vue");
2325
+
2326
+
2327
+
2297
2328
 
2298
2329
 
2299
2330
 
@@ -2325,9 +2356,26 @@ const __default__ = {
2325
2356
  emit
2326
2357
  }) {
2327
2358
  const props = __props;
2359
+ const requestInfoVisible = (0,vue__WEBPACK_IMPORTED_MODULE_5__.ref)(false);
2360
+ const requestInfoRow = (0,vue__WEBPACK_IMPORTED_MODULE_5__.ref)(null);
2361
+ const instance = (0,vue__WEBPACK_IMPORTED_MODULE_5__.getCurrentInstance)();
2362
+ const closeOtherPopovers = currentIndex => {
2363
+ const refs = instance.proxy.$refs;
2364
+ Object.keys(refs).forEach(key => {
2365
+ if (key.startsWith('morePopover_') && key !== `morePopover_${currentIndex}`) {
2366
+ refs[key]?.doClose?.();
2367
+ }
2368
+ });
2369
+ };
2370
+ const openRequestInfo = (row, index) => {
2371
+ const refs = instance.proxy.$refs;
2372
+ refs[`morePopover_${index}`]?.doClose?.();
2373
+ requestInfoRow.value = row;
2374
+ requestInfoVisible.value = true;
2375
+ };
2328
2376
 
2329
2377
  // 表格 ref,需要暴露给父组件用于调用 setCurrentRow
2330
- const tableRef = (0,vue__WEBPACK_IMPORTED_MODULE_2__.ref)(null);
2378
+ const tableRef = (0,vue__WEBPACK_IMPORTED_MODULE_5__.ref)(null);
2331
2379
  const handleSelectRow = row => {
2332
2380
  emit('handleSelectRow', row);
2333
2381
  };
@@ -2369,9 +2417,9 @@ const __default__ = {
2369
2417
  const isActiveMockFile = rule => {
2370
2418
  return props.activeRules.some(item => item.value === rule);
2371
2419
  };
2372
- (0,vue__WEBPACK_IMPORTED_MODULE_2__.onMounted)(() => {
2420
+ (0,vue__WEBPACK_IMPORTED_MODULE_5__.onMounted)(() => {
2373
2421
  if (props.currentRow) {
2374
- (0,vue__WEBPACK_IMPORTED_MODULE_2__.nextTick)(() => {
2422
+ (0,vue__WEBPACK_IMPORTED_MODULE_5__.nextTick)(() => {
2375
2423
  tableRef.value?.setCurrentRow(props.currentRow);
2376
2424
  });
2377
2425
  }
@@ -2381,6 +2429,11 @@ const __default__ = {
2381
2429
  });
2382
2430
  return {
2383
2431
  __sfc: true,
2432
+ requestInfoVisible,
2433
+ requestInfoRow,
2434
+ instance,
2435
+ closeOtherPopovers,
2436
+ openRequestInfo,
2384
2437
  props,
2385
2438
  emit,
2386
2439
  tableRef,
@@ -2392,7 +2445,8 @@ const __default__ = {
2392
2445
  openRemarkEditor,
2393
2446
  handleFilenameWheel,
2394
2447
  checkSelectable,
2395
- isActiveMockFile
2448
+ isActiveMockFile,
2449
+ RequestInfoDialog: _RequestInfoDialog_vue__WEBPACK_IMPORTED_MODULE_4__["default"]
2396
2450
  };
2397
2451
  }
2398
2452
  }));
@@ -2628,6 +2682,7 @@ const __default__ = {
2628
2682
  const date = (0,vue__WEBPACK_IMPORTED_MODULE_12__.computed)(() => props.api.date);
2629
2683
  const isSourceReadonly = (0,vue__WEBPACK_IMPORTED_MODULE_12__.computed)(() => mockMode.value === 'version' && currentFile.value.type === 'source');
2630
2684
  const activeEditorContent = (0,vue__WEBPACK_IMPORTED_MODULE_12__.computed)(() => mockMode.value === 'match' ? currentMatchRule.value?.content : currentFile.value.content);
2685
+ const historyVersionCount = (0,vue__WEBPACK_IMPORTED_MODULE_12__.computed)(() => responseList.value.filter(item => item.type === 'history').length);
2631
2686
 
2632
2687
  /**
2633
2688
  * 获取 source 版本数据(仅用于未保存文件)
@@ -2792,12 +2847,10 @@ const __default__ = {
2792
2847
  // 判断是否删除的是当前选中的 tab
2793
2848
  const isDeletingCurrentTab = item.filename === currentFile.value.filename;
2794
2849
  if (isDeletingCurrentTab) {
2795
- // 如果删除当前 tab,切换到前一个 tab
2796
- // 如果当前是第一个,则切换到下一个(删除后会变成第一个)
2797
- const targetIndex = index > 0 ? index - 1 : 0;
2798
- const targetFile = responseList.value[targetIndex];
2850
+ // 优先切换到第一个剩余的 history 版本,没有 history 时才回退到 source
2851
+ const remainingHistory = responseList.value.filter(v => v.type === 'history' && v.filename !== item.filename);
2852
+ const targetFile = remainingHistory.length > 0 ? remainingHistory[0] : responseList.value.find(v => v.type === 'source');
2799
2853
  if (targetFile) {
2800
- // 先切换 tab,再删除
2801
2854
  selectFile(targetFile);
2802
2855
  }
2803
2856
  }
@@ -3175,6 +3228,7 @@ const __default__ = {
3175
3228
  element_ui_lib_message__WEBPACK_IMPORTED_MODULE_2___default().error('JSON 格式错误,请修正后再保存');
3176
3229
  return;
3177
3230
  }
3231
+ editRef.value?.format?.();
3178
3232
  updateMatchRuleHandler();
3179
3233
  return;
3180
3234
  }
@@ -3190,6 +3244,7 @@ const __default__ = {
3190
3244
  element_ui_lib_message__WEBPACK_IMPORTED_MODULE_2___default().error('JSON 格式错误,请修正后再保存');
3191
3245
  return;
3192
3246
  }
3247
+ editRef.value?.format?.();
3193
3248
  if (currentFile.value.type === 'history') {
3194
3249
  updateHistory();
3195
3250
  } else {
@@ -3223,46 +3278,6 @@ const __default__ = {
3223
3278
  element_ui_lib_message__WEBPACK_IMPORTED_MODULE_2___default().success('保存成功');
3224
3279
  };
3225
3280
 
3226
- // 格式化 JSON
3227
- const handleFormat = () => {
3228
- try {
3229
- const content = activeEditorContent.value;
3230
- if (!content) {
3231
- element_ui_lib_message__WEBPACK_IMPORTED_MODULE_2___default().warning('内容为空');
3232
- return;
3233
- }
3234
- if (editRef.value && editRef.value.format) {
3235
- editRef.value.format();
3236
- element_ui_lib_message__WEBPACK_IMPORTED_MODULE_2___default().success('格式化成功');
3237
- } else {
3238
- const formatted = JSON.parse(JSON.stringify(content));
3239
- if (mockMode.value === 'match' && currentMatchRule.value) {
3240
- currentMatchRule.value.content = formatted;
3241
- } else {
3242
- currentFile.value.content = formatted;
3243
- }
3244
- element_ui_lib_message__WEBPACK_IMPORTED_MODULE_2___default().success('格式化成功');
3245
- }
3246
- } catch (error) {
3247
- element_ui_lib_message__WEBPACK_IMPORTED_MODULE_2___default().error('格式化失败: ' + error.message);
3248
- }
3249
- };
3250
-
3251
- // 验证 JSON
3252
- const handleValidate = () => {
3253
- try {
3254
- const content = activeEditorContent.value;
3255
- if (!content) {
3256
- element_ui_lib_message__WEBPACK_IMPORTED_MODULE_2___default().warning('内容为空');
3257
- return;
3258
- }
3259
- JSON.parse(JSON.stringify(content));
3260
- element_ui_lib_message__WEBPACK_IMPORTED_MODULE_2___default().success('JSON 格式正确');
3261
- } catch (error) {
3262
- element_ui_lib_message__WEBPACK_IMPORTED_MODULE_2___default().error('JSON 格式错误: ' + error.message);
3263
- }
3264
- };
3265
-
3266
3281
  // 展开所有节点
3267
3282
  const handleExpandAll = () => {
3268
3283
  if (editRef.value && editRef.value.expandAll) {
@@ -3312,40 +3327,6 @@ const __default__ = {
3312
3327
  }
3313
3328
  };
3314
3329
 
3315
- // 全屏编辑器 - 格式化
3316
- const handleFullScreenFormat = () => {
3317
- try {
3318
- if (!fullScreenModal.content) {
3319
- element_ui_lib_message__WEBPACK_IMPORTED_MODULE_2___default().warning('内容为空');
3320
- return;
3321
- }
3322
- if (fullScreenEditorRef.value && fullScreenEditorRef.value.format) {
3323
- fullScreenEditorRef.value.format();
3324
- element_ui_lib_message__WEBPACK_IMPORTED_MODULE_2___default().success('格式化成功');
3325
- } else {
3326
- const formatted = JSON.parse(JSON.stringify(fullScreenModal.content));
3327
- fullScreenModal.content = formatted;
3328
- element_ui_lib_message__WEBPACK_IMPORTED_MODULE_2___default().success('格式化成功');
3329
- }
3330
- } catch (error) {
3331
- element_ui_lib_message__WEBPACK_IMPORTED_MODULE_2___default().error('格式化失败: ' + error.message);
3332
- }
3333
- };
3334
-
3335
- // 全屏编辑器 - 验证
3336
- const handleFullScreenValidate = () => {
3337
- try {
3338
- if (!fullScreenModal.content) {
3339
- element_ui_lib_message__WEBPACK_IMPORTED_MODULE_2___default().warning('内容为空');
3340
- return;
3341
- }
3342
- JSON.parse(JSON.stringify(fullScreenModal.content));
3343
- element_ui_lib_message__WEBPACK_IMPORTED_MODULE_2___default().success('JSON 格式正确');
3344
- } catch (error) {
3345
- element_ui_lib_message__WEBPACK_IMPORTED_MODULE_2___default().error('JSON 格式错误: ' + error.message);
3346
- }
3347
- };
3348
-
3349
3330
  // 全屏编辑器 - 展开所有
3350
3331
  const handleFullScreenExpandAll = () => {
3351
3332
  if (fullScreenEditorRef.value && fullScreenEditorRef.value.expandAll) {
@@ -3373,6 +3354,7 @@ const __default__ = {
3373
3354
  element_ui_lib_message__WEBPACK_IMPORTED_MODULE_2___default().error('JSON 格式错误,请修正后再保存');
3374
3355
  return;
3375
3356
  }
3357
+ fullScreenEditorRef.value?.format?.();
3376
3358
  const cloned = JSON.parse(JSON.stringify(fullScreenModal.content));
3377
3359
  if (mockMode.value === 'match' && currentMatchRule.value) {
3378
3360
  currentMatchRule.value.content = cloned;
@@ -3472,6 +3454,11 @@ const __default__ = {
3472
3454
  emit('changeMockVersion', targetVersion === SOURCE_VERSION_NAME ? null : targetVersion);
3473
3455
  if (props.api.id) {
3474
3456
  await getHistoryVersions(targetVersion);
3457
+ // getHistoryVersions 只设置前端状态,需要显式持久化选中版本
3458
+ (0,_service__WEBPACK_IMPORTED_MODULE_11__.setMockVersion)({
3459
+ url: props.api.name,
3460
+ versionName: targetVersion === SOURCE_VERSION_NAME ? '' : targetVersion
3461
+ });
3475
3462
  }
3476
3463
  }
3477
3464
  };
@@ -3806,6 +3793,7 @@ const __default__ = {
3806
3793
  date,
3807
3794
  isSourceReadonly,
3808
3795
  activeEditorContent,
3796
+ historyVersionCount,
3809
3797
  getSourceVersion,
3810
3798
  getHistoryVersions,
3811
3799
  onCreate,
@@ -3823,16 +3811,12 @@ const __default__ = {
3823
3811
  updateApiDataHandler,
3824
3812
  handleUpdate,
3825
3813
  updateMatchRuleHandler,
3826
- handleFormat,
3827
- handleValidate,
3828
3814
  handleExpandAll,
3829
3815
  handleCollapseAll,
3830
3816
  handleFullScreen,
3831
3817
  handleFullScreenOpened,
3832
3818
  handleFullScreenClosed,
3833
3819
  handleFullScreenChange,
3834
- handleFullScreenFormat,
3835
- handleFullScreenValidate,
3836
3820
  handleFullScreenExpandAll,
3837
3821
  handleFullScreenCollapseAll,
3838
3822
  handleFullScreenSave,
@@ -4285,14 +4269,16 @@ __webpack_require__.r(__webpack_exports__);
4285
4269
  /* harmony import */ var core_js_modules_esnext_iterator_constructor_js__WEBPACK_IMPORTED_MODULE_7___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_esnext_iterator_constructor_js__WEBPACK_IMPORTED_MODULE_7__);
4286
4270
  /* harmony import */ var core_js_modules_esnext_iterator_map_js__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! core-js/modules/esnext.iterator.map.js */ "./node_modules/.pnpm/core-js@3.8.3/node_modules/core-js/modules/esnext.iterator.map.js");
4287
4271
  /* harmony import */ var core_js_modules_esnext_iterator_map_js__WEBPACK_IMPORTED_MODULE_8___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_esnext_iterator_map_js__WEBPACK_IMPORTED_MODULE_8__);
4288
- /* harmony import */ var vue__WEBPACK_IMPORTED_MODULE_16__ = __webpack_require__(/*! vue */ "./node_modules/.pnpm/vue@2.7.14/node_modules/vue/dist/vue.runtime.esm.js");
4272
+ /* harmony import */ var vue__WEBPACK_IMPORTED_MODULE_17__ = __webpack_require__(/*! vue */ "./node_modules/.pnpm/vue@2.7.14/node_modules/vue/dist/vue.runtime.esm.js");
4289
4273
  /* harmony import */ var _utils_clipboard__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! @/utils/clipboard */ "./src/utils/clipboard.js");
4290
4274
  /* harmony import */ var _service__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ../../service */ "./src/service/index.js");
4291
4275
  /* harmony import */ var _hooks_useHeader_js__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! ../../hooks/useHeader.js */ "./src/hooks/useHeader.js");
4292
- /* harmony import */ var _hooks_useTheme_js__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! ../../hooks/useTheme.js */ "./src/hooks/useTheme.js");
4293
- /* harmony import */ var _group_GroupSelector_vue__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(/*! ../group/GroupSelector.vue */ "./src/components/group/GroupSelector.vue");
4294
- /* harmony import */ var _storage_StorageManager_vue__WEBPACK_IMPORTED_MODULE_14__ = __webpack_require__(/*! ../storage/StorageManager.vue */ "./src/components/storage/StorageManager.vue");
4295
- /* harmony import */ var _memory_MemoryMonitor_vue__WEBPACK_IMPORTED_MODULE_15__ = __webpack_require__(/*! ../memory/MemoryMonitor.vue */ "./src/components/memory/MemoryMonitor.vue");
4276
+ /* harmony import */ var _utils_constants__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! ../../utils/constants */ "./src/utils/constants.js");
4277
+ /* harmony import */ var _hooks_useTheme_js__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(/*! ../../hooks/useTheme.js */ "./src/hooks/useTheme.js");
4278
+ /* harmony import */ var _group_GroupSelector_vue__WEBPACK_IMPORTED_MODULE_14__ = __webpack_require__(/*! ../group/GroupSelector.vue */ "./src/components/group/GroupSelector.vue");
4279
+ /* harmony import */ var _storage_StorageManager_vue__WEBPACK_IMPORTED_MODULE_15__ = __webpack_require__(/*! ../storage/StorageManager.vue */ "./src/components/storage/StorageManager.vue");
4280
+ /* harmony import */ var _memory_MemoryMonitor_vue__WEBPACK_IMPORTED_MODULE_16__ = __webpack_require__(/*! ../memory/MemoryMonitor.vue */ "./src/components/memory/MemoryMonitor.vue");
4281
+
4296
4282
 
4297
4283
 
4298
4284
 
@@ -4383,29 +4369,29 @@ const __default__ = {
4383
4369
  const {
4384
4370
  currentTheme,
4385
4371
  toggleTheme
4386
- } = (0,_hooks_useTheme_js__WEBPACK_IMPORTED_MODULE_12__.useTheme)();
4387
- const archiveInput = (0,vue__WEBPACK_IMPORTED_MODULE_16__.ref)(null);
4388
- const groupSelectorRef = (0,vue__WEBPACK_IMPORTED_MODULE_16__.ref)(null); // GroupSelector 组件引用
4372
+ } = (0,_hooks_useTheme_js__WEBPACK_IMPORTED_MODULE_13__.useTheme)();
4373
+ const archiveInput = (0,vue__WEBPACK_IMPORTED_MODULE_17__.ref)(null);
4374
+ const groupSelectorRef = (0,vue__WEBPACK_IMPORTED_MODULE_17__.ref)(null); // GroupSelector 组件引用
4389
4375
 
4390
4376
  // 插件头部栏状态
4391
- const pluginVersion = (0,vue__WEBPACK_IMPORTED_MODULE_16__.ref)('');
4392
- const pluginShortName = (0,vue__WEBPACK_IMPORTED_MODULE_16__.ref)('mockbubu');
4393
- const pluginEnabled = (0,vue__WEBPACK_IMPORTED_MODULE_16__.ref)(true);
4394
- const helpDialogVisible = (0,vue__WEBPACK_IMPORTED_MODULE_16__.ref)(false);
4395
- const morePopoverVisible = (0,vue__WEBPACK_IMPORTED_MODULE_16__.ref)(false);
4377
+ const pluginVersion = (0,vue__WEBPACK_IMPORTED_MODULE_17__.ref)('');
4378
+ const pluginShortName = (0,vue__WEBPACK_IMPORTED_MODULE_17__.ref)('mockbubu');
4379
+ const pluginEnabled = (0,vue__WEBPACK_IMPORTED_MODULE_17__.ref)(true);
4380
+ const helpDialogVisible = (0,vue__WEBPACK_IMPORTED_MODULE_17__.ref)(false);
4381
+ const morePopoverVisible = (0,vue__WEBPACK_IMPORTED_MODULE_17__.ref)(false);
4396
4382
 
4397
4383
  // 版本更新横幅
4398
- const latestVersion = (0,vue__WEBPACK_IMPORTED_MODULE_16__.ref)(null);
4399
- const updateBannerClosed = (0,vue__WEBPACK_IMPORTED_MODULE_16__.ref)(false);
4400
- const installing = (0,vue__WEBPACK_IMPORTED_MODULE_16__.ref)(false);
4401
- const updateAvailable = (0,vue__WEBPACK_IMPORTED_MODULE_16__.computed)(() => {
4384
+ const latestVersion = (0,vue__WEBPACK_IMPORTED_MODULE_17__.ref)(null);
4385
+ const updateBannerClosed = (0,vue__WEBPACK_IMPORTED_MODULE_17__.ref)(false);
4386
+ const installing = (0,vue__WEBPACK_IMPORTED_MODULE_17__.ref)(false);
4387
+ const updateAvailable = (0,vue__WEBPACK_IMPORTED_MODULE_17__.computed)(() => {
4402
4388
  if (!latestVersion.value || !pluginVersion.value) return false;
4403
4389
  const parse = v => v.split('.').map(Number);
4404
4390
  const [la, lb, lc] = parse(latestVersion.value);
4405
4391
  const [ca, cb, cc] = parse(pluginVersion.value);
4406
4392
  return la > ca || la === ca && lb > cb || la === ca && lb === cb && lc > cc;
4407
4393
  });
4408
- const updateCmd = (0,vue__WEBPACK_IMPORTED_MODULE_16__.computed)(() => `w2 install whistle.mockbubu --registry=https://registry.npmjs.org/`);
4394
+ const updateCmd = (0,vue__WEBPACK_IMPORTED_MODULE_17__.computed)(() => `w2 install whistle.mockbubu --registry=https://registry.npmjs.org/`);
4409
4395
 
4410
4396
  // 获取插件版本号
4411
4397
  const fetchPluginVersion = async () => {
@@ -4565,7 +4551,7 @@ const __default__ = {
4565
4551
  };
4566
4552
 
4567
4553
  // 存储管理
4568
- const storageManagerVisible = (0,vue__WEBPACK_IMPORTED_MODULE_16__.ref)(false);
4554
+ const storageManagerVisible = (0,vue__WEBPACK_IMPORTED_MODULE_17__.ref)(false);
4569
4555
 
4570
4556
  // 显示存储管理对话框
4571
4557
  const showStorageManager = () => {
@@ -4573,7 +4559,7 @@ const __default__ = {
4573
4559
  };
4574
4560
 
4575
4561
  // 插件工作模式(初始为 null,获取后才显示)
4576
- const pluginMode = (0,vue__WEBPACK_IMPORTED_MODULE_16__.ref)(null); // null | 'default' | 'mock-only'
4562
+ const pluginMode = (0,vue__WEBPACK_IMPORTED_MODULE_17__.ref)(null); // null | 'default' | 'mock-only'
4577
4563
 
4578
4564
  // 获取插件工作模式
4579
4565
  const fetchPluginMode = async () => {
@@ -4608,19 +4594,10 @@ const __default__ = {
4608
4594
  closeAllDialogs
4609
4595
  });
4610
4596
 
4611
- // 切换插件工作模式
4612
- const handleModeChange = async newMode => {
4613
- const oldMode = pluginMode.value; // 保存旧值,用于失败时恢复
4614
-
4615
- const modeNames = {
4616
- default: '默认模式',
4617
- 'mock-only': '仅Mock模式',
4618
- disabled: '禁用模式'
4619
- };
4620
- const loadingInstance = element_ui_lib_loading__WEBPACK_IMPORTED_MODULE_4___default().service({
4621
- fullscreen: true,
4622
- text: `正在切换到${modeNames[newMode]}...`
4623
- });
4597
+ // 切换捕获开关(true=捕获/default,false=停止捕获/mock-only)
4598
+ const handleCaptureToggle = async enabled => {
4599
+ const newMode = enabled ? 'default' : 'mock-only';
4600
+ const oldMode = pluginMode.value;
4624
4601
  try {
4625
4602
  const res = await fetch('/cgi-bin/mockbubu/set-plugin-mode', {
4626
4603
  method: 'POST',
@@ -4634,19 +4611,13 @@ const __default__ = {
4634
4611
  const data = await res.json();
4635
4612
  if (data.success) {
4636
4613
  pluginMode.value = newMode;
4637
- element_ui_lib_message__WEBPACK_IMPORTED_MODULE_6___default().success(`已切换到${modeNames[newMode]}`);
4638
4614
  } else {
4639
- // 切换失败,恢复原状态
4640
4615
  pluginMode.value = oldMode;
4641
4616
  element_ui_lib_message__WEBPACK_IMPORTED_MODULE_6___default().error('切换失败: ' + data.message);
4642
4617
  }
4643
4618
  } catch (error) {
4644
- // 切换失败,恢复原状态
4645
4619
  pluginMode.value = oldMode;
4646
- console.error('[mockbubu] 切换插件模式失败:', error);
4647
4620
  element_ui_lib_message__WEBPACK_IMPORTED_MODULE_6___default().error('切换失败: ' + error.message);
4648
- } finally {
4649
- loadingInstance.close();
4650
4621
  }
4651
4622
  };
4652
4623
 
@@ -4656,7 +4627,7 @@ const __default__ = {
4656
4627
  };
4657
4628
 
4658
4629
  // 内存监控
4659
- const memoryMonitorRef = (0,vue__WEBPACK_IMPORTED_MODULE_16__.ref)(null);
4630
+ const memoryMonitorRef = (0,vue__WEBPACK_IMPORTED_MODULE_17__.ref)(null);
4660
4631
 
4661
4632
  // 显示内存监控对话框
4662
4633
  const showMemoryMonitor = () => {
@@ -4665,43 +4636,26 @@ const __default__ = {
4665
4636
  }
4666
4637
  };
4667
4638
 
4668
- // 生效规则列表
4669
- const activeRulesList = (0,vue__WEBPACK_IMPORTED_MODULE_16__.ref)([]);
4670
-
4671
- // 获取生效规则
4672
- const fetchActiveRules = async () => {
4673
- try {
4674
- const res = await (0,_service__WEBPACK_IMPORTED_MODULE_10__.getActiveRules)();
4675
- if (res.code === 200) {
4676
- activeRulesList.value = res.data.rules || [];
4677
- }
4678
- } catch (error) {
4679
- console.error('[mockbubu] 获取生效规则失败:', error);
4680
- }
4681
- };
4682
-
4683
- // 定时刷新规则列表 & Whistle 插件状态的定时器
4684
- let rulesRefreshInterval = null;
4639
+ // 定时轮询 Whistle 插件启停状态的定时器
4640
+ let pluginStateInterval = null;
4685
4641
 
4686
- // 组件挂载时获取规则和插件状态
4687
- (0,vue__WEBPACK_IMPORTED_MODULE_16__.onMounted)(async () => {
4642
+ // 组件挂载时获取插件状态
4643
+ (0,vue__WEBPACK_IMPORTED_MODULE_17__.onMounted)(async () => {
4688
4644
  await fetchPluginVersion();
4689
4645
  fetchWhistlePluginState();
4690
- fetchActiveRules();
4691
4646
  fetchPluginMode();
4692
4647
 
4693
- // 每2秒刷新规则列表 + Whistle 插件启停状态
4694
- rulesRefreshInterval = setInterval(() => {
4695
- fetchActiveRules();
4648
+ // 每2秒刷新 Whistle 插件启停状态
4649
+ pluginStateInterval = setInterval(() => {
4696
4650
  fetchWhistlePluginState();
4697
4651
  }, 2000);
4698
4652
  });
4699
4653
 
4700
4654
  // 组件卸载时清理定时器
4701
- (0,vue__WEBPACK_IMPORTED_MODULE_16__.onUnmounted)(() => {
4702
- if (rulesRefreshInterval) {
4703
- clearInterval(rulesRefreshInterval);
4704
- rulesRefreshInterval = null;
4655
+ (0,vue__WEBPACK_IMPORTED_MODULE_17__.onUnmounted)(() => {
4656
+ if (pluginStateInterval) {
4657
+ clearInterval(pluginStateInterval);
4658
+ pluginStateInterval = null;
4705
4659
  }
4706
4660
  });
4707
4661
 
@@ -4731,22 +4685,17 @@ const __default__ = {
4731
4685
 
4732
4686
  // 处理组切换/刷新
4733
4687
  const handleGroupRefresh = payload => {
4734
- // 组切换后需要:
4735
- // 1. 通知父组件切换组(清空缓存、重置状态)
4736
- // 2. 重新加载已保存文件
4737
- // 3. 重置轮询startTime
4738
- console.log('[ActionPanel] handleGroupRefresh 收到事件:', payload);
4739
4688
  emit('handleGroupSwitch', payload);
4740
4689
  };
4741
4690
 
4742
4691
  // 导出分组对话框相关状态
4743
- const exportDialogVisible = (0,vue__WEBPACK_IMPORTED_MODULE_16__.ref)(false);
4744
- const selectedGroupIds = (0,vue__WEBPACK_IMPORTED_MODULE_16__.ref)([]);
4745
- const allGroups = (0,vue__WEBPACK_IMPORTED_MODULE_16__.ref)([]);
4746
- const currentGroupId = (0,vue__WEBPACK_IMPORTED_MODULE_16__.ref)('');
4692
+ const exportDialogVisible = (0,vue__WEBPACK_IMPORTED_MODULE_17__.ref)(false);
4693
+ const selectedGroupIds = (0,vue__WEBPACK_IMPORTED_MODULE_17__.ref)([]);
4694
+ const allGroups = (0,vue__WEBPACK_IMPORTED_MODULE_17__.ref)([]);
4695
+ const currentGroupId = (0,vue__WEBPACK_IMPORTED_MODULE_17__.ref)('');
4747
4696
 
4748
4697
  // 计算是否全选
4749
- const isAllSelected = (0,vue__WEBPACK_IMPORTED_MODULE_16__.computed)(() => {
4698
+ const isAllSelected = (0,vue__WEBPACK_IMPORTED_MODULE_17__.computed)(() => {
4750
4699
  return allGroups.value.length > 0 && selectedGroupIds.value.length === allGroups.value.length;
4751
4700
  });
4752
4701
 
@@ -4919,13 +4868,11 @@ const __default__ = {
4919
4868
  fetchPluginMode,
4920
4869
  enablePlugin,
4921
4870
  closeAllDialogs,
4922
- handleModeChange,
4871
+ handleCaptureToggle,
4923
4872
  handleStorageManagerRefresh,
4924
4873
  memoryMonitorRef,
4925
4874
  showMemoryMonitor,
4926
- activeRulesList,
4927
- fetchActiveRules,
4928
- rulesRefreshInterval,
4875
+ pluginStateInterval,
4929
4876
  searchApi,
4930
4877
  handleBatchDelete,
4931
4878
  handleBatchUpdateMock,
@@ -4943,9 +4890,10 @@ const __default__ = {
4943
4890
  confirmExport,
4944
4891
  handleImportArchive,
4945
4892
  handleArchiveUpload,
4946
- GroupSelector: _group_GroupSelector_vue__WEBPACK_IMPORTED_MODULE_13__["default"],
4947
- StorageManager: _storage_StorageManager_vue__WEBPACK_IMPORTED_MODULE_14__["default"],
4948
- MemoryMonitor: _memory_MemoryMonitor_vue__WEBPACK_IMPORTED_MODULE_15__["default"]
4893
+ TOOLTIP_DELAY: _utils_constants__WEBPACK_IMPORTED_MODULE_12__.TOOLTIP_DELAY,
4894
+ GroupSelector: _group_GroupSelector_vue__WEBPACK_IMPORTED_MODULE_14__["default"],
4895
+ StorageManager: _storage_StorageManager_vue__WEBPACK_IMPORTED_MODULE_15__["default"],
4896
+ MemoryMonitor: _memory_MemoryMonitor_vue__WEBPACK_IMPORTED_MODULE_16__["default"]
4949
4897
  };
4950
4898
  }
4951
4899
  }));
@@ -5208,7 +5156,9 @@ var render = function render() {
5208
5156
  staticClass: "mock-container__disabled-overlay"
5209
5157
  }, [_c("div", {
5210
5158
  staticClass: "mock-container__disabled-card"
5211
- }, [_vm._m(0), _c("div", {
5159
+ }, [_c("div", {
5160
+ staticClass: "mock-container__disabled-icon"
5161
+ }), _c("div", {
5212
5162
  staticClass: "mock-container__disabled-title"
5213
5163
  }, [_vm._v("插件已停用")]), _c("div", {
5214
5164
  staticClass: "mock-container__disabled-desc"
@@ -5292,7 +5242,7 @@ var render = function render() {
5292
5242
  attrs: {
5293
5243
  content: "复制 URL",
5294
5244
  placement: "top",
5295
- "open-delay": 400
5245
+ "open-delay": _setup.TOOLTIP_DELAY
5296
5246
  }
5297
5247
  }, [_c("div", {
5298
5248
  staticClass: "mock-container__current-url-copy",
@@ -5425,16 +5375,7 @@ var render = function render() {
5425
5375
  }
5426
5376
  }, [_vm._v(" 确定 ")])], 1)], 2)], 1);
5427
5377
  };
5428
- var staticRenderFns = [function () {
5429
- var _vm = this,
5430
- _c = _vm._self._c,
5431
- _setup = _vm._self._setupProxy;
5432
- return _c("div", {
5433
- staticClass: "mock-container__disabled-icon"
5434
- }, [_c("i", {
5435
- staticClass: "el-icon-video-pause"
5436
- })]);
5437
- }];
5378
+ var staticRenderFns = [];
5438
5379
  render._withStripped = true;
5439
5380
 
5440
5381
 
@@ -5788,133 +5729,216 @@ var render = function render() {
5788
5729
  staticClass: "request-detail__placeholder"
5789
5730
  }, [_c("span", {
5790
5731
  staticClass: "request-detail__placeholder-text"
5791
- }, [_vm._v("暂无数据")])]) : _c("el-tabs", {
5792
- staticClass: "request-detail__tabs",
5732
+ }, [_vm._v("暂无数据")])]) : _c(_setup.ResponsePanel, {
5733
+ ref: "responsePanelRef",
5793
5734
  attrs: {
5794
- type: "border-card"
5735
+ "row-key": _vm.currentRow.rowKey,
5736
+ api: _vm.currentRow
5795
5737
  },
5796
5738
  on: {
5797
- "tab-click": _setup.handleTabClick
5798
- },
5799
- model: {
5800
- value: _setup.activeTabName,
5801
- callback: function ($$v) {
5802
- _setup.activeTabName = $$v;
5803
- },
5804
- expression: "activeTabName"
5805
- }
5806
- }, [_c("el-tab-pane", {
5807
- staticClass: "request-detail__tab-pane",
5808
- attrs: {
5809
- label: "Overview",
5810
- name: "overview"
5739
+ changeMockVersion: _setup.handeMockVersionChange,
5740
+ fileSaved: _setup.handleFileSaved
5811
5741
  }
5812
- }, [_c("div", {
5813
- staticClass: "request-detail__section"
5814
- }, [_c("div", {
5815
- staticClass: "request-detail__section-title"
5816
- }, [_vm._v("Overview")]), _vm._l(_setup.overviewItems, function (item) {
5817
- return _c("div", {
5818
- key: item.key,
5819
- staticClass: "request-detail__item"
5820
- }, [_c("div", {
5821
- staticClass: "request-detail__label"
5822
- }, [item.key === "mockTime" ? [_c("el-tooltip", {
5823
- attrs: {
5824
- effect: "dark",
5825
- content: "The latest hitting the mock",
5826
- placement: "top"
5742
+ })], 1);
5743
+ };
5744
+ var staticRenderFns = [];
5745
+ render._withStripped = true;
5746
+
5747
+
5748
+ /***/ }),
5749
+
5750
+ /***/ "./node_modules/.pnpm/babel-loader@8.4.1_@babel+core@7.12.16_webpack@5.100.1/node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[0]!./node_modules/.pnpm/vue-loader@15.11.1_css-loader@6.11.0_vue-template-compiler@2.6.14_webpack@5.100.1/node_modules/vue-loader/lib/loaders/templateLoader.js??ruleSet[1].rules[3]!./node_modules/.pnpm/vue-loader@15.11.1_css-loader@6.11.0_vue-template-compiler@2.6.14_webpack@5.100.1/node_modules/vue-loader/lib/index.js??vue-loader-options!./src/components/content/RequestInfoDialog.vue?vue&type=template&id=b9cf4022&scoped=true":
5751
+ /*!**********************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
5752
+ !*** ./node_modules/.pnpm/babel-loader@8.4.1_@babel+core@7.12.16_webpack@5.100.1/node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[0]!./node_modules/.pnpm/vue-loader@15.11.1_css-loader@6.11.0_vue-template-compiler@2.6.14_webpack@5.100.1/node_modules/vue-loader/lib/loaders/templateLoader.js??ruleSet[1].rules[3]!./node_modules/.pnpm/vue-loader@15.11.1_css-loader@6.11.0_vue-template-compiler@2.6.14_webpack@5.100.1/node_modules/vue-loader/lib/index.js??vue-loader-options!./src/components/content/RequestInfoDialog.vue?vue&type=template&id=b9cf4022&scoped=true ***!
5753
+ \**********************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/
5754
+ /***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
5755
+
5756
+ "use strict";
5757
+ __webpack_require__.r(__webpack_exports__);
5758
+ /* harmony export */ __webpack_require__.d(__webpack_exports__, {
5759
+ /* harmony export */ render: function() { return /* binding */ render; },
5760
+ /* harmony export */ staticRenderFns: function() { return /* binding */ staticRenderFns; }
5761
+ /* harmony export */ });
5762
+ var render = function render() {
5763
+ var _vm = this,
5764
+ _c = _vm._self._c,
5765
+ _setup = _vm._self._setupProxy;
5766
+ return _c("el-dialog", {
5767
+ attrs: {
5768
+ visible: _vm.visible,
5769
+ width: "860px",
5770
+ top: "5vh",
5771
+ "append-to-body": "",
5772
+ "custom-class": "request-info-dialog",
5773
+ "show-close": false
5774
+ },
5775
+ on: {
5776
+ "update:visible": function ($event) {
5777
+ return _vm.$emit("update:visible", $event);
5778
+ },
5779
+ close: function ($event) {
5780
+ return _vm.$emit("update:visible", false);
5827
5781
  }
5828
- }, [_c("i", {
5829
- staticClass: "el-icon-warning-outline"
5830
- })])] : _vm._e(), _vm._v(" " + _vm._s(item.label) + " ")], 2), _c("div", {
5831
- staticClass: "request-detail__value"
5832
- }, [_vm._v(_vm._s(item.key === "url" ? _setup.fullUrl : _vm.currentRow[item.key]))])]);
5782
+ }
5783
+ }, [_c("template", {
5784
+ slot: "title"
5785
+ }, [_c("div", {
5786
+ staticClass: "rid-header"
5787
+ }, [_c("div", {
5788
+ staticClass: "rid-header__info"
5789
+ }, [_c("span", {
5790
+ staticClass: "rid-header__method",
5791
+ class: _setup.methodClass
5792
+ }, [_vm._v(_vm._s(_vm.row && _vm.row.method || "GET"))]), _vm.row && _vm.row.status ? _c("span", {
5793
+ staticClass: "rid-header__status",
5794
+ class: _setup.statusClass
5795
+ }, [_vm._v(_vm._s(_vm.row.status))]) : _vm._e(), _c("span", {
5796
+ staticClass: "rid-header__url",
5797
+ attrs: {
5798
+ title: _setup.fullUrl
5799
+ }
5800
+ }, [_vm._v(_vm._s(_vm.row && _vm.row.name || _setup.fullUrl))]), _c("button", {
5801
+ staticClass: "rid-header__copy",
5802
+ class: {
5803
+ "is-copied": _setup.copied
5804
+ },
5805
+ attrs: {
5806
+ title: _setup.fullUrl
5807
+ },
5808
+ on: {
5809
+ click: _setup.copyUrl
5810
+ }
5811
+ }, [_c("i", {
5812
+ class: _setup.copied ? "el-icon-check" : "el-icon-copy-document"
5813
+ })])]), _c("button", {
5814
+ staticClass: "rid-header__close",
5815
+ on: {
5816
+ click: function ($event) {
5817
+ return _vm.$emit("update:visible", false);
5818
+ }
5819
+ }
5820
+ }, [_c("i", {
5821
+ staticClass: "el-icon-close"
5822
+ })]), _c("div", {
5823
+ staticClass: "rid-header__tabs"
5824
+ }, _vm._l(_setup.tabs, function (tab) {
5825
+ return _c("div", {
5826
+ key: tab.name,
5827
+ staticClass: "rid-header__tab",
5828
+ class: {
5829
+ "is-active": _setup.activeTab === tab.name
5830
+ },
5831
+ on: {
5832
+ click: function ($event) {
5833
+ _setup.activeTab = tab.name;
5834
+ }
5835
+ }
5836
+ }, [_vm._v(" " + _vm._s(tab.label) + " ")]);
5837
+ }), 0)])]), _vm.row ? _c("div", {
5838
+ staticClass: "rid-body"
5839
+ }, [_c("div", {
5840
+ directives: [{
5841
+ name: "show",
5842
+ rawName: "v-show",
5843
+ value: _setup.activeTab === "overview",
5844
+ expression: "activeTab === 'overview'"
5845
+ }],
5846
+ staticClass: "rid-pane"
5847
+ }, [_c("div", {
5848
+ staticClass: "rid-section"
5849
+ }, [_c("div", {
5850
+ staticClass: "rid-section__title"
5851
+ }, [_vm._v("概览")]), _vm._l(_setup.overviewItems, function (item) {
5852
+ return _c("div", {
5853
+ key: item.key,
5854
+ staticClass: "rid-kv"
5855
+ }, [_c("div", {
5856
+ staticClass: "rid-kv__key"
5857
+ }, [_vm._v(_vm._s(item.label))]), _c("div", {
5858
+ staticClass: "rid-kv__val"
5859
+ }, [_vm._v(_vm._s(item.key === "url" ? _setup.fullUrl : _vm.row[item.key]))])]);
5833
5860
  })], 2), _c("div", {
5834
- staticClass: "request-detail__section"
5861
+ staticClass: "rid-section"
5835
5862
  }, [_c("div", {
5836
- staticClass: "request-detail__section-title"
5837
- }, [_vm._v("Query")]), _vm.currentRow.query && Object.keys(_vm.currentRow.query).length > 0 ? _vm._l(_vm.currentRow.query, function (value, key) {
5863
+ staticClass: "rid-section__title"
5864
+ }, [_vm._v("Query")]), _vm.row.query && Object.keys(_vm.row.query).length > 0 ? _vm._l(_vm.row.query, function (value, key) {
5838
5865
  return _c("div", {
5839
5866
  key: key,
5840
- staticClass: "request-detail__item"
5867
+ staticClass: "rid-kv"
5841
5868
  }, [_c("div", {
5842
- staticClass: "request-detail__label"
5869
+ staticClass: "rid-kv__key"
5843
5870
  }, [_vm._v(_vm._s(key))]), _c("div", {
5844
- staticClass: "request-detail__value"
5871
+ staticClass: "rid-kv__val"
5845
5872
  }, [_vm._v(_vm._s(value))])]);
5846
5873
  }) : _c("div", {
5847
- staticClass: "request-detail__empty"
5848
- }, [_vm._v(" No query parameters ")])], 2), _c("div", {
5849
- staticClass: "request-detail__section"
5874
+ staticClass: "rid-empty"
5875
+ }, [_vm._v("暂无 Query 参数")])], 2), _c("div", {
5876
+ staticClass: "rid-section"
5850
5877
  }, [_c("div", {
5851
- staticClass: "request-detail__section-title"
5852
- }, [_vm._v("Payload")]), _setup.parsedPayloadData ? _c("div", {
5853
- staticClass: "request-detail__payload-editor"
5878
+ staticClass: "rid-section__title"
5879
+ }, [_vm._v("Payload")]), _setup.parsedPayload ? _c("div", {
5880
+ staticClass: "rid-editor-wrap"
5854
5881
  }, [_c(_setup.Editor, {
5855
5882
  attrs: {
5856
- value: _setup.parsedPayloadData,
5883
+ value: _setup.parsedPayload,
5857
5884
  "show-btns": false,
5858
5885
  "read-only": true,
5859
5886
  lang: "zh"
5860
5887
  }
5861
5888
  })], 1) : _c("div", {
5862
- staticClass: "request-detail__empty"
5863
- }, [_vm._v(" No payload ")])])]), _c("el-tab-pane", {
5864
- staticClass: "request-detail__tab-pane",
5865
- attrs: {
5866
- label: "Request Headers",
5867
- name: "reqHeaders"
5868
- }
5869
- }, [_vm._l(_vm.currentRow.reqHeaders, function (value, key) {
5889
+ staticClass: "rid-empty"
5890
+ }, [_vm._v("暂无 Payload")])])]), _c("div", {
5891
+ directives: [{
5892
+ name: "show",
5893
+ rawName: "v-show",
5894
+ value: _setup.activeTab === "reqHeaders",
5895
+ expression: "activeTab === 'reqHeaders'"
5896
+ }],
5897
+ staticClass: "rid-pane"
5898
+ }, [_vm._l(_setup.reqHeaders, function (value, key) {
5870
5899
  return _c("div", {
5871
5900
  key: key,
5872
- staticClass: "request-detail__item"
5901
+ staticClass: "rid-kv"
5873
5902
  }, [_c("div", {
5874
- staticClass: "request-detail__label"
5903
+ staticClass: "rid-kv__key"
5875
5904
  }, [_vm._v(_vm._s(key))]), _c("div", {
5876
- staticClass: "request-detail__value"
5905
+ staticClass: "rid-kv__val"
5877
5906
  }, [_vm._v(_vm._s(value))])]);
5878
- }), !_vm.currentRow.reqHeaders || Object.keys(_vm.currentRow.reqHeaders).length === 0 ? _c("div", {
5879
- staticClass: "request-detail__empty"
5880
- }, [_vm._v(" No request headers available ")]) : _vm._e()], 2), _c("el-tab-pane", {
5881
- staticClass: "request-detail__tab-pane",
5882
- attrs: {
5883
- label: "Response Headers",
5884
- name: "resHeaders"
5885
- }
5886
- }, [_vm._l(_vm.currentRow.resHeaders, function (value, key) {
5907
+ }), Object.keys(_setup.reqHeaders).length === 0 ? _c("div", {
5908
+ staticClass: "rid-empty"
5909
+ }, [_vm._v("暂无请求头")]) : _vm._e()], 2), _c("div", {
5910
+ directives: [{
5911
+ name: "show",
5912
+ rawName: "v-show",
5913
+ value: _setup.activeTab === "resHeaders",
5914
+ expression: "activeTab === 'resHeaders'"
5915
+ }],
5916
+ staticClass: "rid-pane"
5917
+ }, [_vm._l(_setup.resHeaders, function (value, key) {
5887
5918
  return _c("div", {
5888
5919
  key: key,
5889
- staticClass: "request-detail__item"
5920
+ staticClass: "rid-kv"
5890
5921
  }, [_c("div", {
5891
- staticClass: "request-detail__label"
5922
+ staticClass: "rid-kv__key"
5892
5923
  }, [_vm._v(_vm._s(key))]), _c("div", {
5893
- staticClass: "request-detail__value"
5924
+ staticClass: "rid-kv__val"
5894
5925
  }, [_vm._v(_vm._s(value))])]);
5895
- }), !_vm.currentRow.resHeaders || Object.keys(_vm.currentRow.resHeaders).length === 0 ? _c("div", {
5896
- staticClass: "request-detail__empty"
5897
- }, [_vm._v(" No response headers available ")]) : _vm._e()], 2), _vm.currentRow ? _c("el-tab-pane", {
5898
- staticClass: "request-detail__tab-pane",
5899
- attrs: {
5900
- name: "response"
5901
- }
5902
- }, [_c("span", {
5903
- attrs: {
5904
- slot: "label"
5905
- },
5906
- slot: "label"
5907
- }, [_vm._v("Response")]), _c(_setup.ResponsePanel, {
5908
- ref: "responsePanelRef",
5926
+ }), Object.keys(_setup.resHeaders).length === 0 ? _c("div", {
5927
+ staticClass: "rid-empty"
5928
+ }, [_vm._v("暂无响应头")]) : _vm._e()], 2), _setup.activeTab === "source" ? _c("div", {
5929
+ staticClass: "rid-pane rid-pane--editor"
5930
+ }, [_setup.sourceContent !== null ? _c("div", {
5931
+ staticClass: "rid-editor-wrap rid-editor-wrap--full"
5932
+ }, [_c(_setup.Editor, {
5909
5933
  attrs: {
5910
- "row-key": _vm.currentRow.rowKey,
5911
- api: _vm.currentRow
5912
- },
5913
- on: {
5914
- changeMockVersion: _setup.handeMockVersionChange,
5915
- fileSaved: _setup.handleFileSaved
5934
+ value: _setup.sourceContent,
5935
+ "show-btns": false,
5936
+ "read-only": true,
5937
+ lang: "zh"
5916
5938
  }
5917
- })], 1) : _vm._e()], 1)], 1);
5939
+ })], 1) : _c("div", {
5940
+ staticClass: "rid-empty"
5941
+ }, [_vm._v("暂无原始响应数据")])]) : _vm._e()]) : _vm._e()], 2);
5918
5942
  };
5919
5943
  var staticRenderFns = [];
5920
5944
  render._withStripped = true;
@@ -5979,7 +6003,7 @@ var render = function render() {
5979
6003
  }), _c("el-table-column", {
5980
6004
  attrs: {
5981
6005
  prop: "name",
5982
- label: "Filename",
6006
+ label: "请求URL",
5983
6007
  "min-width": "300"
5984
6008
  },
5985
6009
  scopedSlots: _vm._u([{
@@ -6028,14 +6052,30 @@ var render = function render() {
6028
6052
  slot: "header"
6029
6053
  }, [_vm._v(" Mock ")])], 2), _c("el-table-column", {
6030
6054
  attrs: {
6031
- label: "Operation",
6032
- width: "80",
6055
+ label: "操作",
6056
+ width: "110",
6033
6057
  align: "center"
6034
6058
  },
6035
6059
  scopedSlots: _vm._u([{
6036
6060
  key: "default",
6037
6061
  fn: function (scope) {
6038
6062
  return [_c("el-button", {
6063
+ staticClass: "request-list__btn",
6064
+ class: {
6065
+ "request-list__btn--locked": scope.row.locked
6066
+ },
6067
+ attrs: {
6068
+ type: "text",
6069
+ size: "mini",
6070
+ icon: scope.row.locked ? "el-icon-lock" : "el-icon-unlock"
6071
+ },
6072
+ on: {
6073
+ click: function ($event) {
6074
+ $event.stopPropagation();
6075
+ return _setup.updateLock(!scope.row.locked, scope.row);
6076
+ }
6077
+ }
6078
+ }), _c("el-button", {
6039
6079
  staticClass: "request-list__btn request-list__btn--delete",
6040
6080
  attrs: {
6041
6081
  type: "text",
@@ -6048,30 +6088,63 @@ var render = function render() {
6048
6088
  return _setup.handleDelete(scope.row, scope.$index);
6049
6089
  }
6050
6090
  }
6051
- }), _c("el-button", {
6052
- staticClass: "request-list__btn",
6053
- class: {
6054
- "request-list__btn--locked": scope.row.locked
6091
+ }), _c("el-popover", {
6092
+ ref: `morePopover_${scope.$index}`,
6093
+ attrs: {
6094
+ placement: "bottom-end",
6095
+ trigger: "click",
6096
+ "popper-class": "request-list__more-popover"
6055
6097
  },
6098
+ on: {
6099
+ show: function ($event) {
6100
+ return _setup.closeOtherPopovers(scope.$index);
6101
+ }
6102
+ }
6103
+ }, [_c("div", {
6104
+ staticClass: "request-list__more-menu"
6105
+ }, [_c("div", {
6106
+ staticClass: "request-list__more-item",
6107
+ on: {
6108
+ click: function ($event) {
6109
+ $event.stopPropagation();
6110
+ return _setup.openRequestInfo(scope.row, scope.$index);
6111
+ }
6112
+ }
6113
+ }, [_c("i", {
6114
+ staticClass: "el-icon-document"
6115
+ }), _c("span", [_vm._v("查看请求信息")])])]), _c("el-button", {
6116
+ staticClass: "request-list__btn request-list__btn--more",
6056
6117
  attrs: {
6118
+ slot: "reference",
6057
6119
  type: "text",
6058
- size: "mini",
6059
- icon: scope.row.locked ? "el-icon-lock" : "el-icon-unlock"
6120
+ size: "mini"
6060
6121
  },
6061
6122
  on: {
6062
6123
  click: function ($event) {
6063
6124
  $event.stopPropagation();
6064
- return _setup.updateLock(!scope.row.locked, scope.row);
6065
6125
  }
6066
- }
6067
- })];
6126
+ },
6127
+ slot: "reference"
6128
+ }, [_c("i", {
6129
+ staticClass: "el-icon-more"
6130
+ })])], 1)];
6068
6131
  }
6069
6132
  }])
6070
6133
  }), _c("template", {
6071
6134
  slot: "empty"
6072
6135
  }, [_c("span", {
6073
6136
  staticClass: "request-list__empty-text"
6074
- }, [_vm._v("暂无数据")])])], 2)], 1);
6137
+ }, [_vm._v("暂无数据")])])], 2), _c(_setup.RequestInfoDialog, {
6138
+ attrs: {
6139
+ visible: _setup.requestInfoVisible,
6140
+ row: _setup.requestInfoRow
6141
+ },
6142
+ on: {
6143
+ "update:visible": function ($event) {
6144
+ _setup.requestInfoVisible = $event;
6145
+ }
6146
+ }
6147
+ })], 1);
6075
6148
  };
6076
6149
  var staticRenderFns = [];
6077
6150
  render._withStripped = true;
@@ -6101,7 +6174,25 @@ var render = function render() {
6101
6174
  staticClass: "response-panel__header"
6102
6175
  }, [_c("div", {
6103
6176
  staticClass: "response-panel__header-toolbar"
6104
- }, [_setup.props.api ? _c("div", {
6177
+ }, [_setup.mockMode === "version" ? _c("div", {
6178
+ staticClass: "response-panel__add-btn",
6179
+ on: {
6180
+ click: _setup.onCreate
6181
+ }
6182
+ }, [_c("i", {
6183
+ staticClass: "el-icon-plus"
6184
+ }), _c("span", [_vm._v("新增版本")])]) : _vm._e(), _setup.mockMode === "match" ? _c("div", {
6185
+ staticClass: "response-panel__add-btn",
6186
+ on: {
6187
+ click: _setup.onCreateMatchRule
6188
+ }
6189
+ }, [_c("i", {
6190
+ staticClass: "el-icon-plus"
6191
+ }), _c("span", [_vm._v("新增规则")])]) : _vm._e(), _setup.mockMode === "version" ? _c("span", {
6192
+ staticClass: "response-panel__version-count"
6193
+ }, [_vm._v(" mock版本列表: " + _vm._s(_setup.historyVersionCount) + " 个版本 ")]) : _vm._e(), _setup.mockMode === "match" && _setup.matchRuleList.length > 0 ? _c("span", {
6194
+ staticClass: "response-panel__version-count"
6195
+ }, [_vm._v(" " + _vm._s(_setup.matchRuleList.length) + " 条规则 ")]) : _vm._e(), _setup.props.api ? _c("div", {
6105
6196
  staticClass: "response-panel__mode-selector"
6106
6197
  }, [_c("div", {
6107
6198
  staticClass: "response-panel__mode-btn",
@@ -6140,76 +6231,31 @@ var render = function render() {
6140
6231
  return _setup.switchMode("match");
6141
6232
  }
6142
6233
  }
6143
- }, [_vm._v(" 条件匹配 ")])]) : _vm._e()]) : _vm._e(), _setup.mockMode === "version" ? _c("div", {
6144
- staticClass: "response-panel__add-btn",
6145
- on: {
6146
- click: _setup.onCreate
6147
- }
6148
- }, [_c("i", {
6149
- staticClass: "el-icon-plus"
6150
- }), _c("span", [_vm._v("新增版本")])]) : _vm._e(), _setup.mockMode === "match" ? _c("div", {
6151
- staticClass: "response-panel__add-btn",
6152
- on: {
6153
- click: _setup.onCreateMatchRule
6154
- }
6155
- }, [_c("i", {
6156
- staticClass: "el-icon-plus"
6157
- }), _c("span", [_vm._v("新增规则")])]) : _vm._e(), _setup.mockMode === "version" && _setup.responseList.length > 1 ? _c("span", {
6158
- staticClass: "response-panel__version-count"
6159
- }, [_vm._v(" " + _vm._s(_setup.responseList.length - 1) + " 个版本 ")]) : _vm._e(), _setup.mockMode === "match" && _setup.matchRuleList.length > 0 ? _c("span", {
6160
- staticClass: "response-panel__version-count"
6161
- }, [_vm._v(" " + _vm._s(_setup.matchRuleList.length) + " 条规则 ")]) : _vm._e(), _c("div", {
6162
- staticClass: "response-panel__collapse-btn",
6163
- on: {
6164
- click: function ($event) {
6165
- _setup.headerCollapsed = !_setup.headerCollapsed;
6166
- }
6167
- }
6168
- }, [_c("i", {
6169
- class: _setup.headerCollapsed ? "el-icon-arrow-down" : "el-icon-arrow-up"
6170
- }), _c("span", [_vm._v(_vm._s(_setup.headerCollapsed ? "展开版本" : "收起版本"))])])]), _c("div", {
6234
+ }, [_vm._v(" 条件匹配 ")])]) : _vm._e()]) : _vm._e()]), _c("div", {
6171
6235
  staticClass: "response-panel__tabs-wrapper",
6172
6236
  class: {
6173
6237
  "has-top-fade": _setup.tabsFade.top && !_setup.headerCollapsed,
6174
- "has-bottom-fade": _setup.tabsFade.bottom && !_setup.headerCollapsed,
6175
- "is-collapsed": _setup.headerCollapsed
6238
+ "has-bottom-fade": _setup.tabsFade.bottom && !_setup.headerCollapsed
6176
6239
  }
6177
6240
  }, [_setup.mockMode === "version" ? _c("div", {
6241
+ directives: [{
6242
+ name: "show",
6243
+ rawName: "v-show",
6244
+ value: !_setup.headerCollapsed,
6245
+ expression: "!headerCollapsed"
6246
+ }],
6178
6247
  ref: "tabsAreaRef",
6179
6248
  staticClass: "response-panel__tabs-area",
6180
6249
  on: {
6181
6250
  scroll: _setup.updateTabsFade
6182
6251
  }
6183
- }, _vm._l(_setup.responseList, function (item, index) {
6184
- return _c("div", {
6252
+ }, [_vm._l(_setup.responseList, function (item, index) {
6253
+ return [item.type === "history" ? _c("el-tooltip", {
6185
6254
  key: `${item.type}-${item.filename}`,
6186
- staticClass: "response-panel__tab",
6187
- class: {
6188
- "response-panel__tab--selected": item.filename === _setup.currentFile.filename
6189
- },
6190
- on: {
6191
- click: function ($event) {
6192
- return _setup.selectFile(item);
6193
- }
6194
- }
6195
- }, [item.type === "source" ? _c("el-tooltip", {
6196
- attrs: {
6197
- effect: "dark",
6198
- placement: "top"
6199
- }
6200
- }, [_c("div", {
6201
- attrs: {
6202
- slot: "content"
6203
- },
6204
- slot: "content"
6205
- }, [_vm._v(" 原始响应数据(只读)"), _c("br"), _vm._v(" 从服务器捕获的原始响应 ")]), _c("span", {
6206
- staticClass: "response-panel__source-tab"
6207
- }, [_c("i", {
6208
- staticClass: "el-icon-document"
6209
- }), _c("span", [_vm._v("Source")])])]) : item.type === "history" ? _c("el-tooltip", {
6210
6255
  attrs: {
6211
6256
  effect: "dark",
6212
- placement: "top"
6257
+ placement: "top",
6258
+ "open-delay": 1000
6213
6259
  }
6214
6260
  }, [_c("div", {
6215
6261
  staticStyle: {
@@ -6219,9 +6265,21 @@ var render = function render() {
6219
6265
  slot: "content"
6220
6266
  },
6221
6267
  slot: "content"
6222
- }, [_c("div", [_c("strong", [_vm._v("版本名称:")]), _vm._v(_vm._s(item.filename))]), _c("div", [_c("strong", [_vm._v("描述:")]), _vm._v(_vm._s(item.description || "(无)"))]), _c("div", [_c("strong", [_vm._v("创建时间:")]), _vm._v(_vm._s(item.createTime ? _setup.formatTime(item.createTime) : "(旧版本,无记录)"))]), _c("div", [_c("strong", [_vm._v("修改时间:")]), _vm._v(_vm._s(item.updateTime ? _setup.formatTime(item.updateTime) : "(旧版本,无记录)"))])]), _c("span", {
6268
+ }, [_c("div", [_c("strong", [_vm._v("版本名称:")]), _vm._v(_vm._s(item.filename))]), _c("div", [_c("strong", [_vm._v("描述:")]), _vm._v(_vm._s(item.description || "(无)"))]), _c("div", [_c("strong", [_vm._v("创建时间:")]), _vm._v(_vm._s(item.createTime ? _setup.formatTime(item.createTime) : "(旧版本,无记录)"))]), _c("div", [_c("strong", [_vm._v("修改时间:")]), _vm._v(_vm._s(item.updateTime ? _setup.formatTime(item.updateTime) : "(旧版本,无记录)"))])]), _c("div", {
6269
+ staticClass: "response-panel__tab",
6270
+ class: {
6271
+ "response-panel__tab--selected": item.filename === _setup.currentFile.filename
6272
+ },
6273
+ on: {
6274
+ click: function ($event) {
6275
+ return _setup.selectFile(item);
6276
+ }
6277
+ }
6278
+ }, [_c("span", {
6223
6279
  staticClass: "response-panel__tab-text"
6224
- }, [_vm._v(_vm._s(item.filename))])]) : _c("span", [_vm._v(_vm._s(item.filename))]), item.type === "history" ? _c("i", {
6280
+ }, [_vm._v(_vm._s(item.filename))]), _c("div", {
6281
+ staticClass: "response-panel__tab-actions"
6282
+ }, [_c("i", {
6225
6283
  staticClass: "el-icon-edit response-panel__edit-btn",
6226
6284
  on: {
6227
6285
  click: function ($event) {
@@ -6229,7 +6287,7 @@ var render = function render() {
6229
6287
  return _setup.onEditVersion(item);
6230
6288
  }
6231
6289
  }
6232
- }) : _vm._e(), item.type === "history" ? _c("i", {
6290
+ }), _c("i", {
6233
6291
  staticClass: "el-icon-delete response-panel__delete-btn",
6234
6292
  on: {
6235
6293
  click: function ($event) {
@@ -6237,29 +6295,37 @@ var render = function render() {
6237
6295
  return _setup.deleteVersionHandler(item, index);
6238
6296
  }
6239
6297
  }
6240
- }) : _vm._e()], 1);
6241
- }), 0) : _vm._e(), _setup.mockMode === "match" ? _c("div", {
6242
- ref: "tabsAreaRef",
6243
- staticClass: "response-panel__tabs-area",
6244
- on: {
6245
- scroll: _setup.updateTabsFade
6246
- }
6247
- }, _vm._l(_setup.matchRuleList, function (item, index) {
6248
- return _c("div", {
6249
- key: item.id,
6298
+ })])])]) : item.type !== "source" ? _c("div", {
6299
+ key: `${item.type}-${item.filename}`,
6250
6300
  staticClass: "response-panel__tab",
6251
6301
  class: {
6252
- "response-panel__tab--selected": _setup.currentMatchRule && item.id === _setup.currentMatchRule.id
6302
+ "response-panel__tab--selected": item.filename === _setup.currentFile.filename
6253
6303
  },
6254
6304
  on: {
6255
6305
  click: function ($event) {
6256
- return _setup.selectMatchRule(item);
6306
+ return _setup.selectFile(item);
6257
6307
  }
6258
6308
  }
6259
- }, [_c("el-tooltip", {
6309
+ }, [_c("span", [_vm._v(_vm._s(item.filename))])]) : _vm._e()];
6310
+ })], 2) : _vm._e(), _setup.mockMode === "match" ? _c("div", {
6311
+ directives: [{
6312
+ name: "show",
6313
+ rawName: "v-show",
6314
+ value: !_setup.headerCollapsed,
6315
+ expression: "!headerCollapsed"
6316
+ }],
6317
+ ref: "tabsAreaRef",
6318
+ staticClass: "response-panel__tabs-area",
6319
+ on: {
6320
+ scroll: _setup.updateTabsFade
6321
+ }
6322
+ }, _vm._l(_setup.matchRuleList, function (item, index) {
6323
+ return _c("el-tooltip", {
6324
+ key: item.id,
6260
6325
  attrs: {
6261
6326
  effect: "dark",
6262
- placement: "top"
6327
+ placement: "top",
6328
+ "open-delay": 1000
6263
6329
  }
6264
6330
  }, [_c("div", {
6265
6331
  staticStyle: {
@@ -6269,17 +6335,28 @@ var render = function render() {
6269
6335
  slot: "content"
6270
6336
  },
6271
6337
  slot: "content"
6272
- }, [_c("div", [_c("strong", [_vm._v("规则名称:")]), _vm._v(_vm._s(item.name))]), _c("div", [_c("strong", [_vm._v("描述:")]), _vm._v(_vm._s(item.description || "(无)"))]), _c("div", [_c("strong", [_vm._v("条件数:")]), _vm._v(_vm._s(item.conditions ? item.conditions.length : 0))])]), _c("span", {
6273
- staticClass: "response-panel__tab-text"
6274
- }, [_vm._v(_vm._s(item.name))])]), _setup.crossRuleConflicts[item.id] ? _c("el-tooltip", {
6275
- attrs: {
6276
- content: _setup.crossRuleConflicts[item.id],
6277
- placement: "top",
6278
- effect: "dark"
6338
+ }, [_c("div", [_c("strong", [_vm._v("规则名称:")]), _vm._v(_vm._s(item.name))]), _c("div", [_c("strong", [_vm._v("描述:")]), _vm._v(_vm._s(item.description || "(无)"))]), _c("div", [_c("strong", [_vm._v("条件数:")]), _vm._v(_vm._s(item.conditions ? item.conditions.length : 0))]), _setup.crossRuleConflicts[item.id] ? _c("div", {
6339
+ staticStyle: {
6340
+ "margin-top": "4px",
6341
+ color: "#f59e0b"
6279
6342
  }
6280
- }, [_c("i", {
6343
+ }, [_c("strong", [_vm._v("⚠ 冲突:")]), _vm._v(_vm._s(_setup.crossRuleConflicts[item.id]) + " ")]) : _vm._e()]), _c("div", {
6344
+ staticClass: "response-panel__tab",
6345
+ class: {
6346
+ "response-panel__tab--selected": _setup.currentMatchRule && item.id === _setup.currentMatchRule.id
6347
+ },
6348
+ on: {
6349
+ click: function ($event) {
6350
+ return _setup.selectMatchRule(item);
6351
+ }
6352
+ }
6353
+ }, [_setup.crossRuleConflicts[item.id] ? _c("i", {
6281
6354
  staticClass: "el-icon-warning response-panel__rule-conflict-badge"
6282
- })]) : _vm._e(), _c("i", {
6355
+ }) : _vm._e(), _c("span", {
6356
+ staticClass: "response-panel__tab-text"
6357
+ }, [_vm._v(_vm._s(item.name))]), _c("div", {
6358
+ staticClass: "response-panel__tab-actions"
6359
+ }, [_c("i", {
6283
6360
  staticClass: "el-icon-edit response-panel__edit-btn",
6284
6361
  on: {
6285
6362
  click: function ($event) {
@@ -6295,8 +6372,20 @@ var render = function render() {
6295
6372
  return _setup.deleteMatchRuleHandler(item, index);
6296
6373
  }
6297
6374
  }
6298
- })], 1);
6299
- }), 0) : _vm._e()])]), _c("div", {
6375
+ })])])]);
6376
+ }), 1) : _vm._e(), (_setup.mockMode === "version" ? _setup.historyVersionCount > 0 : _setup.matchRuleList.length > 0) ? _c("div", {
6377
+ staticClass: "response-panel__collapse-btn",
6378
+ class: {
6379
+ "response-panel__collapse-btn--collapsed": _setup.headerCollapsed
6380
+ },
6381
+ on: {
6382
+ click: function ($event) {
6383
+ _setup.headerCollapsed = !_setup.headerCollapsed;
6384
+ }
6385
+ }
6386
+ }, [_c("i", {
6387
+ class: _setup.headerCollapsed ? "el-icon-arrow-down" : "el-icon-arrow-up"
6388
+ })]) : _vm._e()])]), _c("div", {
6300
6389
  staticClass: "response-panel__content"
6301
6390
  }, [_setup.mockMode === "match" && _setup.currentMatchRule && !_setup.headerCollapsed ? _c(_setup.MatchConditionEditor, {
6302
6391
  attrs: {
@@ -6310,34 +6399,6 @@ var render = function render() {
6310
6399
  }) : _vm._e(), _c("div", {
6311
6400
  staticClass: "response-panel__toolbar"
6312
6401
  }, [_c("el-tooltip", {
6313
- attrs: {
6314
- content: _setup.isSourceReadonly ? "原始响应不可格式化" : "格式化 JSON",
6315
- placement: "bottom"
6316
- }
6317
- }, [_c("el-button", {
6318
- attrs: {
6319
- size: "mini",
6320
- icon: "el-icon-brush",
6321
- disabled: !_setup.activeEditorContent || _setup.isSourceReadonly
6322
- },
6323
- on: {
6324
- click: _setup.handleFormat
6325
- }
6326
- }, [_vm._v(" 格式化 ")])], 1), _c("el-tooltip", {
6327
- attrs: {
6328
- content: _setup.isSourceReadonly ? "原始响应不可修改" : "验证 JSON 语法",
6329
- placement: "bottom"
6330
- }
6331
- }, [_c("el-button", {
6332
- attrs: {
6333
- size: "mini",
6334
- icon: "el-icon-check",
6335
- disabled: !_setup.activeEditorContent || _setup.isSourceReadonly
6336
- },
6337
- on: {
6338
- click: _setup.handleValidate
6339
- }
6340
- }, [_vm._v(" 验证 ")])], 1), _c("el-tooltip", {
6341
6402
  attrs: {
6342
6403
  content: "展开所有节点",
6343
6404
  placement: "bottom"
@@ -6699,33 +6760,6 @@ var render = function render() {
6699
6760
  }, [_c("div", {
6700
6761
  staticClass: "fullscreen-editor-toolbar"
6701
6762
  }, [_c("el-tooltip", {
6702
- attrs: {
6703
- content: _setup.isSourceReadonly ? "原始响应不可格式化" : "格式化 JSON",
6704
- placement: "bottom"
6705
- }
6706
- }, [_c("el-button", {
6707
- attrs: {
6708
- size: "small",
6709
- icon: "el-icon-brush",
6710
- disabled: _setup.isSourceReadonly
6711
- },
6712
- on: {
6713
- click: _setup.handleFullScreenFormat
6714
- }
6715
- }, [_vm._v(" 格式化 ")])], 1), _c("el-tooltip", {
6716
- attrs: {
6717
- content: "验证 JSON 语法",
6718
- placement: "bottom"
6719
- }
6720
- }, [_c("el-button", {
6721
- attrs: {
6722
- size: "small",
6723
- icon: "el-icon-check"
6724
- },
6725
- on: {
6726
- click: _setup.handleFullScreenValidate
6727
- }
6728
- }, [_vm._v(" 验证 ")])], 1), _c("el-tooltip", {
6729
6763
  attrs: {
6730
6764
  content: "展开所有节点",
6731
6765
  placement: "bottom"
@@ -7241,8 +7275,9 @@ var render = function render() {
7241
7275
  }, [_c("span", {
7242
7276
  staticClass: "plugin-header__name"
7243
7277
  }, [_vm._v("MockBubu")]), _c("el-switch", {
7278
+ staticClass: "plugin-header__switch",
7244
7279
  attrs: {
7245
- width: 36
7280
+ width: 26
7246
7281
  },
7247
7282
  on: {
7248
7283
  change: _setup.handlePluginEnabledToggle
@@ -7431,16 +7466,39 @@ var render = function render() {
7431
7466
  staticClass: "action-panel__row"
7432
7467
  }, [_c("div", {
7433
7468
  staticClass: "action-panel__search"
7434
- }, [_c(_setup.GroupSelector, {
7435
- ref: "groupSelectorRef",
7469
+ }, [_setup.pluginMode !== null ? [_c("div", {
7470
+ staticClass: "capture-status",
7471
+ class: {
7472
+ "is-capturing": _setup.pluginMode === "default"
7473
+ }
7474
+ }, [_c("span", {
7475
+ staticClass: "capture-status__dot"
7476
+ }), _c("span", {
7477
+ staticClass: "capture-status__text"
7478
+ }, [_vm._v(" " + _vm._s(_setup.pluginMode === "default" ? "捕获请求中" : "停止捕获请求") + " ")]), _c("el-switch", {
7479
+ staticClass: "capture-status__switch",
7480
+ attrs: {
7481
+ value: _setup.pluginMode === "default",
7482
+ width: 26,
7483
+ "active-color": "#67c23a",
7484
+ "inactive-color": "#c0c4cc"
7485
+ },
7436
7486
  on: {
7437
- refresh: _setup.handleGroupRefresh
7487
+ change: _setup.handleCaptureToggle
7488
+ }
7489
+ }), _c("el-tooltip", {
7490
+ attrs: {
7491
+ content: "停止后不再捕获新的请求,但仍可以命中请求返回开启 Mock 的数据",
7492
+ placement: "bottom",
7493
+ "open-delay": _setup.TOOLTIP_DELAY
7438
7494
  }
7439
- }), _c("el-divider", {
7495
+ }, [_c("i", {
7496
+ staticClass: "el-icon-question capture-status__help"
7497
+ })])], 1), _c("el-divider", {
7440
7498
  attrs: {
7441
7499
  direction: "vertical"
7442
7500
  }
7443
- }), _c("el-input", {
7501
+ })] : _vm._e(), _c("el-input", {
7444
7502
  staticClass: "action-panel__input",
7445
7503
  attrs: {
7446
7504
  clearable: "",
@@ -7500,131 +7558,61 @@ var render = function render() {
7500
7558
  staticClass: "action-panel__result-count"
7501
7559
  }, [_c("span", {
7502
7560
  staticClass: "action-panel__result-text"
7503
- }, [_vm._v("共 " + _vm._s(_vm.totalCount) + " 条")])])], 1), _c("div", {
7504
- staticClass: "action-panel__actions"
7505
- }, [_vm.selectedRows.length > 0 ? [_c("el-tag", {
7561
+ }, [_vm._v("共 " + _vm._s(_vm.totalCount) + " 条")])]), _vm.selectedRows.length > 0 ? [_c("el-divider", {
7562
+ attrs: {
7563
+ direction: "vertical"
7564
+ }
7565
+ }), _c("el-tag", {
7506
7566
  staticClass: "action-panel__selection-count",
7507
7567
  attrs: {
7508
7568
  type: "info",
7509
7569
  size: "small"
7510
7570
  }
7511
- }, [_vm._v(" 已选 " + _vm._s(_vm.selectedRows.length) + " 项 ")]), _c("el-divider", {
7512
- attrs: {
7513
- direction: "vertical"
7514
- }
7515
- }), _c("el-button", {
7571
+ }, [_vm._v(" 已选 " + _vm._s(_vm.selectedRows.length) + " 项 ")]), _c("el-button", {
7516
7572
  attrs: {
7517
7573
  size: "mini",
7518
7574
  type: "primary",
7519
7575
  icon: "el-icon-folder-checked"
7520
7576
  },
7521
7577
  on: {
7522
- click: _setup.handleBatchSave
7523
- }
7524
- }, [_vm._v(" 保存选中 ")]), _c("el-button", {
7525
- attrs: {
7526
- size: "mini",
7527
- type: "success",
7528
- icon: "el-icon-check"
7529
- },
7530
- on: {
7531
- click: function ($event) {
7532
- return _setup.handleBatchUpdateMock(true);
7533
- }
7534
- }
7535
- }, [_vm._v(" 开启 Mock ")]), _c("el-button", {
7536
- attrs: {
7537
- size: "mini",
7538
- icon: "el-icon-close"
7539
- },
7540
- on: {
7541
- click: function ($event) {
7542
- return _setup.handleBatchUpdateMock(false);
7543
- }
7544
- }
7545
- }, [_vm._v(" 关闭 Mock ")]), _c("el-button", {
7546
- attrs: {
7547
- size: "mini",
7548
- type: "danger",
7549
- icon: "el-icon-delete"
7550
- },
7551
- on: {
7552
- click: _setup.handleBatchDeleteSelected
7553
- }
7554
- }, [_vm._v(" 删除选中 ")])] : void 0], 2)]) : _vm._e(), _vm.showActionRow ? _c("div", {
7555
- staticClass: "action-panel__rules-row"
7556
- }, [_setup.pluginMode !== null ? _c("div", {
7557
- staticClass: "plugin-mode-wrapper"
7558
- }, [_c("span", {
7559
- staticClass: "plugin-mode-label"
7560
- }, [_vm._v("工作模式:")]), _c("el-radio-group", {
7561
- attrs: {
7562
- size: "small"
7563
- },
7564
- on: {
7565
- change: _setup.handleModeChange
7566
- },
7567
- model: {
7568
- value: _setup.pluginMode,
7569
- callback: function ($$v) {
7570
- _setup.pluginMode = $$v;
7571
- },
7572
- expression: "pluginMode"
7573
- }
7574
- }, [_c("el-radio-button", {
7575
- attrs: {
7576
- label: "default"
7577
- }
7578
- }, [_c("el-tooltip", {
7579
- attrs: {
7580
- content: "全功能模式:捕获新请求 + 返回Mock数据",
7581
- placement: "top"
7582
- }
7583
- }, [_c("span", [_c("i", {
7584
- staticClass: "el-icon-upload2"
7585
- }), _vm._v(" 默认模式 ")])])], 1), _c("el-radio-button", {
7586
- attrs: {
7587
- label: "mock-only"
7588
- }
7589
- }, [_c("el-tooltip", {
7590
- attrs: {
7591
- content: "不捕获新请求,仅返回已开启Mock的数据",
7592
- placement: "top"
7578
+ click: _setup.handleBatchSave
7593
7579
  }
7594
- }, [_c("span", [_c("i", {
7595
- staticClass: "el-icon-download"
7596
- }), _vm._v(" 仅Mock模式 ")])])], 1)], 1), _c("el-divider", {
7580
+ }, [_vm._v(" 保存选中 ")]), _c("el-button", {
7597
7581
  attrs: {
7598
- direction: "vertical"
7582
+ size: "mini",
7583
+ type: "success",
7584
+ icon: "el-icon-check"
7585
+ },
7586
+ on: {
7587
+ click: function ($event) {
7588
+ return _setup.handleBatchUpdateMock(true);
7589
+ }
7599
7590
  }
7600
- })], 1) : _vm._e(), _c("el-tooltip", {
7591
+ }, [_vm._v(" 开启 Mock ")]), _c("el-button", {
7601
7592
  attrs: {
7602
- placement: "bottom"
7593
+ size: "mini",
7594
+ icon: "el-icon-close"
7595
+ },
7596
+ on: {
7597
+ click: function ($event) {
7598
+ return _setup.handleBatchUpdateMock(false);
7599
+ }
7603
7600
  }
7604
- }, [_c("div", {
7605
- staticClass: "rules-help-content",
7601
+ }, [_vm._v(" 关闭 Mock ")]), _c("el-button", {
7606
7602
  attrs: {
7607
- slot: "content"
7608
- },
7609
- slot: "content"
7610
- }, [_c("pre", [_vm._v(" 插件规则配置说明:\n 在whistle规则板块配置以下格式并开启生效\n pattern mockbubu://\n 规则匹配文档见:"), _c("a", {
7611
- staticStyle: {
7612
- color: "green"
7603
+ size: "mini",
7604
+ type: "danger",
7605
+ icon: "el-icon-delete"
7613
7606
  },
7614
- attrs: {
7615
- href: "https://wproxy.org/docs/rules/pattern.html",
7616
- target: "_blank",
7617
- rel: "noopener noreferrer"
7607
+ on: {
7608
+ click: _setup.handleBatchDeleteSelected
7618
7609
  }
7619
- }, [_vm._v("whistle文档")]), _vm._v("\n ")])]), _c("div", {
7620
- staticClass: "active-rules-text"
7621
- }, [_c("span", {
7622
- staticClass: "rules-label"
7623
- }, [_vm._v("? 当前生效规则:")]), _setup.activeRulesList.length > 0 ? _c("span", {
7624
- staticClass: "rules-value"
7625
- }, [_vm._v(" " + _vm._s(_setup.activeRulesList.join(", ")) + " ")]) : _c("span", {
7626
- staticClass: "rules-empty"
7627
- }, [_vm._v("暂无")])])])], 1) : _vm._e(), _c("input", {
7610
+ }, [_vm._v(" 删除选中 ")])] : _vm._e()], 2), _c(_setup.GroupSelector, {
7611
+ ref: "groupSelectorRef",
7612
+ on: {
7613
+ refresh: _setup.handleGroupRefresh
7614
+ }
7615
+ })], 1) : _vm._e(), _c("input", {
7628
7616
  ref: "archiveInput",
7629
7617
  staticStyle: {
7630
7618
  display: "none"
@@ -8262,7 +8250,7 @@ __webpack_require__.r(__webpack_exports__);
8262
8250
 
8263
8251
  var ___CSS_LOADER_EXPORT___ = _node_modules_pnpm_css_loader_6_11_0_webpack_5_100_2_node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1___default()((_node_modules_pnpm_css_loader_6_11_0_webpack_5_100_2_node_modules_css_loader_dist_runtime_noSourceMaps_js__WEBPACK_IMPORTED_MODULE_0___default()));
8264
8252
  // Module
8265
- ___CSS_LOADER_EXPORT___.push([module.id, ".mock-container[data-v-d97322d2] {\n position: relative;\n display: flex;\n flex-direction: column;\n height: 100%;\n overflow: hidden;\n}\n.mock-container__content[data-v-d97322d2] {\n position: relative;\n padding-bottom: 16px;\n background-image: linear-gradient(0deg, var(--mb-accent-blue) 0, var(--mb-accent-blue) 16px, transparent 100%);\n display: flex;\n flex: 1;\n border: 1px solid var(--mb-border-color);\n border-left: none;\n overflow: hidden;\n}\n.mock-container__toolbar[data-v-d97322d2] {\n width: 48px;\n flex-shrink: 0;\n display: flex;\n flex-direction: column;\n align-items: center;\n padding-top: 16px;\n gap: 8px;\n background: var(--mb-bg-base);\n border-right: 1px solid var(--mb-border-color-deep);\n z-index: 10;\n overflow: visible;\n}\n.mock-container__list-badge[data-v-d97322d2] {\n line-height: 1;\n overflow: visible;\n}\n.mock-container__detail-wrapper[data-v-d97322d2] {\n flex: 1;\n display: flex;\n flex-direction: column;\n overflow: hidden;\n isolation: isolate;\n}\n.mock-container__current-url[data-v-d97322d2] {\n display: flex;\n align-items: center;\n justify-content: flex-start;\n gap: 6px;\n padding: 5px 10px 5px 12px;\n background: var(--mb-bg-mantle);\n border-bottom: 1px solid var(--mb-border-color);\n min-height: 30px;\n flex-shrink: 0;\n}\n.mock-container__current-url-copy[data-v-d97322d2] {\n display: flex;\n align-items: center;\n justify-content: center;\n flex-shrink: 0;\n width: 20px;\n height: 20px;\n border-radius: 4px;\n cursor: pointer;\n color: var(--mb-text-muted);\n transition: color 0.15s, background 0.15s;\n}\n.mock-container__current-url-copy[data-v-d97322d2]:hover {\n color: var(--mb-accent-blue);\n background: var(--mb-bg-surface);\n}\n.mock-container__current-url-copy .el-icon-link[data-v-d97322d2] {\n font-size: 13px;\n}\n.mock-container__current-url-scroll[data-v-d97322d2] {\n flex: 1;\n min-width: 0;\n overflow-x: auto;\n overflow-y: hidden;\n text-align: left;\n}\n.mock-container__current-url-scroll[data-v-d97322d2]::-webkit-scrollbar {\n height: 3px;\n}\n.mock-container__current-url-scroll[data-v-d97322d2]::-webkit-scrollbar-track {\n background: transparent;\n}\n.mock-container__current-url-scroll[data-v-d97322d2]::-webkit-scrollbar-thumb {\n background: var(--mb-border-color-deep);\n border-radius: 2px;\n}\n.mock-container__current-url-text[data-v-d97322d2] {\n display: inline-block;\n font-size: 12px;\n color: var(--mb-text-secondary);\n white-space: nowrap;\n font-family: 'SF Mono', 'Consolas', monospace;\n line-height: 20px;\n}\n.mock-container__list-overlay[data-v-d97322d2] {\n position: absolute;\n top: 0;\n left: 0;\n right: 0;\n bottom: 0;\n z-index: 9;\n}\n.mock-container__backdrop[data-v-d97322d2] {\n position: absolute;\n top: 0;\n left: 0;\n right: 0;\n bottom: 0;\n background: rgba(0, 0, 0, 0.3);\n}\n.mock-container__list-panel[data-v-d97322d2] {\n position: absolute;\n top: 0;\n left: 48px;\n bottom: 0;\n width: 85%;\n max-width: calc(100% - 48px);\n background: var(--mb-bg-base);\n display: flex;\n flex-direction: column;\n box-shadow: 4px 0 12px rgba(0, 0, 0, 0.15);\n overflow: hidden;\n z-index: 1;\n}\n.mock-container__list-panel-body[data-v-d97322d2] {\n flex: 1;\n overflow: hidden;\n display: flex;\n}\n.mock-container__list-panel-body .request-list[data-v-d97322d2] {\n width: 100%;\n}\n.mock-container__disabled-overlay[data-v-d97322d2] {\n position: absolute;\n inset: 0;\n z-index: 20;\n background: var(--mb-disabled-overlay);\n display: flex;\n align-items: center;\n justify-content: center;\n}\n.mock-container__disabled-card[data-v-d97322d2] {\n background: var(--mb-disabled-card-bg);\n border-radius: 16px;\n padding: 40px 48px;\n display: flex;\n flex-direction: column;\n align-items: center;\n gap: 12px;\n min-width: 260px;\n box-shadow: 0 8px 32px rgba(0, 0, 0, 0.4);\n}\n.mock-container__disabled-icon[data-v-d97322d2] {\n font-size: 36px;\n color: #888;\n line-height: 1;\n margin-bottom: 4px;\n}\n.mock-container__disabled-title[data-v-d97322d2] {\n font-size: 18px;\n font-weight: 600;\n color: #fff;\n}\n.mock-container__disabled-desc[data-v-d97322d2] {\n font-size: 13px;\n color: #aaa;\n text-align: center;\n}\n.mock-container__disabled-btn[data-v-d97322d2] {\n margin-top: 8px;\n border-radius: 8px;\n padding: 10px 32px;\n font-size: 15px;\n font-weight: 500;\n}\n", ""]);
8253
+ ___CSS_LOADER_EXPORT___.push([module.id, ".mock-container[data-v-d97322d2] {\n position: relative;\n display: flex;\n flex-direction: column;\n height: 100%;\n overflow: hidden;\n}\n.mock-container__content[data-v-d97322d2] {\n position: relative;\n padding-bottom: 16px;\n background-image: linear-gradient(0deg, var(--mb-accent-blue) 0, var(--mb-accent-blue) 16px, transparent 100%);\n display: flex;\n flex: 1;\n border: 1px solid var(--mb-border-color);\n border-left: none;\n overflow: hidden;\n}\n.mock-container__toolbar[data-v-d97322d2] {\n width: 48px;\n flex-shrink: 0;\n display: flex;\n flex-direction: column;\n align-items: center;\n padding-top: 16px;\n gap: 8px;\n background: var(--mb-bg-base);\n border-right: 1px solid var(--mb-border-color-deep);\n z-index: 10;\n overflow: visible;\n}\n.mock-container__list-badge[data-v-d97322d2] {\n line-height: 1;\n overflow: visible;\n}\n.mock-container__detail-wrapper[data-v-d97322d2] {\n flex: 1;\n display: flex;\n flex-direction: column;\n overflow: hidden;\n isolation: isolate;\n}\n.mock-container__current-url[data-v-d97322d2] {\n display: flex;\n align-items: center;\n justify-content: flex-start;\n gap: 6px;\n padding: 5px 10px 5px 12px;\n background: var(--mb-bg-mantle);\n border-bottom: 1px solid var(--mb-border-color);\n min-height: 30px;\n flex-shrink: 0;\n}\n.mock-container__current-url-copy[data-v-d97322d2] {\n display: flex;\n align-items: center;\n justify-content: center;\n flex-shrink: 0;\n width: 20px;\n height: 20px;\n border-radius: 4px;\n cursor: pointer;\n color: var(--mb-text-muted);\n transition: color 0.15s, background 0.15s;\n}\n.mock-container__current-url-copy[data-v-d97322d2]:hover {\n color: var(--mb-accent-blue);\n background: var(--mb-bg-surface);\n}\n.mock-container__current-url-copy .el-icon-link[data-v-d97322d2] {\n font-size: 13px;\n}\n.mock-container__current-url-scroll[data-v-d97322d2] {\n flex: 1;\n min-width: 0;\n overflow-x: auto;\n overflow-y: hidden;\n text-align: left;\n}\n.mock-container__current-url-scroll[data-v-d97322d2]::-webkit-scrollbar {\n height: 3px;\n}\n.mock-container__current-url-scroll[data-v-d97322d2]::-webkit-scrollbar-track {\n background: transparent;\n}\n.mock-container__current-url-scroll[data-v-d97322d2]::-webkit-scrollbar-thumb {\n background: var(--mb-border-color-deep);\n border-radius: 2px;\n}\n.mock-container__current-url-text[data-v-d97322d2] {\n display: inline-block;\n font-size: 12px;\n color: var(--mb-text-secondary);\n white-space: nowrap;\n font-family: 'SF Mono', 'Consolas', monospace;\n line-height: 20px;\n}\n.mock-container__list-overlay[data-v-d97322d2] {\n position: absolute;\n top: 0;\n left: 0;\n right: 0;\n bottom: 0;\n z-index: 9;\n}\n.mock-container__backdrop[data-v-d97322d2] {\n position: absolute;\n top: 0;\n left: 0;\n right: 0;\n bottom: 0;\n background: rgba(0, 0, 0, 0.3);\n}\n.mock-container__list-panel[data-v-d97322d2] {\n position: absolute;\n top: 0;\n left: 48px;\n bottom: 0;\n width: 85%;\n max-width: calc(100% - 48px);\n background: var(--mb-bg-base);\n display: flex;\n flex-direction: column;\n box-shadow: 4px 0 12px rgba(0, 0, 0, 0.15);\n overflow: hidden;\n z-index: 1;\n}\n.mock-container__list-panel-body[data-v-d97322d2] {\n flex: 1;\n overflow: hidden;\n display: flex;\n}\n.mock-container__list-panel-body .request-list[data-v-d97322d2] {\n width: 100%;\n}\n.mock-container__disabled-overlay[data-v-d97322d2] {\n position: absolute;\n inset: 0;\n z-index: 20;\n background: var(--mb-disabled-overlay);\n backdrop-filter: blur(6px);\n -webkit-backdrop-filter: blur(6px);\n display: flex;\n align-items: center;\n justify-content: center;\n}\n.mock-container__disabled-card[data-v-d97322d2] {\n background: #fff;\n border-radius: 16px;\n padding: 36px 48px;\n display: flex;\n flex-direction: column;\n align-items: center;\n gap: 12px;\n min-width: 280px;\n box-shadow: 0 4px 24px rgba(0, 0, 0, 0.12);\n}\n.mock-container__disabled-icon[data-v-d97322d2] {\n width: 52px;\n height: 52px;\n border-radius: 50%;\n background: #e8e8e8;\n display: flex;\n align-items: center;\n justify-content: center;\n gap: 5px;\n margin-bottom: 4px;\n flex-shrink: 0;\n}\n.mock-container__disabled-icon[data-v-d97322d2]::before,\n.mock-container__disabled-icon[data-v-d97322d2]::after {\n content: '';\n width: 5px;\n height: 18px;\n border-radius: 3px;\n background: #999;\n}\n.mock-container__disabled-title[data-v-d97322d2] {\n font-size: 17px;\n font-weight: 600;\n color: #1a1a1a;\n}\n.mock-container__disabled-desc[data-v-d97322d2] {\n font-size: 13px;\n color: #999;\n text-align: center;\n line-height: 1.5;\n}\n.mock-container__disabled-btn[data-v-d97322d2] {\n margin-top: 8px;\n border-radius: 10px !important;\n padding: 10px 40px;\n font-size: 15px;\n font-weight: 500;\n}\n", ""]);
8266
8254
  // Exports
8267
8255
  /* harmony default export */ __webpack_exports__["default"] = (___CSS_LOADER_EXPORT___);
8268
8256
 
@@ -8358,7 +8346,55 @@ __webpack_require__.r(__webpack_exports__);
8358
8346
 
8359
8347
  var ___CSS_LOADER_EXPORT___ = _node_modules_pnpm_css_loader_6_11_0_webpack_5_100_2_node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1___default()((_node_modules_pnpm_css_loader_6_11_0_webpack_5_100_2_node_modules_css_loader_dist_runtime_noSourceMaps_js__WEBPACK_IMPORTED_MODULE_0___default()));
8360
8348
  // Module
8361
- ___CSS_LOADER_EXPORT___.push([module.id, ".request-detail[data-v-77bc97aa] {\n position: relative;\n flex: 1;\n overflow: hidden;\n border-left: 1px solid var(--mb-border-color-deep);\n background: var(--mb-bg-base);\n}\n.request-detail--empty[data-v-77bc97aa] {\n display: flex;\n align-items: center;\n justify-content: center;\n}\n.request-detail__placeholder[data-v-77bc97aa] {\n display: flex;\n flex-direction: column;\n align-items: center;\n gap: 8px;\n color: var(--mb-text-muted);\n}\n.request-detail__placeholder-icon[data-v-77bc97aa] {\n font-size: 32px;\n opacity: 0.4;\n}\n.request-detail__placeholder-text[data-v-77bc97aa] {\n font-size: 13px;\n}\n.request-detail__tabs[data-v-77bc97aa] {\n box-shadow: none;\n border: none;\n height: 100%;\n display: flex;\n flex-direction: column;\n}\n.request-detail__tabs[data-v-77bc97aa] .el-tabs__content {\n padding: 0;\n flex: 1;\n overflow: hidden;\n background-color: var(--mb-bg-base);\n}\n.request-detail__tabs[data-v-77bc97aa] .el-tabs__header {\n background-color: var(--mb-bg-base);\n border-bottom-color: var(--mb-border-color-light);\n}\n.request-detail__tabs[data-v-77bc97aa] .el-tabs__item {\n height: 30px;\n line-height: 30px;\n font-size: 12px;\n background-color: var(--mb-bg-base);\n color: var(--mb-text-primary);\n border-right-color: var(--mb-border-color-light);\n border-left-color: var(--mb-border-color-light);\n}\n.request-detail__tabs[data-v-77bc97aa] .el-tabs__item.is-active {\n background-color: var(--mb-selected-bg);\n}\n.request-detail__tabs[data-v-77bc97aa] .el-tabs__nav-wrap {\n margin-bottom: 0;\n}\n.request-detail__tabs[data-v-77bc97aa] .el-tabs__nav-prev,\n.request-detail__tabs[data-v-77bc97aa] .el-tabs__nav-next {\n height: 30px;\n line-height: 30px;\n}\n.request-detail__tab-pane[data-v-77bc97aa] {\n height: 100%;\n overflow-y: auto;\n background-color: var(--mb-bg-base);\n color: var(--mb-text-primary);\n}\n.request-detail__section[data-v-77bc97aa] {\n margin-bottom: 12px;\n}\n.request-detail__section[data-v-77bc97aa]:last-child {\n margin-bottom: 0;\n}\n.request-detail__section-title[data-v-77bc97aa] {\n padding: 5px 8px;\n font-size: 11px;\n font-weight: 600;\n color: var(--mb-text-muted);\n background-color: var(--mb-bg-mantle);\n border-bottom: 1px solid var(--mb-border-color-light);\n text-transform: uppercase;\n letter-spacing: 0.5px;\n}\n.request-detail__item[data-v-77bc97aa] {\n display: flex;\n font-size: 12px;\n border-bottom: 1px solid var(--mb-border-color-light);\n background-color: var(--mb-bg-base);\n}\n.request-detail__label[data-v-77bc97aa] {\n flex: 0 0 100px;\n text-align: right;\n line-height: 1;\n padding: 4px 6px;\n font-weight: 400;\n color: var(--mb-text-secondary);\n background-color: var(--mb-selected-bg);\n}\n.request-detail__value[data-v-77bc97aa] {\n flex: 1;\n padding: 4px 6px;\n line-height: 1;\n text-align: left;\n word-break: break-all;\n color: var(--mb-text-primary);\n background-color: var(--mb-bg-base);\n}\n.request-detail__empty[data-v-77bc97aa] {\n padding: 20px;\n text-align: center;\n color: var(--mb-text-muted);\n font-size: 12px;\n}\n.request-detail__payload-editor[data-v-77bc97aa] {\n height: 200px;\n overflow: hidden;\n}\n.container[data-v-77bc97aa] {\n display: flex;\n flex: 1;\n border: 1px solid var(--mb-border-color-light);\n border-left: none;\n overflow: hidden;\n}\n.container .detail[data-v-77bc97aa] {\n position: relative;\n flex: 1;\n overflow: hidden;\n border-left: 1px solid var(--mb-border-color-deep);\n background: var(--mb-bg-base);\n}\n.container .detail--empty[data-v-77bc97aa] {\n display: flex;\n align-items: center;\n justify-content: center;\n}\n.container .detail__placeholder[data-v-77bc97aa] {\n display: flex;\n flex-direction: column;\n align-items: center;\n gap: 8px;\n color: var(--mb-text-muted);\n}\n.container .detail__placeholder-icon[data-v-77bc97aa] {\n font-size: 32px;\n opacity: 0.4;\n}\n.container .detail__placeholder-text[data-v-77bc97aa] {\n font-size: 13px;\n}\n.container .detail__tabs[data-v-77bc97aa] {\n box-shadow: none;\n border: none;\n height: 100%;\n display: flex;\n flex-direction: column;\n}\n.container .detail__tabs[data-v-77bc97aa] .el-tabs__content {\n padding: 0;\n flex: 1;\n overflow: hidden;\n background-color: var(--mb-bg-base);\n}\n.container .detail__tabs[data-v-77bc97aa] .el-tabs__header {\n background-color: var(--mb-bg-base);\n border-bottom-color: var(--mb-border-color-light);\n}\n.container .detail__tabs[data-v-77bc97aa] .el-tabs__item {\n height: 30px;\n line-height: 30px;\n font-size: 12px;\n background-color: var(--mb-bg-base);\n color: var(--mb-text-primary);\n border-right-color: var(--mb-border-color-light);\n border-left-color: var(--mb-border-color-light);\n}\n.container .detail__tabs[data-v-77bc97aa] .el-tabs__item.is-active {\n background-color: var(--mb-selected-bg);\n}\n.container .detail__tabs[data-v-77bc97aa] .el-tabs__nav-wrap {\n margin-bottom: 0;\n}\n.container .detail__tabs[data-v-77bc97aa] .el-tabs__nav-prev,\n.container .detail__tabs[data-v-77bc97aa] .el-tabs__nav-next {\n height: 30px;\n line-height: 30px;\n}\n.container .detail__tab-pane[data-v-77bc97aa] {\n height: 100%;\n overflow-y: auto;\n background-color: var(--mb-bg-base);\n color: var(--mb-text-primary);\n}\n.container .detail__section[data-v-77bc97aa] {\n margin-bottom: 12px;\n}\n.container .detail__section[data-v-77bc97aa]:last-child {\n margin-bottom: 0;\n}\n.container .detail__section-title[data-v-77bc97aa] {\n padding: 5px 8px;\n font-size: 11px;\n font-weight: 600;\n color: var(--mb-text-muted);\n background-color: var(--mb-bg-mantle);\n border-bottom: 1px solid var(--mb-border-color-light);\n text-transform: uppercase;\n letter-spacing: 0.5px;\n}\n.container .detail__item[data-v-77bc97aa] {\n display: flex;\n font-size: 12px;\n border-bottom: 1px solid var(--mb-border-color-light);\n background-color: var(--mb-bg-base);\n}\n.container .detail__label[data-v-77bc97aa] {\n flex: 0 0 100px;\n text-align: right;\n line-height: 1;\n padding: 4px 6px;\n font-weight: 400;\n color: var(--mb-text-secondary);\n background-color: var(--mb-selected-bg);\n}\n.container .detail__value[data-v-77bc97aa] {\n flex: 1;\n padding: 4px 6px;\n line-height: 1;\n text-align: left;\n word-break: break-all;\n color: var(--mb-text-primary);\n background-color: var(--mb-bg-base);\n}\n.container .detail__empty[data-v-77bc97aa] {\n padding: 20px;\n text-align: center;\n color: var(--mb-text-muted);\n font-size: 12px;\n}\n.container .detail__payload-editor[data-v-77bc97aa] {\n height: 200px;\n overflow: hidden;\n}\n.container .detail .el-icon-close[data-v-77bc97aa] {\n position: absolute;\n top: 0;\n cursor: pointer;\n right: 0;\n width: 28px;\n height: 28px;\n z-index: 1;\n font-size: 14px;\n line-height: 28px;\n}\n[data-v-77bc97aa] .el-table {\n border-color: var(--mb-border-color-light) !important;\n border-left: none;\n border-bottom: none;\n border-top: none;\n}\n[data-v-77bc97aa] .el-table::before,[data-v-77bc97aa] .el-table::after {\n content: none;\n}\n[data-v-77bc97aa] .el-table .el-table__cell {\n border-color: var(--mb-border-color-light) !important;\n}\n[data-v-77bc97aa] .el-table .el-table__body .el-table__cell {\n padding: 0 !important;\n}\n[data-v-77bc97aa] .el-table .cell {\n line-height: 1.4 !important;\n}\n[data-v-77bc97aa] .el-table .el-table__row:hover .name-expand-shadow {\n background: var(--mb-hover-bg);\n}\n[data-v-77bc97aa] .el-table .el-table__row:hover .name-expand-icon {\n background: var(--mb-hover-bg);\n}\n[data-v-77bc97aa] .el-table .el-button.danger {\n color: var(--mb-accent-red);\n}\n", ""]);
8349
+ ___CSS_LOADER_EXPORT___.push([module.id, ".request-detail[data-v-77bc97aa] {\n position: relative;\n flex: 1;\n overflow: hidden;\n border-left: 1px solid var(--mb-border-color-deep);\n background: var(--mb-bg-base);\n}\n.request-detail--empty[data-v-77bc97aa] {\n display: flex;\n align-items: center;\n justify-content: center;\n}\n.request-detail__placeholder[data-v-77bc97aa] {\n display: flex;\n flex-direction: column;\n align-items: center;\n gap: 8px;\n color: var(--mb-text-muted);\n}\n.request-detail__placeholder-text[data-v-77bc97aa] {\n font-size: 13px;\n}\n", ""]);
8350
+ // Exports
8351
+ /* harmony default export */ __webpack_exports__["default"] = (___CSS_LOADER_EXPORT___);
8352
+
8353
+
8354
+ /***/ }),
8355
+
8356
+ /***/ "./node_modules/.pnpm/css-loader@6.11.0_webpack@5.100.2/node_modules/css-loader/dist/cjs.js??clonedRuleSet-32.use[1]!./node_modules/.pnpm/vue-loader@15.11.1_css-loader@6.11.0_vue-template-compiler@2.6.14_webpack@5.100.1/node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/.pnpm/postcss-loader@6.2.1_postcss@8.5.6_webpack@5.100.1/node_modules/postcss-loader/dist/cjs.js??clonedRuleSet-32.use[2]!./node_modules/.pnpm/less-loader@11.0.0_less@4.1.2_webpack@5.100.2/node_modules/less-loader/dist/cjs.js??clonedRuleSet-32.use[3]!./node_modules/.pnpm/vue-loader@15.11.1_css-loader@6.11.0_vue-template-compiler@2.6.14_webpack@5.100.1/node_modules/vue-loader/lib/index.js??vue-loader-options!./src/components/content/RequestInfoDialog.vue?vue&type=style&index=0&id=b9cf4022&lang=less":
8357
+ /*!*******************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
8358
+ !*** ./node_modules/.pnpm/css-loader@6.11.0_webpack@5.100.2/node_modules/css-loader/dist/cjs.js??clonedRuleSet-32.use[1]!./node_modules/.pnpm/vue-loader@15.11.1_css-loader@6.11.0_vue-template-compiler@2.6.14_webpack@5.100.1/node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/.pnpm/postcss-loader@6.2.1_postcss@8.5.6_webpack@5.100.1/node_modules/postcss-loader/dist/cjs.js??clonedRuleSet-32.use[2]!./node_modules/.pnpm/less-loader@11.0.0_less@4.1.2_webpack@5.100.2/node_modules/less-loader/dist/cjs.js??clonedRuleSet-32.use[3]!./node_modules/.pnpm/vue-loader@15.11.1_css-loader@6.11.0_vue-template-compiler@2.6.14_webpack@5.100.1/node_modules/vue-loader/lib/index.js??vue-loader-options!./src/components/content/RequestInfoDialog.vue?vue&type=style&index=0&id=b9cf4022&lang=less ***!
8359
+ \*******************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/
8360
+ /***/ (function(module, __webpack_exports__, __webpack_require__) {
8361
+
8362
+ "use strict";
8363
+ __webpack_require__.r(__webpack_exports__);
8364
+ /* harmony import */ var _node_modules_pnpm_css_loader_6_11_0_webpack_5_100_2_node_modules_css_loader_dist_runtime_noSourceMaps_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../../node_modules/.pnpm/css-loader@6.11.0_webpack@5.100.2/node_modules/css-loader/dist/runtime/noSourceMaps.js */ "./node_modules/.pnpm/css-loader@6.11.0_webpack@5.100.2/node_modules/css-loader/dist/runtime/noSourceMaps.js");
8365
+ /* harmony import */ var _node_modules_pnpm_css_loader_6_11_0_webpack_5_100_2_node_modules_css_loader_dist_runtime_noSourceMaps_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_node_modules_pnpm_css_loader_6_11_0_webpack_5_100_2_node_modules_css_loader_dist_runtime_noSourceMaps_js__WEBPACK_IMPORTED_MODULE_0__);
8366
+ /* harmony import */ var _node_modules_pnpm_css_loader_6_11_0_webpack_5_100_2_node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../../node_modules/.pnpm/css-loader@6.11.0_webpack@5.100.2/node_modules/css-loader/dist/runtime/api.js */ "./node_modules/.pnpm/css-loader@6.11.0_webpack@5.100.2/node_modules/css-loader/dist/runtime/api.js");
8367
+ /* harmony import */ var _node_modules_pnpm_css_loader_6_11_0_webpack_5_100_2_node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_node_modules_pnpm_css_loader_6_11_0_webpack_5_100_2_node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1__);
8368
+ // Imports
8369
+
8370
+
8371
+ var ___CSS_LOADER_EXPORT___ = _node_modules_pnpm_css_loader_6_11_0_webpack_5_100_2_node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1___default()((_node_modules_pnpm_css_loader_6_11_0_webpack_5_100_2_node_modules_css_loader_dist_runtime_noSourceMaps_js__WEBPACK_IMPORTED_MODULE_0___default()));
8372
+ // Module
8373
+ ___CSS_LOADER_EXPORT___.push([module.id, ".request-info-dialog {\n border-radius: 10px !important;\n overflow: hidden;\n height: 90vh;\n display: flex !important;\n flex-direction: column;\n}\n.request-info-dialog .el-dialog__header {\n padding: 0 !important;\n border-bottom: none !important;\n flex-shrink: 0;\n}\n.request-info-dialog .el-dialog__body {\n padding: 0 !important;\n flex: 1;\n min-height: 0;\n overflow: hidden;\n display: flex;\n flex-direction: column;\n}\n", ""]);
8374
+ // Exports
8375
+ /* harmony default export */ __webpack_exports__["default"] = (___CSS_LOADER_EXPORT___);
8376
+
8377
+
8378
+ /***/ }),
8379
+
8380
+ /***/ "./node_modules/.pnpm/css-loader@6.11.0_webpack@5.100.2/node_modules/css-loader/dist/cjs.js??clonedRuleSet-32.use[1]!./node_modules/.pnpm/vue-loader@15.11.1_css-loader@6.11.0_vue-template-compiler@2.6.14_webpack@5.100.1/node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/.pnpm/postcss-loader@6.2.1_postcss@8.5.6_webpack@5.100.1/node_modules/postcss-loader/dist/cjs.js??clonedRuleSet-32.use[2]!./node_modules/.pnpm/less-loader@11.0.0_less@4.1.2_webpack@5.100.2/node_modules/less-loader/dist/cjs.js??clonedRuleSet-32.use[3]!./node_modules/.pnpm/vue-loader@15.11.1_css-loader@6.11.0_vue-template-compiler@2.6.14_webpack@5.100.1/node_modules/vue-loader/lib/index.js??vue-loader-options!./src/components/content/RequestInfoDialog.vue?vue&type=style&index=1&id=b9cf4022&lang=less&scoped=true":
8381
+ /*!*******************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
8382
+ !*** ./node_modules/.pnpm/css-loader@6.11.0_webpack@5.100.2/node_modules/css-loader/dist/cjs.js??clonedRuleSet-32.use[1]!./node_modules/.pnpm/vue-loader@15.11.1_css-loader@6.11.0_vue-template-compiler@2.6.14_webpack@5.100.1/node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/.pnpm/postcss-loader@6.2.1_postcss@8.5.6_webpack@5.100.1/node_modules/postcss-loader/dist/cjs.js??clonedRuleSet-32.use[2]!./node_modules/.pnpm/less-loader@11.0.0_less@4.1.2_webpack@5.100.2/node_modules/less-loader/dist/cjs.js??clonedRuleSet-32.use[3]!./node_modules/.pnpm/vue-loader@15.11.1_css-loader@6.11.0_vue-template-compiler@2.6.14_webpack@5.100.1/node_modules/vue-loader/lib/index.js??vue-loader-options!./src/components/content/RequestInfoDialog.vue?vue&type=style&index=1&id=b9cf4022&lang=less&scoped=true ***!
8383
+ \*******************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/
8384
+ /***/ (function(module, __webpack_exports__, __webpack_require__) {
8385
+
8386
+ "use strict";
8387
+ __webpack_require__.r(__webpack_exports__);
8388
+ /* harmony import */ var _node_modules_pnpm_css_loader_6_11_0_webpack_5_100_2_node_modules_css_loader_dist_runtime_noSourceMaps_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../../node_modules/.pnpm/css-loader@6.11.0_webpack@5.100.2/node_modules/css-loader/dist/runtime/noSourceMaps.js */ "./node_modules/.pnpm/css-loader@6.11.0_webpack@5.100.2/node_modules/css-loader/dist/runtime/noSourceMaps.js");
8389
+ /* harmony import */ var _node_modules_pnpm_css_loader_6_11_0_webpack_5_100_2_node_modules_css_loader_dist_runtime_noSourceMaps_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_node_modules_pnpm_css_loader_6_11_0_webpack_5_100_2_node_modules_css_loader_dist_runtime_noSourceMaps_js__WEBPACK_IMPORTED_MODULE_0__);
8390
+ /* harmony import */ var _node_modules_pnpm_css_loader_6_11_0_webpack_5_100_2_node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../../node_modules/.pnpm/css-loader@6.11.0_webpack@5.100.2/node_modules/css-loader/dist/runtime/api.js */ "./node_modules/.pnpm/css-loader@6.11.0_webpack@5.100.2/node_modules/css-loader/dist/runtime/api.js");
8391
+ /* harmony import */ var _node_modules_pnpm_css_loader_6_11_0_webpack_5_100_2_node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_node_modules_pnpm_css_loader_6_11_0_webpack_5_100_2_node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1__);
8392
+ // Imports
8393
+
8394
+
8395
+ var ___CSS_LOADER_EXPORT___ = _node_modules_pnpm_css_loader_6_11_0_webpack_5_100_2_node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1___default()((_node_modules_pnpm_css_loader_6_11_0_webpack_5_100_2_node_modules_css_loader_dist_runtime_noSourceMaps_js__WEBPACK_IMPORTED_MODULE_0___default()));
8396
+ // Module
8397
+ ___CSS_LOADER_EXPORT___.push([module.id, ".rid-header[data-v-b9cf4022] {\n position: relative;\n background: var(--mb-bg-mantle);\n border-bottom: 1px solid var(--mb-border-color);\n}\n.rid-header__info[data-v-b9cf4022] {\n display: flex;\n align-items: center;\n gap: 8px;\n padding: 10px 48px 10px 16px;\n min-height: 42px;\n}\n.rid-header__method[data-v-b9cf4022] {\n flex-shrink: 0;\n display: inline-flex;\n align-items: center;\n height: 18px;\n padding: 0 6px;\n border-radius: 3px;\n font-family: 'Menlo', 'Monaco', 'Courier New', monospace;\n font-size: 10px;\n font-weight: 700;\n letter-spacing: 0.5px;\n color: #fff;\n text-transform: uppercase;\n}\n.rid-header__method.is-get[data-v-b9cf4022] {\n background: #1677ff;\n}\n.rid-header__method.is-post[data-v-b9cf4022] {\n background: #52c41a;\n}\n.rid-header__method.is-put[data-v-b9cf4022] {\n background: #fa8c16;\n}\n.rid-header__method.is-delete[data-v-b9cf4022] {\n background: #ff4d4f;\n}\n.rid-header__method.is-patch[data-v-b9cf4022] {\n background: #722ed1;\n}\n.rid-header__method.is-head[data-v-b9cf4022] {\n background: #13c2c2;\n}\n.rid-header__method.is-options[data-v-b9cf4022] {\n background: #8c8c8c;\n}\n.rid-header__url[data-v-b9cf4022] {\n flex: 1;\n overflow: hidden;\n white-space: nowrap;\n text-overflow: ellipsis;\n font-family: 'Menlo', 'Monaco', 'Courier New', monospace;\n font-size: 12px;\n color: var(--mb-text-primary);\n line-height: 1.4;\n cursor: default;\n}\n.rid-header__status[data-v-b9cf4022] {\n flex-shrink: 0;\n display: inline-flex;\n align-items: center;\n height: 18px;\n padding: 0 6px;\n border-radius: 3px;\n font-size: 11px;\n font-weight: 600;\n font-family: 'Menlo', 'Monaco', 'Courier New', monospace;\n}\n.rid-header__status.is-2xx[data-v-b9cf4022] {\n background: #f6ffed;\n color: #52c41a;\n border: 1px solid #b7eb8f;\n}\n.rid-header__status.is-3xx[data-v-b9cf4022] {\n background: #e6f4ff;\n color: #1677ff;\n border: 1px solid #91caff;\n}\n.rid-header__status.is-4xx[data-v-b9cf4022] {\n background: #fff7e6;\n color: #fa8c16;\n border: 1px solid #ffd591;\n}\n.rid-header__status.is-5xx[data-v-b9cf4022] {\n background: #fff2f0;\n color: #ff4d4f;\n border: 1px solid #ffccc7;\n}\n.rid-header__copy[data-v-b9cf4022] {\n flex-shrink: 0;\n width: 26px;\n height: 26px;\n display: flex;\n align-items: center;\n justify-content: center;\n border: 1px solid var(--mb-border-color);\n background: var(--mb-bg-base);\n color: var(--mb-text-muted);\n font-size: 13px;\n border-radius: 5px;\n cursor: pointer;\n transition: all 0.15s;\n}\n.rid-header__copy[data-v-b9cf4022]:hover {\n border-color: var(--mb-accent-blue);\n color: var(--mb-accent-blue);\n background: var(--mb-accent-blue-bg);\n}\n.rid-header__copy.is-copied[data-v-b9cf4022] {\n border-color: var(--mb-accent-green);\n color: var(--mb-accent-green);\n background: var(--mb-accent-green-bg);\n}\n.rid-header__close[data-v-b9cf4022] {\n position: absolute;\n top: 10px;\n right: 12px;\n width: 24px;\n height: 24px;\n display: flex;\n align-items: center;\n justify-content: center;\n border: none;\n background: transparent;\n color: var(--mb-text-muted);\n font-size: 14px;\n border-radius: 4px;\n cursor: pointer;\n transition: background 0.15s, color 0.15s;\n}\n.rid-header__close[data-v-b9cf4022]:hover {\n background: var(--mb-hover-bg);\n color: var(--mb-text-primary);\n}\n.rid-header__tabs[data-v-b9cf4022] {\n display: flex;\n align-items: flex-end;\n gap: 0;\n padding: 0 12px;\n background: var(--mb-bg-base);\n border-top: 1px solid var(--mb-border-color-light);\n}\n.rid-header__tab[data-v-b9cf4022] {\n position: relative;\n padding: 7px 14px;\n font-size: 12px;\n font-weight: 500;\n color: var(--mb-text-muted);\n cursor: pointer;\n transition: color 0.15s;\n -webkit-user-select: none;\n -moz-user-select: none;\n user-select: none;\n white-space: nowrap;\n}\n.rid-header__tab[data-v-b9cf4022]::after {\n content: '';\n position: absolute;\n bottom: 0;\n left: 14px;\n right: 14px;\n height: 2px;\n background: var(--mb-accent-blue);\n border-radius: 1px 1px 0 0;\n transform: scaleX(0);\n transition: transform 0.18s ease;\n}\n.rid-header__tab[data-v-b9cf4022]:hover {\n color: var(--mb-text-primary);\n}\n.rid-header__tab.is-active[data-v-b9cf4022] {\n color: var(--mb-accent-blue);\n}\n.rid-header__tab.is-active[data-v-b9cf4022]::after {\n transform: scaleX(1);\n}\n.rid-body[data-v-b9cf4022] {\n flex: 1;\n min-height: 0;\n display: flex;\n flex-direction: column;\n background: var(--mb-bg-base);\n}\n.rid-pane[data-v-b9cf4022] {\n flex: 1;\n min-height: 0;\n overflow-y: auto;\n padding: 0;\n}\n.rid-pane--editor[data-v-b9cf4022] {\n position: relative;\n overflow: hidden;\n}\n.rid-section[data-v-b9cf4022] {\n margin-bottom: 0;\n overflow: hidden;\n border-bottom: 1px solid var(--mb-border-color-light);\n}\n.rid-section[data-v-b9cf4022]:last-child {\n border-bottom: none;\n}\n.rid-section__title[data-v-b9cf4022] {\n padding: 5px 16px;\n font-size: 10px;\n font-weight: 700;\n letter-spacing: 0.8px;\n text-transform: uppercase;\n color: var(--mb-text-muted);\n background: var(--mb-bg-mantle);\n border-bottom: 1px solid var(--mb-border-color-light);\n}\n.rid-kv[data-v-b9cf4022] {\n display: flex;\n font-size: 12px;\n border-bottom: 1px solid var(--mb-border-color-light);\n}\n.rid-kv[data-v-b9cf4022]:last-child {\n border-bottom: none;\n}\n.rid-kv__key[data-v-b9cf4022] {\n flex: 0 0 140px;\n padding: 5px 12px 5px 16px;\n text-align: right;\n font-weight: 500;\n color: var(--mb-text-muted);\n background: var(--mb-bg-mantle);\n border-right: 1px solid var(--mb-border-color-light);\n word-break: break-all;\n font-family: 'Menlo', 'Monaco', 'Courier New', monospace;\n font-size: 11px;\n}\n.rid-kv__val[data-v-b9cf4022] {\n flex: 1;\n padding: 5px 16px;\n color: var(--mb-text-primary);\n word-break: break-all;\n line-height: 1.5;\n}\n.rid-empty[data-v-b9cf4022] {\n padding: 20px 16px;\n font-size: 12px;\n color: var(--mb-text-muted);\n text-align: center;\n}\n.rid-editor-wrap[data-v-b9cf4022] {\n height: 300px;\n}\n.rid-editor-wrap--full[data-v-b9cf4022] {\n position: absolute;\n inset: 0;\n height: auto;\n}\n", ""]);
8362
8398
  // Exports
8363
8399
  /* harmony default export */ __webpack_exports__["default"] = (___CSS_LOADER_EXPORT___);
8364
8400
 
@@ -8382,7 +8418,31 @@ __webpack_require__.r(__webpack_exports__);
8382
8418
 
8383
8419
  var ___CSS_LOADER_EXPORT___ = _node_modules_pnpm_css_loader_6_11_0_webpack_5_100_2_node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1___default()((_node_modules_pnpm_css_loader_6_11_0_webpack_5_100_2_node_modules_css_loader_dist_runtime_noSourceMaps_js__WEBPACK_IMPORTED_MODULE_0___default()));
8384
8420
  // Module
8385
- ___CSS_LOADER_EXPORT___.push([module.id, ".request-list[data-v-1d02c492] {\n width: 55%;\n}\n.request-list__table[data-v-1d02c492] {\n border-color: var(--mb-border-color-light) !important;\n border-left: none;\n border-bottom: none;\n border-top: none;\n}\n.request-list__table[data-v-1d02c492]::before,\n.request-list__table[data-v-1d02c492]::after {\n content: none;\n}\n.request-list__table[data-v-1d02c492] .el-table__cell {\n border-color: var(--mb-border-color-light) !important;\n}\n.request-list__table[data-v-1d02c492] .el-table__body .el-table__cell {\n padding: 0 !important;\n}\n.request-list__table[data-v-1d02c492] .cell {\n line-height: 1.4 !important;\n}\n.request-list__table[data-v-1d02c492] .el-table__row:hover .request-list__filename-expand-shadow {\n background: var(--mb-hover-bg);\n}\n.request-list__table[data-v-1d02c492] .el-table__row:hover .request-list__filename-expand-icon {\n background: var(--mb-hover-bg);\n}\n.request-list__table[data-v-1d02c492] th.el-table__cell > .cell {\n color: var(--mb-text-primary);\n font-weight: 500;\n}\n.request-list__table[data-v-1d02c492] .el-table__body tr.current-row>td.el-table__cell {\n background-color: var(--mb-active-row-bg);\n color: var(--mb-active-row-text);\n}\n.request-list__table[data-v-1d02c492] .el-table__empty-block {\n display: flex;\n align-items: center;\n justify-content: center;\n}\n.request-list__table[data-v-1d02c492] .el-table__empty-text {\n line-height: unset;\n width: auto;\n}\n.request-list__filename[data-v-1d02c492] {\n position: relative;\n white-space: nowrap;\n line-height: 0;\n overflow-x: auto;\n overflow-y: hidden;\n /*隐藏滚动条,当IE下溢出,仍然可以滚动*/\n -ms-overflow-style: none;\n /*火狐下隐藏滚动条*/\n overflow: -moz-scrollbars-none;\n scrollbar-width: none;\n /*Chrome下隐藏滚动条,溢出可以透明滚动*/\n}\n.request-list__filename[data-v-1d02c492]::-webkit-scrollbar {\n display: none;\n}\n.request-list__filename-value[data-v-1d02c492] {\n white-space: nowrap;\n position: relative;\n line-height: 23px;\n vertical-align: top;\n font-weight: bold;\n display: inline-block;\n}\n.request-list__filename-value--active[data-v-1d02c492] {\n color: var(--mb-tag-saved-text);\n}\n.request-list__filename-value--error[data-v-1d02c492] {\n color: var(--mb-tag-error-text);\n}\n.request-list__filename-expand-shadow[data-v-1d02c492] {\n width: 500px;\n height: 23px;\n background: var(--mb-bg-base);\n display: inline-block;\n z-index: 30;\n position: relative;\n}\n.request-list__filename-expand-icon[data-v-1d02c492] {\n width: 12px;\n position: absolute;\n top: 8px;\n right: 0;\n background: var(--mb-bg-base);\n z-index: 1;\n}\n.request-list__remark-text[data-v-1d02c492] {\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n cursor: pointer;\n color: var(--mb-text-secondary);\n line-height: 23px;\n padding: 0 4px;\n}\n.request-list__remark-text[data-v-1d02c492]:hover {\n color: var(--mb-accent-blue);\n}\n.request-list__remark-placeholder[data-v-1d02c492] {\n color: var(--mb-text-placeholder);\n cursor: pointer;\n line-height: 23px;\n padding: 0 4px;\n}\n.request-list__remark-placeholder[data-v-1d02c492]:hover {\n color: var(--mb-text-muted);\n}\n.request-list__btn[data-v-1d02c492] {\n font-size: 16px;\n padding: 4px 2px;\n}\n.request-list__btn--delete[data-v-1d02c492] {\n color: var(--mb-accent-red);\n}\n.request-list__btn--locked[data-v-1d02c492] {\n color: var(--mb-accent-green);\n}\n.request-list__empty-state[data-v-1d02c492] {\n display: flex;\n flex-direction: column;\n align-items: center;\n gap: 8px;\n color: var(--mb-text-muted);\n}\n.request-list__empty-icon[data-v-1d02c492] {\n font-size: 32px;\n opacity: 0.4;\n}\n.request-list__empty-text[data-v-1d02c492] {\n font-size: 13px;\n}\n.container[data-v-1d02c492] {\n display: flex;\n flex: 1;\n border: 1px solid var(--mb-border-color-light);\n border-left: none;\n overflow: hidden;\n}\n.container .list-body[data-v-1d02c492] {\n width: 55%;\n}\n.container .list-body__table[data-v-1d02c492] {\n border-color: var(--mb-border-color-light) !important;\n border-left: none;\n border-bottom: none;\n border-top: none;\n}\n.container .list-body__table[data-v-1d02c492]::before,\n.container .list-body__table[data-v-1d02c492]::after {\n content: none;\n}\n.container .list-body__table[data-v-1d02c492] .el-table__cell {\n border-color: var(--mb-border-color-light) !important;\n}\n.container .list-body__table[data-v-1d02c492] .el-table__body .el-table__cell {\n padding: 0 !important;\n}\n.container .list-body__table[data-v-1d02c492] .cell {\n line-height: 1.4 !important;\n}\n.container .list-body__table[data-v-1d02c492] .el-table__row:hover .request-list__filename-expand-shadow {\n background: var(--mb-hover-bg);\n}\n.container .list-body__table[data-v-1d02c492] .el-table__row:hover .request-list__filename-expand-icon {\n background: var(--mb-hover-bg);\n}\n.container .list-body__table[data-v-1d02c492] th.el-table__cell > .cell {\n color: var(--mb-text-primary);\n font-weight: 500;\n}\n.container .list-body__table[data-v-1d02c492] .el-table__body tr.current-row>td.el-table__cell {\n background-color: var(--mb-active-row-bg);\n color: var(--mb-active-row-text);\n}\n.container .list-body__table[data-v-1d02c492] .el-table__empty-block {\n display: flex;\n align-items: center;\n justify-content: center;\n}\n.container .list-body__table[data-v-1d02c492] .el-table__empty-text {\n line-height: unset;\n width: auto;\n}\n.container .list-body__filename[data-v-1d02c492] {\n position: relative;\n white-space: nowrap;\n line-height: 0;\n overflow-x: auto;\n overflow-y: hidden;\n /*隐藏滚动条,当IE下溢出,仍然可以滚动*/\n -ms-overflow-style: none;\n /*火狐下隐藏滚动条*/\n overflow: -moz-scrollbars-none;\n scrollbar-width: none;\n /*Chrome下隐藏滚动条,溢出可以透明滚动*/\n}\n.container .list-body__filename[data-v-1d02c492]::-webkit-scrollbar {\n display: none;\n}\n.container .list-body__filename-value[data-v-1d02c492] {\n white-space: nowrap;\n position: relative;\n line-height: 23px;\n vertical-align: top;\n font-weight: bold;\n display: inline-block;\n}\n.container .list-body__filename-value--active[data-v-1d02c492] {\n color: var(--mb-tag-saved-text);\n}\n.container .list-body__filename-value--error[data-v-1d02c492] {\n color: var(--mb-tag-error-text);\n}\n.container .list-body__filename-expand-shadow[data-v-1d02c492] {\n width: 500px;\n height: 23px;\n background: var(--mb-bg-base);\n display: inline-block;\n z-index: 30;\n position: relative;\n}\n.container .list-body__filename-expand-icon[data-v-1d02c492] {\n width: 12px;\n position: absolute;\n top: 8px;\n right: 0;\n background: var(--mb-bg-base);\n z-index: 1;\n}\n.container .list-body__remark-text[data-v-1d02c492] {\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n cursor: pointer;\n color: var(--mb-text-secondary);\n line-height: 23px;\n padding: 0 4px;\n}\n.container .list-body__remark-text[data-v-1d02c492]:hover {\n color: var(--mb-accent-blue);\n}\n.container .list-body__remark-placeholder[data-v-1d02c492] {\n color: var(--mb-text-placeholder);\n cursor: pointer;\n line-height: 23px;\n padding: 0 4px;\n}\n.container .list-body__remark-placeholder[data-v-1d02c492]:hover {\n color: var(--mb-text-muted);\n}\n.container .list-body__btn[data-v-1d02c492] {\n font-size: 16px;\n padding: 4px 2px;\n}\n.container .list-body__btn--delete[data-v-1d02c492] {\n color: var(--mb-accent-red);\n}\n.container .list-body__btn--locked[data-v-1d02c492] {\n color: var(--mb-accent-green);\n}\n.container .list-body__empty-state[data-v-1d02c492] {\n display: flex;\n flex-direction: column;\n align-items: center;\n gap: 8px;\n color: var(--mb-text-muted);\n}\n.container .list-body__empty-icon[data-v-1d02c492] {\n font-size: 32px;\n opacity: 0.4;\n}\n.container .list-body__empty-text[data-v-1d02c492] {\n font-size: 13px;\n}\n", ""]);
8421
+ ___CSS_LOADER_EXPORT___.push([module.id, ".request-list[data-v-1d02c492] {\n width: 55%;\n}\n.request-list__table[data-v-1d02c492] {\n border-color: var(--mb-border-color-light) !important;\n border-left: none;\n border-bottom: none;\n border-top: none;\n}\n.request-list__table[data-v-1d02c492]::before,\n.request-list__table[data-v-1d02c492]::after {\n content: none;\n}\n.request-list__table[data-v-1d02c492] .el-table__cell {\n border-color: var(--mb-border-color-light) !important;\n}\n.request-list__table[data-v-1d02c492] .el-table__body .el-table__cell {\n padding: 0 !important;\n}\n.request-list__table[data-v-1d02c492] .cell {\n line-height: 1.4 !important;\n}\n.request-list__table[data-v-1d02c492] .el-table__row:hover .request-list__filename-expand-shadow {\n background: var(--mb-hover-bg);\n}\n.request-list__table[data-v-1d02c492] .el-table__row:hover .request-list__filename-expand-icon {\n background: var(--mb-hover-bg);\n}\n.request-list__table[data-v-1d02c492] th.el-table__cell > .cell {\n color: var(--mb-text-primary);\n font-weight: 500;\n}\n.request-list__table[data-v-1d02c492] .el-table__body tr.current-row>td.el-table__cell {\n background-color: var(--mb-active-row-bg);\n color: var(--mb-active-row-text);\n}\n.request-list__table[data-v-1d02c492] .el-table__empty-block {\n display: flex;\n align-items: center;\n justify-content: center;\n}\n.request-list__table[data-v-1d02c492] .el-table__empty-text {\n line-height: unset;\n width: auto;\n}\n.request-list__filename[data-v-1d02c492] {\n position: relative;\n white-space: nowrap;\n line-height: 0;\n overflow-x: auto;\n overflow-y: hidden;\n /*隐藏滚动条,当IE下溢出,仍然可以滚动*/\n -ms-overflow-style: none;\n /*火狐下隐藏滚动条*/\n overflow: -moz-scrollbars-none;\n scrollbar-width: none;\n /*Chrome下隐藏滚动条,溢出可以透明滚动*/\n}\n.request-list__filename[data-v-1d02c492]::-webkit-scrollbar {\n display: none;\n}\n.request-list__filename-value[data-v-1d02c492] {\n white-space: nowrap;\n position: relative;\n line-height: 23px;\n vertical-align: top;\n font-weight: bold;\n display: inline-block;\n}\n.request-list__filename-value--active[data-v-1d02c492] {\n color: var(--mb-tag-saved-text);\n}\n.request-list__filename-value--error[data-v-1d02c492] {\n color: var(--mb-tag-error-text);\n}\n.request-list__filename-expand-shadow[data-v-1d02c492] {\n width: 500px;\n height: 23px;\n background: var(--mb-bg-base);\n display: inline-block;\n z-index: 30;\n position: relative;\n}\n.request-list__filename-expand-icon[data-v-1d02c492] {\n width: 12px;\n position: absolute;\n top: 8px;\n right: 0;\n background: var(--mb-bg-base);\n z-index: 1;\n}\n.request-list__remark-text[data-v-1d02c492] {\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n cursor: pointer;\n color: var(--mb-text-secondary);\n line-height: 23px;\n padding: 0 4px;\n}\n.request-list__remark-text[data-v-1d02c492]:hover {\n color: var(--mb-accent-blue);\n}\n.request-list__remark-placeholder[data-v-1d02c492] {\n color: var(--mb-text-placeholder);\n cursor: pointer;\n line-height: 23px;\n padding: 0 4px;\n}\n.request-list__remark-placeholder[data-v-1d02c492]:hover {\n color: var(--mb-text-muted);\n}\n.request-list__btn[data-v-1d02c492] {\n font-size: 16px;\n padding: 4px 2px;\n}\n.request-list__btn--delete[data-v-1d02c492] {\n color: var(--mb-accent-red);\n}\n.request-list__btn--locked[data-v-1d02c492] {\n color: var(--mb-accent-green);\n}\n.request-list__btn--more[data-v-1d02c492] {\n color: var(--mb-text-muted);\n font-size: 15px;\n transition: color 0.15s;\n}\n.request-list__btn--more[data-v-1d02c492]:hover {\n color: var(--mb-accent-blue);\n}\n.request-list__btn--more .el-icon-more[data-v-1d02c492] {\n font-size: 15px;\n}\n.request-list__empty-state[data-v-1d02c492] {\n display: flex;\n flex-direction: column;\n align-items: center;\n gap: 8px;\n color: var(--mb-text-muted);\n}\n.request-list__empty-icon[data-v-1d02c492] {\n font-size: 32px;\n opacity: 0.4;\n}\n.request-list__empty-text[data-v-1d02c492] {\n font-size: 13px;\n}\n.container[data-v-1d02c492] {\n display: flex;\n flex: 1;\n border: 1px solid var(--mb-border-color-light);\n border-left: none;\n overflow: hidden;\n}\n.container .list-body[data-v-1d02c492] {\n width: 55%;\n}\n.container .list-body__table[data-v-1d02c492] {\n border-color: var(--mb-border-color-light) !important;\n border-left: none;\n border-bottom: none;\n border-top: none;\n}\n.container .list-body__table[data-v-1d02c492]::before,\n.container .list-body__table[data-v-1d02c492]::after {\n content: none;\n}\n.container .list-body__table[data-v-1d02c492] .el-table__cell {\n border-color: var(--mb-border-color-light) !important;\n}\n.container .list-body__table[data-v-1d02c492] .el-table__body .el-table__cell {\n padding: 0 !important;\n}\n.container .list-body__table[data-v-1d02c492] .cell {\n line-height: 1.4 !important;\n}\n.container .list-body__table[data-v-1d02c492] .el-table__row:hover .request-list__filename-expand-shadow {\n background: var(--mb-hover-bg);\n}\n.container .list-body__table[data-v-1d02c492] .el-table__row:hover .request-list__filename-expand-icon {\n background: var(--mb-hover-bg);\n}\n.container .list-body__table[data-v-1d02c492] th.el-table__cell > .cell {\n color: var(--mb-text-primary);\n font-weight: 500;\n}\n.container .list-body__table[data-v-1d02c492] .el-table__body tr.current-row>td.el-table__cell {\n background-color: var(--mb-active-row-bg);\n color: var(--mb-active-row-text);\n}\n.container .list-body__table[data-v-1d02c492] .el-table__empty-block {\n display: flex;\n align-items: center;\n justify-content: center;\n}\n.container .list-body__table[data-v-1d02c492] .el-table__empty-text {\n line-height: unset;\n width: auto;\n}\n.container .list-body__filename[data-v-1d02c492] {\n position: relative;\n white-space: nowrap;\n line-height: 0;\n overflow-x: auto;\n overflow-y: hidden;\n /*隐藏滚动条,当IE下溢出,仍然可以滚动*/\n -ms-overflow-style: none;\n /*火狐下隐藏滚动条*/\n overflow: -moz-scrollbars-none;\n scrollbar-width: none;\n /*Chrome下隐藏滚动条,溢出可以透明滚动*/\n}\n.container .list-body__filename[data-v-1d02c492]::-webkit-scrollbar {\n display: none;\n}\n.container .list-body__filename-value[data-v-1d02c492] {\n white-space: nowrap;\n position: relative;\n line-height: 23px;\n vertical-align: top;\n font-weight: bold;\n display: inline-block;\n}\n.container .list-body__filename-value--active[data-v-1d02c492] {\n color: var(--mb-tag-saved-text);\n}\n.container .list-body__filename-value--error[data-v-1d02c492] {\n color: var(--mb-tag-error-text);\n}\n.container .list-body__filename-expand-shadow[data-v-1d02c492] {\n width: 500px;\n height: 23px;\n background: var(--mb-bg-base);\n display: inline-block;\n z-index: 30;\n position: relative;\n}\n.container .list-body__filename-expand-icon[data-v-1d02c492] {\n width: 12px;\n position: absolute;\n top: 8px;\n right: 0;\n background: var(--mb-bg-base);\n z-index: 1;\n}\n.container .list-body__remark-text[data-v-1d02c492] {\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n cursor: pointer;\n color: var(--mb-text-secondary);\n line-height: 23px;\n padding: 0 4px;\n}\n.container .list-body__remark-text[data-v-1d02c492]:hover {\n color: var(--mb-accent-blue);\n}\n.container .list-body__remark-placeholder[data-v-1d02c492] {\n color: var(--mb-text-placeholder);\n cursor: pointer;\n line-height: 23px;\n padding: 0 4px;\n}\n.container .list-body__remark-placeholder[data-v-1d02c492]:hover {\n color: var(--mb-text-muted);\n}\n.container .list-body__btn[data-v-1d02c492] {\n font-size: 16px;\n padding: 4px 2px;\n}\n.container .list-body__btn--delete[data-v-1d02c492] {\n color: var(--mb-accent-red);\n}\n.container .list-body__btn--locked[data-v-1d02c492] {\n color: var(--mb-accent-green);\n}\n.container .list-body__btn--more[data-v-1d02c492] {\n color: var(--mb-text-muted);\n font-size: 15px;\n transition: color 0.15s;\n}\n.container .list-body__btn--more[data-v-1d02c492]:hover {\n color: var(--mb-accent-blue);\n}\n.container .list-body__btn--more .el-icon-more[data-v-1d02c492] {\n font-size: 15px;\n}\n.container .list-body__empty-state[data-v-1d02c492] {\n display: flex;\n flex-direction: column;\n align-items: center;\n gap: 8px;\n color: var(--mb-text-muted);\n}\n.container .list-body__empty-icon[data-v-1d02c492] {\n font-size: 32px;\n opacity: 0.4;\n}\n.container .list-body__empty-text[data-v-1d02c492] {\n font-size: 13px;\n}\n", ""]);
8422
+ // Exports
8423
+ /* harmony default export */ __webpack_exports__["default"] = (___CSS_LOADER_EXPORT___);
8424
+
8425
+
8426
+ /***/ }),
8427
+
8428
+ /***/ "./node_modules/.pnpm/css-loader@6.11.0_webpack@5.100.2/node_modules/css-loader/dist/cjs.js??clonedRuleSet-32.use[1]!./node_modules/.pnpm/vue-loader@15.11.1_css-loader@6.11.0_vue-template-compiler@2.6.14_webpack@5.100.1/node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/.pnpm/postcss-loader@6.2.1_postcss@8.5.6_webpack@5.100.1/node_modules/postcss-loader/dist/cjs.js??clonedRuleSet-32.use[2]!./node_modules/.pnpm/less-loader@11.0.0_less@4.1.2_webpack@5.100.2/node_modules/less-loader/dist/cjs.js??clonedRuleSet-32.use[3]!./node_modules/.pnpm/vue-loader@15.11.1_css-loader@6.11.0_vue-template-compiler@2.6.14_webpack@5.100.1/node_modules/vue-loader/lib/index.js??vue-loader-options!./src/components/content/RequestList.vue?vue&type=style&index=1&id=1d02c492&lang=less":
8429
+ /*!*************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
8430
+ !*** ./node_modules/.pnpm/css-loader@6.11.0_webpack@5.100.2/node_modules/css-loader/dist/cjs.js??clonedRuleSet-32.use[1]!./node_modules/.pnpm/vue-loader@15.11.1_css-loader@6.11.0_vue-template-compiler@2.6.14_webpack@5.100.1/node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/.pnpm/postcss-loader@6.2.1_postcss@8.5.6_webpack@5.100.1/node_modules/postcss-loader/dist/cjs.js??clonedRuleSet-32.use[2]!./node_modules/.pnpm/less-loader@11.0.0_less@4.1.2_webpack@5.100.2/node_modules/less-loader/dist/cjs.js??clonedRuleSet-32.use[3]!./node_modules/.pnpm/vue-loader@15.11.1_css-loader@6.11.0_vue-template-compiler@2.6.14_webpack@5.100.1/node_modules/vue-loader/lib/index.js??vue-loader-options!./src/components/content/RequestList.vue?vue&type=style&index=1&id=1d02c492&lang=less ***!
8431
+ \*************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/
8432
+ /***/ (function(module, __webpack_exports__, __webpack_require__) {
8433
+
8434
+ "use strict";
8435
+ __webpack_require__.r(__webpack_exports__);
8436
+ /* harmony import */ var _node_modules_pnpm_css_loader_6_11_0_webpack_5_100_2_node_modules_css_loader_dist_runtime_noSourceMaps_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../../node_modules/.pnpm/css-loader@6.11.0_webpack@5.100.2/node_modules/css-loader/dist/runtime/noSourceMaps.js */ "./node_modules/.pnpm/css-loader@6.11.0_webpack@5.100.2/node_modules/css-loader/dist/runtime/noSourceMaps.js");
8437
+ /* harmony import */ var _node_modules_pnpm_css_loader_6_11_0_webpack_5_100_2_node_modules_css_loader_dist_runtime_noSourceMaps_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_node_modules_pnpm_css_loader_6_11_0_webpack_5_100_2_node_modules_css_loader_dist_runtime_noSourceMaps_js__WEBPACK_IMPORTED_MODULE_0__);
8438
+ /* harmony import */ var _node_modules_pnpm_css_loader_6_11_0_webpack_5_100_2_node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../../node_modules/.pnpm/css-loader@6.11.0_webpack@5.100.2/node_modules/css-loader/dist/runtime/api.js */ "./node_modules/.pnpm/css-loader@6.11.0_webpack@5.100.2/node_modules/css-loader/dist/runtime/api.js");
8439
+ /* harmony import */ var _node_modules_pnpm_css_loader_6_11_0_webpack_5_100_2_node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_node_modules_pnpm_css_loader_6_11_0_webpack_5_100_2_node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1__);
8440
+ // Imports
8441
+
8442
+
8443
+ var ___CSS_LOADER_EXPORT___ = _node_modules_pnpm_css_loader_6_11_0_webpack_5_100_2_node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1___default()((_node_modules_pnpm_css_loader_6_11_0_webpack_5_100_2_node_modules_css_loader_dist_runtime_noSourceMaps_js__WEBPACK_IMPORTED_MODULE_0___default()));
8444
+ // Module
8445
+ ___CSS_LOADER_EXPORT___.push([module.id, ".request-list__more-popover {\n padding: 6px 0 !important;\n min-width: 148px !important;\n border-radius: 8px !important;\n box-shadow: 0 4px 16px rgba(0, 0, 0, 0.12), 0 1px 4px rgba(0, 0, 0, 0.08) !important;\n border: 1px solid var(--mb-border-color) !important;\n background: var(--mb-bg-base) !important;\n}\n.request-list__more-popover .popper__arrow {\n border-bottom-color: var(--mb-border-color) !important;\n}\n.request-list__more-popover .popper__arrow::after {\n border-bottom-color: var(--mb-bg-base) !important;\n}\n.request-list__more-menu {\n display: flex;\n flex-direction: column;\n}\n.request-list__more-item {\n display: flex;\n align-items: center;\n gap: 9px;\n padding: 7px 14px;\n font-size: 12.5px;\n cursor: pointer;\n color: var(--mb-text-primary);\n border-radius: 4px;\n margin: 0 4px;\n transition: background 0.12s, color 0.12s;\n -webkit-user-select: none;\n -moz-user-select: none;\n user-select: none;\n}\n.request-list__more-item:hover {\n background: var(--mb-accent-blue-bg);\n color: var(--mb-accent-blue);\n}\n.request-list__more-item:hover i {\n color: var(--mb-accent-blue);\n}\n.request-list__more-item i {\n font-size: 13px;\n color: var(--mb-text-muted);\n flex-shrink: 0;\n transition: color 0.12s;\n}\n", ""]);
8386
8446
  // Exports
8387
8447
  /* harmony default export */ __webpack_exports__["default"] = (___CSS_LOADER_EXPORT___);
8388
8448
 
@@ -8406,7 +8466,7 @@ __webpack_require__.r(__webpack_exports__);
8406
8466
 
8407
8467
  var ___CSS_LOADER_EXPORT___ = _node_modules_pnpm_css_loader_6_11_0_webpack_5_100_2_node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1___default()((_node_modules_pnpm_css_loader_6_11_0_webpack_5_100_2_node_modules_css_loader_dist_runtime_noSourceMaps_js__WEBPACK_IMPORTED_MODULE_0___default()));
8408
8468
  // Module
8409
- ___CSS_LOADER_EXPORT___.push([module.id, ".response-panel[data-v-c23cd6a6] {\n position: relative;\n display: flex;\n flex-direction: column;\n height: 100%;\n}\n.response-panel__header[data-v-c23cd6a6] {\n display: flex;\n flex-direction: column;\n background-color: var(--mb-bg-mantle);\n flex-shrink: 0;\n}\n.response-panel__header-toolbar[data-v-c23cd6a6] {\n display: flex;\n align-items: center;\n gap: 0;\n height: 34px;\n border-bottom: 1px solid var(--mb-border-color);\n padding: 0 4px 0 0;\n}\n.response-panel__version-count[data-v-c23cd6a6] {\n margin-left: 6px;\n font-size: 11px;\n color: var(--mb-text-muted);\n font-variant-numeric: tabular-nums;\n}\n.response-panel__tabs-wrapper[data-v-c23cd6a6] {\n position: relative;\n}\n.response-panel__tabs-wrapper[data-v-c23cd6a6]::before,\n.response-panel__tabs-wrapper[data-v-c23cd6a6]::after {\n content: '';\n position: absolute;\n left: 0;\n right: 0;\n height: 36px;\n z-index: 1;\n pointer-events: none;\n opacity: 0;\n transition: opacity 0.2s;\n}\n.response-panel__tabs-wrapper[data-v-c23cd6a6]::before {\n top: 0;\n background: linear-gradient(var(--mb-bg-mantle), transparent);\n}\n.response-panel__tabs-wrapper[data-v-c23cd6a6]::after {\n bottom: 0;\n background: linear-gradient(transparent, var(--mb-bg-mantle));\n}\n.response-panel__tabs-wrapper.has-top-fade[data-v-c23cd6a6]::before {\n opacity: 1;\n}\n.response-panel__tabs-wrapper.has-bottom-fade[data-v-c23cd6a6]::after {\n opacity: 1;\n}\n.response-panel__tabs-wrapper.is-collapsed[data-v-c23cd6a6] {\n height: 20px;\n overflow: hidden;\n pointer-events: none;\n}\n.response-panel__tabs-wrapper.is-collapsed[data-v-c23cd6a6]::after {\n opacity: 1;\n height: 20px;\n}\n.response-panel__tabs-area[data-v-c23cd6a6] {\n display: flex;\n flex-wrap: wrap;\n align-content: flex-start;\n gap: 5px;\n min-width: 0;\n padding: 5px 8px;\n max-height: calc((30px + 5px) * 3 + 5px);\n overflow-y: auto;\n overflow-x: hidden;\n}\n.response-panel__tabs-area[data-v-c23cd6a6]::-webkit-scrollbar {\n width: 3px;\n}\n.response-panel__tabs-area[data-v-c23cd6a6]::-webkit-scrollbar-thumb {\n background: var(--mb-border-color-deep);\n border-radius: 2px;\n}\n.response-panel__tab[data-v-c23cd6a6] {\n position: relative;\n display: inline-flex;\n align-items: center;\n gap: 4px;\n cursor: pointer;\n height: 26px;\n padding: 0 10px;\n font-size: 12px;\n font-weight: 500;\n color: var(--mb-text-secondary);\n background-color: var(--mb-bg-base);\n border: 1px solid var(--mb-border-color-deep);\n border-radius: 5px;\n white-space: nowrap;\n transition: color 0.15s, background-color 0.15s, border-color 0.15s;\n}\n.response-panel__tab[data-v-c23cd6a6]:hover:not(.response-panel__tab--selected) {\n color: var(--mb-accent-blue);\n border-color: var(--mb-accent-blue);\n background-color: var(--mb-accent-blue-bg);\n}\n.response-panel__tab--selected[data-v-c23cd6a6] {\n background-color: var(--mb-accent-blue);\n color: #fff;\n font-weight: 600;\n border-color: var(--mb-accent-blue);\n}\n.response-panel__tab--selected .response-panel__source-tab[data-v-c23cd6a6] {\n color: #fff;\n}\n.response-panel__tab--selected .response-panel__edit-btn[data-v-c23cd6a6],\n.response-panel__tab--selected .response-panel__delete-btn[data-v-c23cd6a6] {\n color: rgba(255, 255, 255, 0.7);\n opacity: 1;\n}\n.response-panel__tab--selected .response-panel__edit-btn[data-v-c23cd6a6]:hover,\n.response-panel__tab--selected .response-panel__delete-btn[data-v-c23cd6a6]:hover {\n color: #fff;\n}\n.response-panel__source-tab[data-v-c23cd6a6] {\n display: inline-flex;\n align-items: center;\n gap: 3px;\n color: var(--mb-tag-amber);\n font-weight: 600;\n}\n.response-panel__source-tab i[data-v-c23cd6a6] {\n font-size: 13px;\n}\n.response-panel__tab-text[data-v-c23cd6a6] {\n display: inline-block;\n max-width: 100px;\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n vertical-align: middle;\n}\n.response-panel__edit-btn[data-v-c23cd6a6] {\n font-size: 11px;\n color: var(--mb-text-muted);\n opacity: 0;\n transition: opacity 0.12s, color 0.12s;\n}\n.response-panel__edit-btn[data-v-c23cd6a6]:hover {\n color: var(--mb-accent-blue);\n}\n.response-panel__delete-btn[data-v-c23cd6a6] {\n font-size: 11px;\n color: var(--mb-text-muted);\n opacity: 0;\n transition: opacity 0.12s, color 0.12s;\n}\n.response-panel__delete-btn[data-v-c23cd6a6]:hover {\n color: var(--mb-accent-red);\n}\n.response-panel__rule-conflict-badge[data-v-c23cd6a6] {\n font-size: 12px;\n color: #f59e0b;\n cursor: help;\n flex-shrink: 0;\n}\n.response-panel__tab:hover .response-panel__edit-btn[data-v-c23cd6a6],\n.response-panel__tab:hover .response-panel__delete-btn[data-v-c23cd6a6] {\n opacity: 1;\n}\n.response-panel__collapse-btn[data-v-c23cd6a6] {\n display: inline-flex;\n align-items: center;\n gap: 3px;\n margin-left: auto;\n flex-shrink: 0;\n height: 24px;\n padding: 0 8px;\n font-size: 12px;\n font-weight: 600;\n color: var(--mb-accent-blue);\n background-color: var(--mb-accent-blue-bg);\n border: 1px solid var(--mb-accent-blue);\n border-radius: 4px;\n cursor: pointer;\n -webkit-user-select: none;\n -moz-user-select: none;\n user-select: none;\n transition: color 0.15s, background-color 0.15s;\n}\n.response-panel__collapse-btn i[data-v-c23cd6a6] {\n font-size: 12px;\n}\n.response-panel__collapse-btn[data-v-c23cd6a6]:hover {\n color: #fff;\n background-color: var(--mb-accent-blue);\n}\n.response-panel__add-btn[data-v-c23cd6a6] {\n display: inline-flex;\n align-items: center;\n gap: 4px;\n flex-shrink: 0;\n cursor: pointer;\n height: 24px;\n padding: 0 10px;\n margin: 0 8px;\n font-size: 12px;\n font-weight: 600;\n color: var(--mb-accent-blue);\n background-color: var(--mb-accent-blue-bg);\n border: 1px solid var(--mb-accent-blue);\n border-radius: 4px;\n transition: background-color 0.15s, color 0.15s;\n}\n.response-panel__add-btn i[data-v-c23cd6a6] {\n font-size: 12px;\n}\n.response-panel__add-btn[data-v-c23cd6a6]:hover {\n color: #fff;\n background-color: var(--mb-accent-blue);\n}\n.response-panel__content[data-v-c23cd6a6] {\n display: flex;\n flex-direction: column;\n flex: 1;\n overflow: hidden;\n}\n.response-panel__editor-wrap[data-v-c23cd6a6] {\n position: relative;\n flex: 1;\n overflow: hidden;\n}\n.response-panel__toolbar[data-v-c23cd6a6] {\n display: flex;\n align-items: center;\n gap: 8px;\n padding: 8px 12px;\n background-color: var(--mb-bg-surface);\n border-bottom: 1px solid var(--mb-border-color);\n overflow-x: auto;\n}\n.response-panel__toolbar > *[data-v-c23cd6a6] {\n flex-shrink: 0;\n}\n.response-panel__toolbar .el-button[data-v-c23cd6a6] {\n margin: 0;\n}\n.response-panel__readonly-badge[data-v-c23cd6a6] {\n display: inline-flex;\n align-items: center;\n gap: 4px;\n margin-left: auto;\n padding: 4px 12px;\n background-color: var(--mb-bg-mantle);\n border-radius: 4px;\n font-size: 12px;\n color: var(--mb-text-muted);\n font-weight: 500;\n height: 24px;\n overflow: hidden;\n}\n.response-panel__readonly-badge i[data-v-c23cd6a6] {\n font-size: 12px;\n}\n.response-panel__alert[data-v-c23cd6a6] {\n position: absolute;\n top: 8px;\n right: 10px;\n font-size: 12px;\n font-weight: 600;\n color: var(--mb-accent-yellow);\n}\n.response-panel__save[data-v-c23cd6a6] {\n position: absolute;\n top: 20px;\n right: 20px;\n z-index: 10;\n}\n.response-panel__effect-icon[data-v-c23cd6a6] {\n position: absolute;\n top: -5px;\n right: -5px;\n display: block;\n width: 6px;\n height: 6px;\n border-radius: 6px;\n background-color: var(--mb-accent-red);\n}\n.response-panel__error-text[data-v-c23cd6a6] {\n position: absolute;\n top: -30px;\n right: 0;\n color: var(--mb-accent-red);\n font-size: 12px;\n white-space: nowrap;\n}\n.response-panel__dialog[data-v-c23cd6a6] {\n display: flex;\n align-items: center;\n}\n.response-panel__dialog-label[data-v-c23cd6a6] {\n white-space: nowrap;\n}\n.response-panel__mode-selector[data-v-c23cd6a6] {\n position: relative;\n flex-shrink: 0;\n display: flex;\n align-items: center;\n height: 100%;\n padding: 0 8px;\n border-right: 1px solid var(--mb-border-color);\n}\n.response-panel__mode-btn[data-v-c23cd6a6] {\n display: inline-flex;\n align-items: center;\n gap: 3px;\n height: 24px;\n padding: 0 8px;\n font-size: 12px;\n font-weight: 600;\n color: #d97706;\n background-color: #fff8ee;\n border: 1px solid #f59e0b;\n border-radius: 4px;\n cursor: pointer;\n white-space: nowrap;\n -webkit-user-select: none;\n -moz-user-select: none;\n user-select: none;\n transition: color 0.15s, border-color 0.15s, background-color 0.15s;\n}\n.response-panel__mode-btn .el-icon-arrow-down[data-v-c23cd6a6] {\n font-size: 12px;\n color: #d97706;\n font-weight: 900;\n transition: transform 0.2s;\n}\n.response-panel__mode-btn .el-icon-arrow-down.is-rotate[data-v-c23cd6a6] {\n transform: rotate(180deg);\n}\n.response-panel__mode-btn[data-v-c23cd6a6]:hover {\n color: #92400e;\n border-color: #d97706;\n background-color: #fef3c7;\n}\n.response-panel__mode-overlay[data-v-c23cd6a6] {\n position: fixed;\n top: 0;\n left: 0;\n width: 100%;\n height: 100%;\n z-index: 99;\n}\n.response-panel__mode-dropdown[data-v-c23cd6a6] {\n position: absolute;\n top: calc(100% + 2px);\n left: 8px;\n z-index: 100;\n min-width: 100px;\n background-color: var(--mb-bg-overlay);\n border: 1px solid var(--mb-border-color-deep);\n border-radius: 4px;\n box-shadow: 0 4px 12px rgba(0, 0, 0, 0.12);\n}\n.response-panel__mode-option[data-v-c23cd6a6] {\n padding: 6px 14px;\n font-size: 12px;\n color: var(--mb-text-secondary);\n cursor: pointer;\n white-space: nowrap;\n}\n.response-panel__mode-option[data-v-c23cd6a6]:hover {\n background-color: var(--mb-bg-surface);\n color: var(--mb-accent-blue);\n}\n.response-panel__mode-option.is-active[data-v-c23cd6a6] {\n color: var(--mb-accent-blue);\n font-weight: 600;\n}\n", ""]);
8469
+ ___CSS_LOADER_EXPORT___.push([module.id, ".response-panel[data-v-c23cd6a6] {\n position: relative;\n display: flex;\n flex-direction: column;\n height: 100%;\n}\n.response-panel__header[data-v-c23cd6a6] {\n display: flex;\n flex-direction: column;\n background-color: var(--mb-bg-mantle);\n flex-shrink: 0;\n}\n.response-panel__header-toolbar[data-v-c23cd6a6] {\n display: flex;\n align-items: center;\n gap: 0;\n height: 34px;\n border-bottom: 1px solid var(--mb-border-color);\n padding: 0;\n}\n.response-panel__version-count[data-v-c23cd6a6] {\n margin-left: 6px;\n font-size: 11px;\n color: var(--mb-text-muted);\n font-variant-numeric: tabular-nums;\n}\n.response-panel__tabs-wrapper[data-v-c23cd6a6] {\n position: relative;\n}\n.response-panel__tabs-wrapper[data-v-c23cd6a6]::before,\n.response-panel__tabs-wrapper[data-v-c23cd6a6]::after {\n content: '';\n position: absolute;\n left: 0;\n right: 0;\n height: 36px;\n z-index: 1;\n pointer-events: none;\n opacity: 0;\n transition: opacity 0.2s;\n}\n.response-panel__tabs-wrapper[data-v-c23cd6a6]::before {\n top: 0;\n background: linear-gradient(var(--mb-bg-mantle), transparent);\n}\n.response-panel__tabs-wrapper[data-v-c23cd6a6]::after {\n bottom: 0;\n background: linear-gradient(transparent, var(--mb-bg-mantle));\n}\n.response-panel__tabs-wrapper.has-top-fade[data-v-c23cd6a6]::before {\n opacity: 1;\n}\n.response-panel__tabs-wrapper.has-bottom-fade[data-v-c23cd6a6]::after {\n opacity: 1;\n}\n.response-panel__tabs-area[data-v-c23cd6a6] {\n display: flex;\n flex-wrap: wrap;\n align-content: flex-start;\n gap: 5px;\n min-width: 0;\n padding: 5px 8px;\n max-height: calc((30px + 5px) * 3 + 5px);\n overflow-y: auto;\n overflow-x: hidden;\n}\n.response-panel__tabs-area[data-v-c23cd6a6]::-webkit-scrollbar {\n width: 3px;\n}\n.response-panel__tabs-area[data-v-c23cd6a6]::-webkit-scrollbar-thumb {\n background: var(--mb-border-color-deep);\n border-radius: 2px;\n}\n.response-panel__tab[data-v-c23cd6a6] {\n position: relative;\n display: inline-flex;\n align-items: center;\n justify-content: center;\n cursor: pointer;\n height: 26px;\n min-width: 60px;\n padding: 0 10px;\n font-size: 12px;\n font-weight: 500;\n color: var(--mb-text-secondary);\n background-color: var(--mb-bg-base);\n border: 1px solid var(--mb-border-color-deep);\n border-radius: 5px;\n white-space: nowrap;\n transition: color 0.15s, background-color 0.15s, border-color 0.15s;\n}\n.response-panel__tab[data-v-c23cd6a6]:hover:not(.response-panel__tab--selected) {\n color: var(--mb-accent-blue);\n border-color: var(--mb-accent-blue);\n background-color: var(--mb-accent-blue-bg);\n}\n.response-panel__tab--selected[data-v-c23cd6a6] {\n background-color: var(--mb-accent-blue);\n color: #fff;\n font-weight: 600;\n border-color: var(--mb-accent-blue);\n}\n.response-panel__tab--selected .response-panel__edit-btn[data-v-c23cd6a6],\n.response-panel__tab--selected .response-panel__delete-btn[data-v-c23cd6a6] {\n color: rgba(255, 255, 255, 0.9);\n background-color: rgba(255, 255, 255, 0.2);\n border-color: rgba(255, 255, 255, 0.3);\n}\n.response-panel__tab--selected .response-panel__edit-btn[data-v-c23cd6a6]:hover,\n.response-panel__tab--selected .response-panel__delete-btn[data-v-c23cd6a6]:hover {\n color: #fff;\n background-color: rgba(255, 255, 255, 0.35);\n border-color: rgba(255, 255, 255, 0.5);\n}\n.response-panel__tab-text[data-v-c23cd6a6] {\n display: inline-block;\n max-width: 100px;\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n vertical-align: middle;\n}\n.response-panel__tab-actions[data-v-c23cd6a6] {\n position: absolute;\n right: 0;\n top: 0;\n bottom: 0;\n display: flex;\n align-items: center;\n gap: 2px;\n padding: 0 6px 0 32px;\n border-radius: 0 5px 5px 0;\n opacity: 0;\n pointer-events: none;\n background: linear-gradient(to right, transparent, var(--mb-bg-base) 55%);\n transition: opacity 0.15s;\n}\n.response-panel__edit-btn[data-v-c23cd6a6],\n.response-panel__delete-btn[data-v-c23cd6a6] {\n font-size: 13px;\n border-radius: 3px;\n padding: 1px 2px;\n transition: color 0.12s, background-color 0.12s;\n}\n.response-panel__edit-btn[data-v-c23cd6a6] {\n color: var(--mb-accent-blue);\n background-color: var(--mb-accent-blue-bg);\n}\n.response-panel__edit-btn[data-v-c23cd6a6]:hover {\n background-color: #bfdbfe;\n}\n.response-panel__delete-btn[data-v-c23cd6a6] {\n color: var(--mb-accent-red);\n background-color: #ffe4e6;\n}\n.response-panel__delete-btn[data-v-c23cd6a6]:hover {\n background-color: #fecdd3;\n}\n.response-panel__rule-conflict-badge[data-v-c23cd6a6] {\n font-size: 12px;\n color: #f59e0b;\n flex-shrink: 0;\n margin-right: 2px;\n}\n.response-panel__tab:hover .response-panel__tab-actions[data-v-c23cd6a6] {\n opacity: 1;\n pointer-events: auto;\n}\n.response-panel__tab--selected .response-panel__tab-actions[data-v-c23cd6a6] {\n background: linear-gradient(to right, transparent, #1a6fc4 55%);\n}\n.response-panel__tab--selected .response-panel__edit-btn[data-v-c23cd6a6] {\n color: #fff;\n background-color: rgba(255, 255, 255, 0.2);\n}\n.response-panel__tab--selected .response-panel__edit-btn[data-v-c23cd6a6]:hover {\n background-color: rgba(255, 255, 255, 0.35);\n}\n.response-panel__tab--selected .response-panel__delete-btn[data-v-c23cd6a6] {\n color: #fca5a5;\n background-color: rgba(255, 255, 255, 0.15);\n}\n.response-panel__tab--selected .response-panel__delete-btn[data-v-c23cd6a6]:hover {\n color: #fff;\n background-color: rgba(220, 38, 38, 0.5);\n}\n.response-panel__collapse-btn[data-v-c23cd6a6] {\n position: relative;\n z-index: 2;\n display: flex;\n align-items: center;\n justify-content: center;\n height: 16px;\n cursor: pointer;\n color: var(--mb-text-secondary);\n border-top: 1px solid var(--mb-border-color-light);\n transition: color 0.15s, background-color 0.15s;\n}\n.response-panel__collapse-btn i[data-v-c23cd6a6] {\n font-size: 12px;\n}\n.response-panel__collapse-btn[data-v-c23cd6a6]:hover {\n color: var(--mb-accent-blue);\n background-color: var(--mb-accent-blue-bg);\n}\n.response-panel__collapse-btn--collapsed[data-v-c23cd6a6] {\n background-color: var(--mb-accent-blue-bg);\n color: var(--mb-accent-blue);\n border-color: var(--mb-border-color);\n}\n.response-panel__collapse-btn--collapsed[data-v-c23cd6a6]:hover {\n background-color: #bfdbfe;\n}\n.response-panel__add-btn[data-v-c23cd6a6] {\n display: inline-flex;\n align-items: center;\n gap: 4px;\n flex-shrink: 0;\n cursor: pointer;\n height: 24px;\n padding: 0 10px;\n margin: 0 8px;\n font-size: 12px;\n font-weight: 600;\n color: var(--mb-accent-blue);\n background-color: var(--mb-accent-blue-bg);\n border: 1px solid var(--mb-accent-blue);\n border-radius: 4px;\n transition: background-color 0.15s, color 0.15s;\n}\n.response-panel__add-btn i[data-v-c23cd6a6] {\n font-size: 12px;\n}\n.response-panel__add-btn[data-v-c23cd6a6]:hover {\n color: #fff;\n background-color: var(--mb-accent-blue);\n}\n.response-panel__content[data-v-c23cd6a6] {\n display: flex;\n flex-direction: column;\n flex: 1;\n overflow: hidden;\n}\n.response-panel__editor-wrap[data-v-c23cd6a6] {\n position: relative;\n flex: 1;\n overflow: hidden;\n}\n.response-panel__toolbar[data-v-c23cd6a6] {\n display: flex;\n align-items: center;\n gap: 8px;\n padding: 8px 12px;\n background-color: var(--mb-bg-surface);\n border-bottom: 1px solid var(--mb-border-color);\n overflow-x: auto;\n}\n.response-panel__toolbar > *[data-v-c23cd6a6] {\n flex-shrink: 0;\n}\n.response-panel__toolbar .el-button[data-v-c23cd6a6] {\n margin: 0;\n}\n.response-panel__readonly-badge[data-v-c23cd6a6] {\n display: inline-flex;\n align-items: center;\n gap: 4px;\n margin-left: auto;\n padding: 4px 12px;\n background-color: var(--mb-bg-mantle);\n border-radius: 4px;\n font-size: 12px;\n color: var(--mb-text-muted);\n font-weight: 500;\n height: 24px;\n overflow: hidden;\n}\n.response-panel__readonly-badge i[data-v-c23cd6a6] {\n font-size: 12px;\n}\n.response-panel__alert[data-v-c23cd6a6] {\n position: absolute;\n top: 8px;\n right: 10px;\n font-size: 12px;\n font-weight: 600;\n color: var(--mb-accent-yellow);\n}\n.response-panel__save[data-v-c23cd6a6] {\n position: absolute;\n top: 20px;\n right: 20px;\n z-index: 10;\n}\n.response-panel__effect-icon[data-v-c23cd6a6] {\n position: absolute;\n top: -5px;\n right: -5px;\n display: block;\n width: 6px;\n height: 6px;\n border-radius: 6px;\n background-color: var(--mb-accent-red);\n}\n.response-panel__error-text[data-v-c23cd6a6] {\n position: absolute;\n top: -30px;\n right: 0;\n color: var(--mb-accent-red);\n font-size: 12px;\n white-space: nowrap;\n}\n.response-panel__dialog[data-v-c23cd6a6] {\n display: flex;\n align-items: center;\n}\n.response-panel__dialog-label[data-v-c23cd6a6] {\n white-space: nowrap;\n}\n.response-panel__mode-selector[data-v-c23cd6a6] {\n position: relative;\n flex-shrink: 0;\n display: flex;\n align-items: center;\n height: 100%;\n padding: 0 8px;\n margin-left: auto;\n border-left: 1px solid var(--mb-border-color);\n}\n.response-panel__mode-btn[data-v-c23cd6a6] {\n display: inline-flex;\n align-items: center;\n gap: 3px;\n height: 24px;\n padding: 0 8px;\n font-size: 12px;\n font-weight: 600;\n color: #d97706;\n background-color: #fff8ee;\n border: 1px solid #f59e0b;\n border-radius: 4px;\n cursor: pointer;\n white-space: nowrap;\n -webkit-user-select: none;\n -moz-user-select: none;\n user-select: none;\n transition: color 0.15s, border-color 0.15s, background-color 0.15s;\n}\n.response-panel__mode-btn .el-icon-arrow-down[data-v-c23cd6a6] {\n font-size: 12px;\n color: #d97706;\n font-weight: 900;\n transition: transform 0.2s;\n}\n.response-panel__mode-btn .el-icon-arrow-down.is-rotate[data-v-c23cd6a6] {\n transform: rotate(180deg);\n}\n.response-panel__mode-btn[data-v-c23cd6a6]:hover {\n color: #92400e;\n border-color: #d97706;\n background-color: #fef3c7;\n}\n.response-panel__mode-overlay[data-v-c23cd6a6] {\n position: fixed;\n top: 0;\n left: 0;\n width: 100%;\n height: 100%;\n z-index: 99;\n}\n.response-panel__mode-dropdown[data-v-c23cd6a6] {\n position: absolute;\n top: calc(100% + 2px);\n right: 8px;\n left: auto;\n z-index: 100;\n min-width: 100px;\n background-color: var(--mb-bg-overlay);\n border: 1px solid var(--mb-border-color-deep);\n border-radius: 4px;\n box-shadow: 0 4px 12px rgba(0, 0, 0, 0.12);\n}\n.response-panel__mode-option[data-v-c23cd6a6] {\n padding: 6px 14px;\n font-size: 12px;\n color: var(--mb-text-secondary);\n cursor: pointer;\n white-space: nowrap;\n}\n.response-panel__mode-option[data-v-c23cd6a6]:hover {\n background-color: var(--mb-bg-surface);\n color: var(--mb-accent-blue);\n}\n.response-panel__mode-option.is-active[data-v-c23cd6a6] {\n color: var(--mb-accent-blue);\n font-weight: 600;\n}\n", ""]);
8410
8470
  // Exports
8411
8471
  /* harmony default export */ __webpack_exports__["default"] = (___CSS_LOADER_EXPORT___);
8412
8472
 
@@ -8502,7 +8562,7 @@ __webpack_require__.r(__webpack_exports__);
8502
8562
 
8503
8563
  var ___CSS_LOADER_EXPORT___ = _node_modules_pnpm_css_loader_6_11_0_webpack_5_100_2_node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1___default()((_node_modules_pnpm_css_loader_6_11_0_webpack_5_100_2_node_modules_css_loader_dist_runtime_noSourceMaps_js__WEBPACK_IMPORTED_MODULE_0___default()));
8504
8564
  // Module
8505
- ___CSS_LOADER_EXPORT___.push([module.id, ".group-selector[data-v-fcd4b224] {\n display: flex;\n align-items: center;\n margin-right: 16px;\n}\n.group-selector__select[data-v-fcd4b224] {\n width: 180px;\n}\n.group-selector__select[data-v-fcd4b224] .el-input__inner {\n border-radius: 4px 0 0 4px;\n}\n.group-selector__btn[data-v-fcd4b224] {\n flex-shrink: 0;\n height: 32px;\n margin-left: -1px;\n border-top-left-radius: 0;\n border-bottom-left-radius: 0;\n}\n", ""]);
8565
+ ___CSS_LOADER_EXPORT___.push([module.id, ".group-selector[data-v-fcd4b224] {\n display: flex;\n align-items: center;\n}\n.group-selector__select[data-v-fcd4b224] {\n width: 180px;\n}\n.group-selector__select[data-v-fcd4b224] .el-input__inner {\n border-radius: 4px 0 0 4px;\n}\n.group-selector__btn[data-v-fcd4b224] {\n flex-shrink: 0;\n height: 32px;\n margin-left: -1px;\n border-top-left-radius: 0;\n border-bottom-left-radius: 0;\n}\n", ""]);
8506
8566
  // Exports
8507
8567
  /* harmony default export */ __webpack_exports__["default"] = (___CSS_LOADER_EXPORT___);
8508
8568
 
@@ -8526,7 +8586,7 @@ __webpack_require__.r(__webpack_exports__);
8526
8586
 
8527
8587
  var ___CSS_LOADER_EXPORT___ = _node_modules_pnpm_css_loader_6_11_0_webpack_5_100_2_node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1___default()((_node_modules_pnpm_css_loader_6_11_0_webpack_5_100_2_node_modules_css_loader_dist_runtime_noSourceMaps_js__WEBPACK_IMPORTED_MODULE_0___default()));
8528
8588
  // Module
8529
- ___CSS_LOADER_EXPORT___.push([module.id, ".update-banner[data-v-7b8cce48] {\n display: flex;\n align-items: center;\n gap: 6px;\n padding: 4px 12px;\n background: #fffbe8;\n border-bottom: 1px solid #e4e7ed;\n font-size: 12px;\n color: #303133;\n flex-wrap: nowrap;\n}\n.update-banner__text[data-v-7b8cce48] {\n white-space: nowrap;\n flex-shrink: 0;\n}\n.update-banner__text strong[data-v-7b8cce48] {\n font-weight: 600;\n}\n.update-banner__cmd[data-v-7b8cce48] {\n flex: 1;\n min-width: 0;\n padding: 2px 6px;\n border: 1px solid #dcdfe6;\n border-radius: 3px;\n background: #f4f4f4;\n color: #d93025;\n font-family: monospace;\n font-size: 11px;\n outline: none;\n cursor: text;\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n}\n.update-banner__install[data-v-7b8cce48] {\n flex-shrink: 0;\n height: 22px;\n padding: 0 10px;\n border: 1px solid #409eff;\n border-radius: 3px;\n background: #fff;\n color: #409eff;\n font-size: 12px;\n cursor: pointer;\n white-space: nowrap;\n}\n.update-banner__install[data-v-7b8cce48]:hover {\n background: #ecf5ff;\n}\n.update-banner__install[data-v-7b8cce48]:disabled {\n opacity: 0.6;\n cursor: not-allowed;\n}\n.update-banner__copy[data-v-7b8cce48] {\n flex-shrink: 0;\n height: 22px;\n padding: 0 10px;\n border: 1px solid #dcdfe6;\n border-radius: 3px;\n background: #fff;\n color: #303133;\n font-size: 12px;\n cursor: pointer;\n white-space: nowrap;\n}\n.update-banner__copy[data-v-7b8cce48]:hover {\n background: #f5f7fa;\n}\n.update-banner__close[data-v-7b8cce48] {\n flex-shrink: 0;\n width: 22px;\n height: 22px;\n border: 1px solid #dcdfe6;\n border-radius: 3px;\n background: #fff;\n color: #909399;\n font-size: 13px;\n line-height: 1;\n cursor: pointer;\n padding: 0;\n display: flex;\n align-items: center;\n justify-content: center;\n}\n.update-banner__close[data-v-7b8cce48]:hover {\n background: #f5f7fa;\n color: #303133;\n}\n.plugin-header[data-v-7b8cce48] {\n display: flex;\n align-items: center;\n justify-content: space-between;\n padding: 6px 12px;\n background: var(--mb-header-bg);\n border-bottom: 1px solid var(--mb-border-color);\n min-height: 36px;\n}\n.plugin-header__left[data-v-7b8cce48] {\n display: flex;\n align-items: center;\n gap: 10px;\n}\n.plugin-header__right[data-v-7b8cce48] {\n display: flex;\n align-items: center;\n}\n.plugin-header__name[data-v-7b8cce48] {\n font-size: 15px;\n font-weight: 700;\n color: var(--mb-text-primary);\n letter-spacing: 0.5px;\n flex-shrink: 0;\n}\n.plugin-header__status--on[data-v-7b8cce48] {\n font-size: 13px;\n color: var(--mb-accent-green);\n font-weight: 500;\n}\n.plugin-header__status--off[data-v-7b8cce48] {\n font-size: 13px;\n color: var(--mb-accent-red);\n font-weight: 500;\n}\n.plugin-header__version[data-v-7b8cce48] {\n font-size: 12px;\n color: var(--mb-text-muted);\n letter-spacing: 0.3px;\n padding: 2px 6px;\n background: var(--mb-bg-surface);\n border-radius: 3px;\n}\n.plugin-header__help-btn[data-v-7b8cce48] {\n padding: 0;\n width: 22px;\n height: 22px;\n font-size: 16px;\n color: var(--mb-text-muted);\n}\n.plugin-header__help-btn[data-v-7b8cce48]:hover {\n color: var(--mb-accent-blue);\n}\n.plugin-header__theme-btn[data-v-7b8cce48],\n.plugin-header__refresh-btn[data-v-7b8cce48],\n.plugin-header__more-btn[data-v-7b8cce48],\n.plugin-header__float-btn[data-v-7b8cce48] {\n display: inline-flex;\n align-items: center;\n justify-content: center;\n width: 20px;\n height: 20px;\n padding: 0 4px;\n font-size: 16px;\n line-height: 1;\n box-sizing: content-box;\n margin-left: 0 !important;\n}\n.plugin-header__theme-btn[data-v-7b8cce48]:hover,\n.plugin-header__refresh-btn[data-v-7b8cce48]:hover,\n.plugin-header__more-btn[data-v-7b8cce48]:hover,\n.plugin-header__float-btn[data-v-7b8cce48]:hover {\n opacity: 0.75;\n}\n.plugin-header__theme-btn[data-v-7b8cce48] {\n color: var(--mb-text-secondary);\n}\n.plugin-header__refresh-btn[data-v-7b8cce48] {\n color: var(--mb-text-muted);\n}\n.plugin-header__refresh-btn[data-v-7b8cce48]:hover {\n color: var(--mb-accent-blue);\n opacity: 1;\n}\n.plugin-header__more-btn[data-v-7b8cce48] {\n color: #606266;\n}\n.plugin-header__more-btn[data-v-7b8cce48]:hover {\n color: var(--mb-accent-blue);\n opacity: 1;\n}\n.plugin-header__float-btn[data-v-7b8cce48] {\n color: var(--mb-text-muted);\n}\n.plugin-header__float-btn[data-v-7b8cce48]:hover {\n color: var(--mb-accent-blue);\n opacity: 1;\n}\n.plugin-header__float-btn.is-active[data-v-7b8cce48] {\n color: var(--mb-accent-blue);\n}\n.help-dialog__content[data-v-7b8cce48] {\n font-size: 14px;\n line-height: 1.8;\n color: var(--mb-text-primary);\n}\n.help-dialog__content p[data-v-7b8cce48] {\n margin: 0 0 12px;\n}\n.help-section__title[data-v-7b8cce48] {\n font-size: 15px;\n font-weight: 600;\n color: var(--mb-accent-blue);\n margin: 16px 0 8px;\n padding-left: 8px;\n border-left: 3px solid var(--mb-accent-blue);\n}\n.help-section__title[data-v-7b8cce48]:first-child {\n margin-top: 0;\n}\n.help-step[data-v-7b8cce48] {\n display: flex;\n align-items: flex-start;\n gap: 10px;\n margin-bottom: 10px;\n}\n.help-step__num[data-v-7b8cce48] {\n flex-shrink: 0;\n width: 22px;\n height: 22px;\n background: var(--mb-accent-blue);\n color: #fff;\n border-radius: 50%;\n display: flex;\n align-items: center;\n justify-content: center;\n font-size: 13px;\n font-weight: 700;\n margin-top: 1px;\n}\n.help-table[data-v-7b8cce48] {\n width: 100%;\n border-collapse: collapse;\n margin-bottom: 8px;\n}\n.help-table td[data-v-7b8cce48] {\n padding: 6px 10px;\n border: 1px solid var(--mb-border-color);\n font-size: 13px;\n}\n.help-table td[data-v-7b8cce48]:first-child {\n width: 100px;\n background: var(--mb-bg-surface);\n white-space: nowrap;\n}\n.help-code[data-v-7b8cce48] {\n background: var(--mb-bg-surface);\n border: 1px solid var(--mb-border-color);\n border-radius: 4px;\n padding: 10px 14px;\n font-family: monospace;\n font-size: 13px;\n color: var(--mb-text-secondary);\n line-height: 1.9;\n margin: 0 0 8px;\n white-space: pre-wrap;\n}\n.help-dialog__content ul[data-v-7b8cce48] {\n padding-left: 20px;\n margin: 0 0 8px;\n}\n.help-dialog__content ul li[data-v-7b8cce48] {\n margin-bottom: 4px;\n}\n.action-panel[data-v-7b8cce48] {\n display: flex;\n flex-direction: column;\n background-color: var(--mb-bg-base);\n border-bottom: 1px solid var(--mb-border-color-deep);\n}\n.action-panel__row[data-v-7b8cce48] {\n display: flex;\n padding: 10px;\n align-items: flex-start;\n gap: 16px;\n}\n.action-panel__search[data-v-7b8cce48] {\n flex: 1;\n display: flex;\n flex-wrap: wrap;\n align-items: center;\n gap: 8px;\n min-width: 0;\n}\n.action-panel__actions[data-v-7b8cce48] {\n display: flex;\n flex-wrap: wrap;\n align-items: center;\n gap: 8px;\n flex-shrink: 0;\n}\n.action-panel__rules-row[data-v-7b8cce48] {\n display: flex;\n align-items: center;\n flex-wrap: wrap;\n gap: 6px 12px;\n padding: 6px 12px;\n background: var(--mb-bg-surface);\n border-top: 1px solid var(--mb-border-color);\n}\n.action-panel .plugin-mode-wrapper[data-v-7b8cce48] {\n display: flex;\n align-items: center;\n gap: 8px;\n flex-shrink: 0;\n}\n.action-panel .plugin-mode-wrapper .plugin-mode-label[data-v-7b8cce48] {\n font-size: 13px;\n font-weight: 500;\n color: var(--mb-text-secondary);\n white-space: nowrap;\n}\n.action-panel__item[data-v-7b8cce48] {\n font-size: 14px;\n}\n.action-panel__label[data-v-7b8cce48] {\n font-size: 14px;\n font-weight: 500;\n margin-right: 10px;\n}\n.action-panel__select[data-v-7b8cce48] {\n width: 180px;\n}\n.action-panel__select--method[data-v-7b8cce48] {\n width: 120px;\n}\n.action-panel__select--status[data-v-7b8cce48] {\n width: 160px;\n}\n.action-panel__input[data-v-7b8cce48] {\n width: 220px;\n}\n.action-panel__tooltip[data-v-7b8cce48] {\n flex-shrink: 0;\n}\n.action-panel__selection-count[data-v-7b8cce48] {\n font-weight: 600;\n flex-shrink: 0;\n}\n.action-panel__result-count[data-v-7b8cce48] {\n display: flex;\n align-items: center;\n flex-shrink: 0;\n}\n.action-panel__result-text[data-v-7b8cce48] {\n font-size: 12px;\n color: var(--mb-text-muted);\n font-weight: 400;\n white-space: nowrap;\n}\n.action-panel__cache-badge[data-v-7b8cce48] {\n flex-shrink: 0;\n}\n.export-group-selector .selector-header[data-v-7b8cce48] {\n display: flex;\n justify-content: space-between;\n align-items: center;\n margin-bottom: 16px;\n padding-bottom: 12px;\n border-bottom: 1px solid var(--mb-border-color);\n}\n.export-group-selector .selector-header .selector-title[data-v-7b8cce48] {\n font-size: 14px;\n color: var(--mb-text-secondary);\n font-weight: 500;\n}\n.export-group-selector .group-checkbox-list[data-v-7b8cce48] {\n display: flex;\n flex-direction: column;\n gap: 12px;\n max-height: 300px;\n overflow-y: auto;\n padding: 8px 0;\n}\n.export-group-selector .group-checkbox-list .group-checkbox-item[data-v-7b8cce48] {\n padding: 12px;\n border: 1px solid var(--mb-border-color-deep);\n border-radius: 4px;\n}\n.export-group-selector .group-checkbox-list .group-checkbox-item[data-v-7b8cce48]:hover {\n border-color: var(--mb-accent-blue);\n background: var(--mb-accent-blue-bg);\n}\n.export-group-selector .group-checkbox-list .group-checkbox-item[data-v-7b8cce48] .el-checkbox {\n display: flex;\n align-items: flex-start;\n width: 100%;\n}\n.export-group-selector .group-checkbox-list .group-checkbox-item[data-v-7b8cce48] .el-checkbox .el-checkbox__input {\n margin-top: 2px;\n}\n.export-group-selector .group-checkbox-list .group-checkbox-item[data-v-7b8cce48] .el-checkbox .el-checkbox__label {\n flex: 1;\n padding-left: 8px;\n width: 0;\n}\n.export-group-selector .group-checkbox-list .group-info[data-v-7b8cce48] {\n display: flex;\n justify-content: space-between;\n align-items: center;\n gap: 12px;\n}\n.export-group-selector .group-checkbox-list .group-info .group-name[data-v-7b8cce48] {\n display: flex;\n align-items: center;\n gap: 8px;\n font-size: 14px;\n font-weight: 500;\n color: var(--mb-text-primary);\n flex: 1;\n min-width: 0;\n overflow: hidden;\n}\n.export-group-selector .group-checkbox-list .group-info .group-meta[data-v-7b8cce48] {\n font-size: 12px;\n color: var(--mb-text-muted);\n white-space: nowrap;\n flex-shrink: 0;\n}\n.export-group-selector .export-summary[data-v-7b8cce48] {\n margin-top: 16px;\n padding-top: 12px;\n border-top: 1px solid var(--mb-border-color);\n text-align: center;\n font-size: 14px;\n color: var(--mb-text-secondary);\n}\n.export-group-selector .export-summary strong[data-v-7b8cce48] {\n color: var(--mb-accent-blue);\n font-size: 16px;\n}\n.active-rules-text[data-v-7b8cce48] {\n display: inline-flex;\n align-items: center;\n gap: 6px;\n font-size: 13px;\n cursor: help;\n padding: 3px 8px;\n background: var(--mb-bg-surface);\n border-radius: 4px;\n flex-shrink: 0;\n}\n.active-rules-text[data-v-7b8cce48]:hover {\n background: var(--mb-accent-blue-bg);\n box-shadow: 0 2px 8px rgba(64, 158, 255, 0.15);\n}\n.active-rules-text .rules-label[data-v-7b8cce48] {\n color: var(--mb-text-secondary);\n font-weight: 500;\n white-space: nowrap;\n flex-shrink: 0;\n}\n.active-rules-text .rules-value[data-v-7b8cce48] {\n color: var(--mb-accent-blue);\n font-family: monospace;\n font-weight: 600;\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n min-width: 0;\n}\n.active-rules-text .rules-empty[data-v-7b8cce48] {\n color: var(--mb-text-muted);\n font-style: italic;\n}\n.rules-help-content[data-v-7b8cce48] {\n max-width: 500px;\n padding: 4px 0;\n line-height: 1.6;\n font-size: 13px;\n color: #fff;\n text-align: left;\n}\n.import-preview__header[data-v-7b8cce48] {\n display: flex;\n justify-content: space-between;\n align-items: center;\n margin-bottom: 16px;\n padding-bottom: 12px;\n border-bottom: 1px solid var(--mb-border-color);\n}\n.import-preview__info[data-v-7b8cce48] {\n font-size: 14px;\n color: var(--mb-text-secondary);\n}\n.import-preview__actions[data-v-7b8cce48] {\n display: flex;\n gap: 8px;\n}\n", ""]);
8589
+ ___CSS_LOADER_EXPORT___.push([module.id, ".update-banner[data-v-7b8cce48] {\n display: flex;\n align-items: center;\n gap: 6px;\n padding: 4px 12px;\n background: #fffbe8;\n border-bottom: 1px solid #e4e7ed;\n font-size: 12px;\n color: #303133;\n flex-wrap: nowrap;\n}\n.update-banner__text[data-v-7b8cce48] {\n white-space: nowrap;\n flex-shrink: 0;\n}\n.update-banner__text strong[data-v-7b8cce48] {\n font-weight: 600;\n}\n.update-banner__cmd[data-v-7b8cce48] {\n flex: 1;\n min-width: 0;\n padding: 2px 6px;\n border: 1px solid #dcdfe6;\n border-radius: 3px;\n background: #f4f4f4;\n color: #d93025;\n font-family: monospace;\n font-size: 11px;\n outline: none;\n cursor: text;\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n}\n.update-banner__install[data-v-7b8cce48] {\n flex-shrink: 0;\n height: 22px;\n padding: 0 10px;\n border: 1px solid #409eff;\n border-radius: 3px;\n background: #fff;\n color: #409eff;\n font-size: 12px;\n cursor: pointer;\n white-space: nowrap;\n}\n.update-banner__install[data-v-7b8cce48]:hover {\n background: #ecf5ff;\n}\n.update-banner__install[data-v-7b8cce48]:disabled {\n opacity: 0.6;\n cursor: not-allowed;\n}\n.update-banner__copy[data-v-7b8cce48] {\n flex-shrink: 0;\n height: 22px;\n padding: 0 10px;\n border: 1px solid #dcdfe6;\n border-radius: 3px;\n background: #fff;\n color: #303133;\n font-size: 12px;\n cursor: pointer;\n white-space: nowrap;\n}\n.update-banner__copy[data-v-7b8cce48]:hover {\n background: #f5f7fa;\n}\n.update-banner__close[data-v-7b8cce48] {\n flex-shrink: 0;\n width: 22px;\n height: 22px;\n border: 1px solid #dcdfe6;\n border-radius: 3px;\n background: #fff;\n color: #909399;\n font-size: 13px;\n line-height: 1;\n cursor: pointer;\n padding: 0;\n display: flex;\n align-items: center;\n justify-content: center;\n}\n.update-banner__close[data-v-7b8cce48]:hover {\n background: #f5f7fa;\n color: #303133;\n}\n.plugin-header[data-v-7b8cce48] {\n display: flex;\n align-items: center;\n justify-content: space-between;\n padding: 6px 12px;\n background: var(--mb-header-bg);\n border-bottom: 1px solid var(--mb-border-color);\n min-height: 36px;\n}\n.plugin-header__left[data-v-7b8cce48] {\n display: flex;\n align-items: center;\n gap: 10px;\n}\n.plugin-header__right[data-v-7b8cce48] {\n display: flex;\n align-items: center;\n}\n.plugin-header__name[data-v-7b8cce48] {\n font-size: 15px;\n font-weight: 700;\n color: var(--mb-text-primary);\n letter-spacing: 0.5px;\n flex-shrink: 0;\n}\n.plugin-header__status--on[data-v-7b8cce48] {\n font-size: 12px;\n color: var(--mb-accent-green);\n font-weight: 500;\n}\n.plugin-header__status--off[data-v-7b8cce48] {\n font-size: 12px;\n color: var(--mb-accent-red);\n font-weight: 500;\n}\n.plugin-header__version[data-v-7b8cce48] {\n font-size: 12px;\n color: var(--mb-text-muted);\n letter-spacing: 0.3px;\n padding: 2px 6px;\n background: var(--mb-bg-surface);\n border-radius: 3px;\n}\n.plugin-header__help-btn[data-v-7b8cce48] {\n padding: 0;\n width: 14px;\n height: 14px;\n font-size: 12px;\n color: var(--mb-text-muted);\n}\n.plugin-header__help-btn[data-v-7b8cce48]:hover {\n color: var(--mb-accent-blue);\n}\n.plugin-header__switch[data-v-7b8cce48] .el-switch__core {\n height: 14px;\n line-height: 14px;\n border-radius: 7px;\n}\n.plugin-header__switch[data-v-7b8cce48] .el-switch__core::after {\n width: 10px;\n height: 10px;\n top: 1px;\n}\n.plugin-header__switch.is-checked[data-v-7b8cce48] .el-switch__core::after {\n margin-left: -11px;\n}\n.plugin-header__theme-btn[data-v-7b8cce48],\n.plugin-header__refresh-btn[data-v-7b8cce48],\n.plugin-header__more-btn[data-v-7b8cce48],\n.plugin-header__float-btn[data-v-7b8cce48] {\n display: inline-flex;\n align-items: center;\n justify-content: center;\n width: 20px;\n height: 20px;\n padding: 0 4px;\n font-size: 16px;\n line-height: 1;\n box-sizing: content-box;\n margin-left: 0 !important;\n}\n.plugin-header__theme-btn[data-v-7b8cce48]:hover,\n.plugin-header__refresh-btn[data-v-7b8cce48]:hover,\n.plugin-header__more-btn[data-v-7b8cce48]:hover,\n.plugin-header__float-btn[data-v-7b8cce48]:hover {\n opacity: 0.75;\n}\n.plugin-header__theme-btn[data-v-7b8cce48] {\n color: var(--mb-text-secondary);\n}\n.plugin-header__refresh-btn[data-v-7b8cce48] {\n color: var(--mb-text-muted);\n}\n.plugin-header__refresh-btn[data-v-7b8cce48]:hover {\n color: var(--mb-accent-blue);\n opacity: 1;\n}\n.plugin-header__more-btn[data-v-7b8cce48] {\n color: #606266;\n}\n.plugin-header__more-btn[data-v-7b8cce48]:hover {\n color: var(--mb-accent-blue);\n opacity: 1;\n}\n.plugin-header__float-btn[data-v-7b8cce48] {\n color: var(--mb-text-muted);\n}\n.plugin-header__float-btn[data-v-7b8cce48]:hover {\n color: var(--mb-accent-blue);\n opacity: 1;\n}\n.plugin-header__float-btn.is-active[data-v-7b8cce48] {\n color: var(--mb-accent-blue);\n}\n.help-dialog__content[data-v-7b8cce48] {\n font-size: 14px;\n line-height: 1.8;\n color: var(--mb-text-primary);\n}\n.help-dialog__content p[data-v-7b8cce48] {\n margin: 0 0 12px;\n}\n.help-section__title[data-v-7b8cce48] {\n font-size: 15px;\n font-weight: 600;\n color: var(--mb-accent-blue);\n margin: 16px 0 8px;\n padding-left: 8px;\n border-left: 3px solid var(--mb-accent-blue);\n}\n.help-section__title[data-v-7b8cce48]:first-child {\n margin-top: 0;\n}\n.help-step[data-v-7b8cce48] {\n display: flex;\n align-items: flex-start;\n gap: 10px;\n margin-bottom: 10px;\n}\n.help-step__num[data-v-7b8cce48] {\n flex-shrink: 0;\n width: 22px;\n height: 22px;\n background: var(--mb-accent-blue);\n color: #fff;\n border-radius: 50%;\n display: flex;\n align-items: center;\n justify-content: center;\n font-size: 13px;\n font-weight: 700;\n margin-top: 1px;\n}\n.help-table[data-v-7b8cce48] {\n width: 100%;\n border-collapse: collapse;\n margin-bottom: 8px;\n}\n.help-table td[data-v-7b8cce48] {\n padding: 6px 10px;\n border: 1px solid var(--mb-border-color);\n font-size: 13px;\n}\n.help-table td[data-v-7b8cce48]:first-child {\n width: 100px;\n background: var(--mb-bg-surface);\n white-space: nowrap;\n}\n.help-code[data-v-7b8cce48] {\n background: var(--mb-bg-surface);\n border: 1px solid var(--mb-border-color);\n border-radius: 4px;\n padding: 10px 14px;\n font-family: monospace;\n font-size: 13px;\n color: var(--mb-text-secondary);\n line-height: 1.9;\n margin: 0 0 8px;\n white-space: pre-wrap;\n}\n.help-dialog__content ul[data-v-7b8cce48] {\n padding-left: 20px;\n margin: 0 0 8px;\n}\n.help-dialog__content ul li[data-v-7b8cce48] {\n margin-bottom: 4px;\n}\n.action-panel[data-v-7b8cce48] {\n display: flex;\n flex-direction: column;\n background-color: var(--mb-bg-base);\n border-bottom: 1px solid var(--mb-border-color-deep);\n}\n.action-panel__row[data-v-7b8cce48] {\n display: flex;\n flex-wrap: wrap;\n padding: 10px;\n align-items: flex-start;\n gap: 8px;\n}\n.action-panel__search[data-v-7b8cce48] {\n flex: 1;\n min-width: 0;\n display: flex;\n flex-wrap: wrap;\n align-items: center;\n gap: 8px;\n}\n.action-panel__item[data-v-7b8cce48] {\n font-size: 14px;\n}\n.action-panel__label[data-v-7b8cce48] {\n font-size: 14px;\n font-weight: 500;\n margin-right: 10px;\n}\n.action-panel__select[data-v-7b8cce48] {\n width: 180px;\n}\n.action-panel__select--method[data-v-7b8cce48] {\n width: 120px;\n}\n.action-panel__select--status[data-v-7b8cce48] {\n width: 160px;\n}\n.action-panel__input[data-v-7b8cce48] {\n width: 220px;\n}\n.action-panel__tooltip[data-v-7b8cce48] {\n flex-shrink: 0;\n}\n.action-panel__selection-count[data-v-7b8cce48] {\n font-weight: 600;\n flex-shrink: 0;\n}\n.action-panel__result-count[data-v-7b8cce48] {\n display: flex;\n align-items: center;\n flex-shrink: 0;\n}\n.action-panel__result-text[data-v-7b8cce48] {\n font-size: 12px;\n color: var(--mb-text-muted);\n font-weight: 400;\n white-space: nowrap;\n}\n.action-panel__cache-badge[data-v-7b8cce48] {\n flex-shrink: 0;\n}\n.capture-status[data-v-7b8cce48] {\n display: inline-flex;\n align-items: center;\n gap: 6px;\n flex-shrink: 0;\n}\n.capture-status__dot[data-v-7b8cce48] {\n width: 8px;\n height: 8px;\n border-radius: 50%;\n background-color: #c0c4cc;\n flex-shrink: 0;\n transition: background-color 0.3s;\n}\n.capture-status__text[data-v-7b8cce48] {\n font-size: 12px;\n font-weight: 500;\n color: var(--mb-text-muted);\n white-space: nowrap;\n transition: color 0.3s;\n}\n.capture-status__help[data-v-7b8cce48] {\n font-size: 12px;\n color: var(--mb-text-muted);\n cursor: help;\n flex-shrink: 0;\n}\n.capture-status__switch[data-v-7b8cce48] {\n flex-shrink: 0;\n}\n.capture-status__switch[data-v-7b8cce48] .el-switch__core {\n height: 14px;\n line-height: 14px;\n border-radius: 7px;\n}\n.capture-status__switch[data-v-7b8cce48] .el-switch__core::after {\n width: 10px;\n height: 10px;\n top: 1px;\n}\n.capture-status__switch.is-checked[data-v-7b8cce48] .el-switch__core::after {\n margin-left: -11px;\n}\n.capture-status.is-capturing .capture-status__dot[data-v-7b8cce48] {\n background-color: #67c23a;\n animation: capture-pulse-7b8cce48 1.8s ease-in-out infinite;\n}\n.capture-status.is-capturing .capture-status__text[data-v-7b8cce48] {\n color: #67c23a;\n}\n@keyframes capture-pulse-7b8cce48 {\n0%,\n 100% {\n opacity: 1;\n transform: scale(1);\n}\n50% {\n opacity: 0.45;\n transform: scale(0.8);\n}\n}\n.export-group-selector .selector-header[data-v-7b8cce48] {\n display: flex;\n justify-content: space-between;\n align-items: center;\n margin-bottom: 16px;\n padding-bottom: 12px;\n border-bottom: 1px solid var(--mb-border-color);\n}\n.export-group-selector .selector-header .selector-title[data-v-7b8cce48] {\n font-size: 14px;\n color: var(--mb-text-secondary);\n font-weight: 500;\n}\n.export-group-selector .group-checkbox-list[data-v-7b8cce48] {\n display: flex;\n flex-direction: column;\n gap: 12px;\n max-height: 300px;\n overflow-y: auto;\n padding: 8px 0;\n}\n.export-group-selector .group-checkbox-list .group-checkbox-item[data-v-7b8cce48] {\n padding: 12px;\n border: 1px solid var(--mb-border-color-deep);\n border-radius: 4px;\n}\n.export-group-selector .group-checkbox-list .group-checkbox-item[data-v-7b8cce48]:hover {\n border-color: var(--mb-accent-blue);\n background: var(--mb-accent-blue-bg);\n}\n.export-group-selector .group-checkbox-list .group-checkbox-item[data-v-7b8cce48] .el-checkbox {\n display: flex;\n align-items: flex-start;\n width: 100%;\n}\n.export-group-selector .group-checkbox-list .group-checkbox-item[data-v-7b8cce48] .el-checkbox .el-checkbox__input {\n margin-top: 2px;\n}\n.export-group-selector .group-checkbox-list .group-checkbox-item[data-v-7b8cce48] .el-checkbox .el-checkbox__label {\n flex: 1;\n padding-left: 8px;\n width: 0;\n}\n.export-group-selector .group-checkbox-list .group-info[data-v-7b8cce48] {\n display: flex;\n justify-content: space-between;\n align-items: center;\n gap: 12px;\n}\n.export-group-selector .group-checkbox-list .group-info .group-name[data-v-7b8cce48] {\n display: flex;\n align-items: center;\n gap: 8px;\n font-size: 14px;\n font-weight: 500;\n color: var(--mb-text-primary);\n flex: 1;\n min-width: 0;\n overflow: hidden;\n}\n.export-group-selector .group-checkbox-list .group-info .group-meta[data-v-7b8cce48] {\n font-size: 12px;\n color: var(--mb-text-muted);\n white-space: nowrap;\n flex-shrink: 0;\n}\n.export-group-selector .export-summary[data-v-7b8cce48] {\n margin-top: 16px;\n padding-top: 12px;\n border-top: 1px solid var(--mb-border-color);\n text-align: center;\n font-size: 14px;\n color: var(--mb-text-secondary);\n}\n.export-group-selector .export-summary strong[data-v-7b8cce48] {\n color: var(--mb-accent-blue);\n font-size: 16px;\n}\n.import-preview__header[data-v-7b8cce48] {\n display: flex;\n justify-content: space-between;\n align-items: center;\n margin-bottom: 16px;\n padding-bottom: 12px;\n border-bottom: 1px solid var(--mb-border-color);\n}\n.import-preview__info[data-v-7b8cce48] {\n font-size: 14px;\n color: var(--mb-text-secondary);\n}\n.import-preview__actions[data-v-7b8cce48] {\n display: flex;\n gap: 8px;\n}\n", ""]);
8530
8590
  // Exports
8531
8591
  /* harmony default export */ __webpack_exports__["default"] = (___CSS_LOADER_EXPORT___);
8532
8592
 
@@ -8550,7 +8610,7 @@ __webpack_require__.r(__webpack_exports__);
8550
8610
 
8551
8611
  var ___CSS_LOADER_EXPORT___ = _node_modules_pnpm_css_loader_6_11_0_webpack_5_100_2_node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1___default()((_node_modules_pnpm_css_loader_6_11_0_webpack_5_100_2_node_modules_css_loader_dist_runtime_noSourceMaps_js__WEBPACK_IMPORTED_MODULE_0___default()));
8552
8612
  // Module
8553
- ___CSS_LOADER_EXPORT___.push([module.id, ".action-panel__rules-row .el-radio-button__inner {\n padding: 5px 10px;\n font-size: 12px;\n white-space: nowrap;\n}\n.more-settings-popover {\n padding: 4px 0 !important;\n min-width: 140px;\n background: var(--mb-bg-overlay) !important;\n border-color: var(--mb-border-color) !important;\n}\n.more-settings-popover .popper__arrow {\n border-bottom-color: var(--mb-border-color) !important;\n}\n.more-settings-popover .popper__arrow::after {\n border-bottom-color: var(--mb-bg-overlay) !important;\n}\n.more-settings-popover .more-settings-menu__item {\n display: flex;\n align-items: center;\n gap: 8px;\n padding: 9px 16px;\n font-size: 13px;\n color: var(--mb-text-primary);\n cursor: pointer;\n}\n.more-settings-popover .more-settings-menu__item:hover {\n background: var(--mb-accent-blue-bg);\n color: var(--mb-accent-blue);\n}\n.more-settings-popover .more-settings-menu__item i {\n font-size: 14px;\n}\n.more-settings-popover .more-settings-menu__divider {\n height: 1px;\n background: var(--mb-border-color);\n margin: 4px 0;\n}\n.import-preview-dialog .el-dialog__body {\n padding: 20px;\n}\n", ""]);
8613
+ ___CSS_LOADER_EXPORT___.push([module.id, ".more-settings-popover {\n padding: 4px 0 !important;\n min-width: 140px;\n background: var(--mb-bg-overlay) !important;\n border-color: var(--mb-border-color) !important;\n}\n.more-settings-popover .popper__arrow {\n border-bottom-color: var(--mb-border-color) !important;\n}\n.more-settings-popover .popper__arrow::after {\n border-bottom-color: var(--mb-bg-overlay) !important;\n}\n.more-settings-popover .more-settings-menu__item {\n display: flex;\n align-items: center;\n gap: 8px;\n padding: 9px 16px;\n font-size: 13px;\n color: var(--mb-text-primary);\n cursor: pointer;\n}\n.more-settings-popover .more-settings-menu__item:hover {\n background: var(--mb-accent-blue-bg);\n color: var(--mb-accent-blue);\n}\n.more-settings-popover .more-settings-menu__item i {\n font-size: 14px;\n}\n.more-settings-popover .more-settings-menu__divider {\n height: 1px;\n background: var(--mb-border-color);\n margin: 4px 0;\n}\n.import-preview-dialog .el-dialog__body {\n padding: 20px;\n}\n", ""]);
8554
8614
  // Exports
8555
8615
  /* harmony default export */ __webpack_exports__["default"] = (___CSS_LOADER_EXPORT___);
8556
8616
 
@@ -8757,6 +8817,50 @@ if(false) // removed by dead control flow
8757
8817
 
8758
8818
  /***/ }),
8759
8819
 
8820
+ /***/ "./node_modules/.pnpm/vue-style-loader@4.1.3/node_modules/vue-style-loader/index.js??clonedRuleSet-32.use[0]!./node_modules/.pnpm/css-loader@6.11.0_webpack@5.100.2/node_modules/css-loader/dist/cjs.js??clonedRuleSet-32.use[1]!./node_modules/.pnpm/vue-loader@15.11.1_css-loader@6.11.0_vue-template-compiler@2.6.14_webpack@5.100.1/node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/.pnpm/postcss-loader@6.2.1_postcss@8.5.6_webpack@5.100.1/node_modules/postcss-loader/dist/cjs.js??clonedRuleSet-32.use[2]!./node_modules/.pnpm/less-loader@11.0.0_less@4.1.2_webpack@5.100.2/node_modules/less-loader/dist/cjs.js??clonedRuleSet-32.use[3]!./node_modules/.pnpm/vue-loader@15.11.1_css-loader@6.11.0_vue-template-compiler@2.6.14_webpack@5.100.1/node_modules/vue-loader/lib/index.js??vue-loader-options!./src/components/content/RequestInfoDialog.vue?vue&type=style&index=0&id=b9cf4022&lang=less":
8821
+ /*!*******************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
8822
+ !*** ./node_modules/.pnpm/vue-style-loader@4.1.3/node_modules/vue-style-loader/index.js??clonedRuleSet-32.use[0]!./node_modules/.pnpm/css-loader@6.11.0_webpack@5.100.2/node_modules/css-loader/dist/cjs.js??clonedRuleSet-32.use[1]!./node_modules/.pnpm/vue-loader@15.11.1_css-loader@6.11.0_vue-template-compiler@2.6.14_webpack@5.100.1/node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/.pnpm/postcss-loader@6.2.1_postcss@8.5.6_webpack@5.100.1/node_modules/postcss-loader/dist/cjs.js??clonedRuleSet-32.use[2]!./node_modules/.pnpm/less-loader@11.0.0_less@4.1.2_webpack@5.100.2/node_modules/less-loader/dist/cjs.js??clonedRuleSet-32.use[3]!./node_modules/.pnpm/vue-loader@15.11.1_css-loader@6.11.0_vue-template-compiler@2.6.14_webpack@5.100.1/node_modules/vue-loader/lib/index.js??vue-loader-options!./src/components/content/RequestInfoDialog.vue?vue&type=style&index=0&id=b9cf4022&lang=less ***!
8823
+ \*******************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/
8824
+ /***/ (function(module, __unused_webpack_exports, __webpack_require__) {
8825
+
8826
+ // style-loader: Adds some css to the DOM by adding a <style> tag
8827
+
8828
+ // load the styles
8829
+ var content = __webpack_require__(/*! !!../../../node_modules/.pnpm/css-loader@6.11.0_webpack@5.100.2/node_modules/css-loader/dist/cjs.js??clonedRuleSet-32.use[1]!../../../node_modules/.pnpm/vue-loader@15.11.1_css-loader@6.11.0_vue-template-compiler@2.6.14_webpack@5.100.1/node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/.pnpm/postcss-loader@6.2.1_postcss@8.5.6_webpack@5.100.1/node_modules/postcss-loader/dist/cjs.js??clonedRuleSet-32.use[2]!../../../node_modules/.pnpm/less-loader@11.0.0_less@4.1.2_webpack@5.100.2/node_modules/less-loader/dist/cjs.js??clonedRuleSet-32.use[3]!../../../node_modules/.pnpm/vue-loader@15.11.1_css-loader@6.11.0_vue-template-compiler@2.6.14_webpack@5.100.1/node_modules/vue-loader/lib/index.js??vue-loader-options!./RequestInfoDialog.vue?vue&type=style&index=0&id=b9cf4022&lang=less */ "./node_modules/.pnpm/css-loader@6.11.0_webpack@5.100.2/node_modules/css-loader/dist/cjs.js??clonedRuleSet-32.use[1]!./node_modules/.pnpm/vue-loader@15.11.1_css-loader@6.11.0_vue-template-compiler@2.6.14_webpack@5.100.1/node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/.pnpm/postcss-loader@6.2.1_postcss@8.5.6_webpack@5.100.1/node_modules/postcss-loader/dist/cjs.js??clonedRuleSet-32.use[2]!./node_modules/.pnpm/less-loader@11.0.0_less@4.1.2_webpack@5.100.2/node_modules/less-loader/dist/cjs.js??clonedRuleSet-32.use[3]!./node_modules/.pnpm/vue-loader@15.11.1_css-loader@6.11.0_vue-template-compiler@2.6.14_webpack@5.100.1/node_modules/vue-loader/lib/index.js??vue-loader-options!./src/components/content/RequestInfoDialog.vue?vue&type=style&index=0&id=b9cf4022&lang=less");
8830
+ if(content.__esModule) content = content.default;
8831
+ if(typeof content === 'string') content = [[module.id, content, '']];
8832
+ if(content.locals) module.exports = content.locals;
8833
+ // add the styles to the DOM
8834
+ var add = (__webpack_require__(/*! !../../../node_modules/.pnpm/vue-style-loader@4.1.3/node_modules/vue-style-loader/lib/addStylesClient.js */ "./node_modules/.pnpm/vue-style-loader@4.1.3/node_modules/vue-style-loader/lib/addStylesClient.js")["default"])
8835
+ var update = add("46342588", content, false, {"sourceMap":false,"shadowMode":false});
8836
+ // Hot Module Replacement
8837
+ if(false) // removed by dead control flow
8838
+ {}
8839
+
8840
+ /***/ }),
8841
+
8842
+ /***/ "./node_modules/.pnpm/vue-style-loader@4.1.3/node_modules/vue-style-loader/index.js??clonedRuleSet-32.use[0]!./node_modules/.pnpm/css-loader@6.11.0_webpack@5.100.2/node_modules/css-loader/dist/cjs.js??clonedRuleSet-32.use[1]!./node_modules/.pnpm/vue-loader@15.11.1_css-loader@6.11.0_vue-template-compiler@2.6.14_webpack@5.100.1/node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/.pnpm/postcss-loader@6.2.1_postcss@8.5.6_webpack@5.100.1/node_modules/postcss-loader/dist/cjs.js??clonedRuleSet-32.use[2]!./node_modules/.pnpm/less-loader@11.0.0_less@4.1.2_webpack@5.100.2/node_modules/less-loader/dist/cjs.js??clonedRuleSet-32.use[3]!./node_modules/.pnpm/vue-loader@15.11.1_css-loader@6.11.0_vue-template-compiler@2.6.14_webpack@5.100.1/node_modules/vue-loader/lib/index.js??vue-loader-options!./src/components/content/RequestInfoDialog.vue?vue&type=style&index=1&id=b9cf4022&lang=less&scoped=true":
8843
+ /*!*******************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
8844
+ !*** ./node_modules/.pnpm/vue-style-loader@4.1.3/node_modules/vue-style-loader/index.js??clonedRuleSet-32.use[0]!./node_modules/.pnpm/css-loader@6.11.0_webpack@5.100.2/node_modules/css-loader/dist/cjs.js??clonedRuleSet-32.use[1]!./node_modules/.pnpm/vue-loader@15.11.1_css-loader@6.11.0_vue-template-compiler@2.6.14_webpack@5.100.1/node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/.pnpm/postcss-loader@6.2.1_postcss@8.5.6_webpack@5.100.1/node_modules/postcss-loader/dist/cjs.js??clonedRuleSet-32.use[2]!./node_modules/.pnpm/less-loader@11.0.0_less@4.1.2_webpack@5.100.2/node_modules/less-loader/dist/cjs.js??clonedRuleSet-32.use[3]!./node_modules/.pnpm/vue-loader@15.11.1_css-loader@6.11.0_vue-template-compiler@2.6.14_webpack@5.100.1/node_modules/vue-loader/lib/index.js??vue-loader-options!./src/components/content/RequestInfoDialog.vue?vue&type=style&index=1&id=b9cf4022&lang=less&scoped=true ***!
8845
+ \*******************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/
8846
+ /***/ (function(module, __unused_webpack_exports, __webpack_require__) {
8847
+
8848
+ // style-loader: Adds some css to the DOM by adding a <style> tag
8849
+
8850
+ // load the styles
8851
+ var content = __webpack_require__(/*! !!../../../node_modules/.pnpm/css-loader@6.11.0_webpack@5.100.2/node_modules/css-loader/dist/cjs.js??clonedRuleSet-32.use[1]!../../../node_modules/.pnpm/vue-loader@15.11.1_css-loader@6.11.0_vue-template-compiler@2.6.14_webpack@5.100.1/node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/.pnpm/postcss-loader@6.2.1_postcss@8.5.6_webpack@5.100.1/node_modules/postcss-loader/dist/cjs.js??clonedRuleSet-32.use[2]!../../../node_modules/.pnpm/less-loader@11.0.0_less@4.1.2_webpack@5.100.2/node_modules/less-loader/dist/cjs.js??clonedRuleSet-32.use[3]!../../../node_modules/.pnpm/vue-loader@15.11.1_css-loader@6.11.0_vue-template-compiler@2.6.14_webpack@5.100.1/node_modules/vue-loader/lib/index.js??vue-loader-options!./RequestInfoDialog.vue?vue&type=style&index=1&id=b9cf4022&lang=less&scoped=true */ "./node_modules/.pnpm/css-loader@6.11.0_webpack@5.100.2/node_modules/css-loader/dist/cjs.js??clonedRuleSet-32.use[1]!./node_modules/.pnpm/vue-loader@15.11.1_css-loader@6.11.0_vue-template-compiler@2.6.14_webpack@5.100.1/node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/.pnpm/postcss-loader@6.2.1_postcss@8.5.6_webpack@5.100.1/node_modules/postcss-loader/dist/cjs.js??clonedRuleSet-32.use[2]!./node_modules/.pnpm/less-loader@11.0.0_less@4.1.2_webpack@5.100.2/node_modules/less-loader/dist/cjs.js??clonedRuleSet-32.use[3]!./node_modules/.pnpm/vue-loader@15.11.1_css-loader@6.11.0_vue-template-compiler@2.6.14_webpack@5.100.1/node_modules/vue-loader/lib/index.js??vue-loader-options!./src/components/content/RequestInfoDialog.vue?vue&type=style&index=1&id=b9cf4022&lang=less&scoped=true");
8852
+ if(content.__esModule) content = content.default;
8853
+ if(typeof content === 'string') content = [[module.id, content, '']];
8854
+ if(content.locals) module.exports = content.locals;
8855
+ // add the styles to the DOM
8856
+ var add = (__webpack_require__(/*! !../../../node_modules/.pnpm/vue-style-loader@4.1.3/node_modules/vue-style-loader/lib/addStylesClient.js */ "./node_modules/.pnpm/vue-style-loader@4.1.3/node_modules/vue-style-loader/lib/addStylesClient.js")["default"])
8857
+ var update = add("4f4c5fd2", content, false, {"sourceMap":false,"shadowMode":false});
8858
+ // Hot Module Replacement
8859
+ if(false) // removed by dead control flow
8860
+ {}
8861
+
8862
+ /***/ }),
8863
+
8760
8864
  /***/ "./node_modules/.pnpm/vue-style-loader@4.1.3/node_modules/vue-style-loader/index.js??clonedRuleSet-32.use[0]!./node_modules/.pnpm/css-loader@6.11.0_webpack@5.100.2/node_modules/css-loader/dist/cjs.js??clonedRuleSet-32.use[1]!./node_modules/.pnpm/vue-loader@15.11.1_css-loader@6.11.0_vue-template-compiler@2.6.14_webpack@5.100.1/node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/.pnpm/postcss-loader@6.2.1_postcss@8.5.6_webpack@5.100.1/node_modules/postcss-loader/dist/cjs.js??clonedRuleSet-32.use[2]!./node_modules/.pnpm/less-loader@11.0.0_less@4.1.2_webpack@5.100.2/node_modules/less-loader/dist/cjs.js??clonedRuleSet-32.use[3]!./node_modules/.pnpm/vue-loader@15.11.1_css-loader@6.11.0_vue-template-compiler@2.6.14_webpack@5.100.1/node_modules/vue-loader/lib/index.js??vue-loader-options!./src/components/content/RequestList.vue?vue&type=style&index=0&id=1d02c492&lang=less&scoped=true":
8761
8865
  /*!*************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
8762
8866
  !*** ./node_modules/.pnpm/vue-style-loader@4.1.3/node_modules/vue-style-loader/index.js??clonedRuleSet-32.use[0]!./node_modules/.pnpm/css-loader@6.11.0_webpack@5.100.2/node_modules/css-loader/dist/cjs.js??clonedRuleSet-32.use[1]!./node_modules/.pnpm/vue-loader@15.11.1_css-loader@6.11.0_vue-template-compiler@2.6.14_webpack@5.100.1/node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/.pnpm/postcss-loader@6.2.1_postcss@8.5.6_webpack@5.100.1/node_modules/postcss-loader/dist/cjs.js??clonedRuleSet-32.use[2]!./node_modules/.pnpm/less-loader@11.0.0_less@4.1.2_webpack@5.100.2/node_modules/less-loader/dist/cjs.js??clonedRuleSet-32.use[3]!./node_modules/.pnpm/vue-loader@15.11.1_css-loader@6.11.0_vue-template-compiler@2.6.14_webpack@5.100.1/node_modules/vue-loader/lib/index.js??vue-loader-options!./src/components/content/RequestList.vue?vue&type=style&index=0&id=1d02c492&lang=less&scoped=true ***!
@@ -8779,6 +8883,28 @@ if(false) // removed by dead control flow
8779
8883
 
8780
8884
  /***/ }),
8781
8885
 
8886
+ /***/ "./node_modules/.pnpm/vue-style-loader@4.1.3/node_modules/vue-style-loader/index.js??clonedRuleSet-32.use[0]!./node_modules/.pnpm/css-loader@6.11.0_webpack@5.100.2/node_modules/css-loader/dist/cjs.js??clonedRuleSet-32.use[1]!./node_modules/.pnpm/vue-loader@15.11.1_css-loader@6.11.0_vue-template-compiler@2.6.14_webpack@5.100.1/node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/.pnpm/postcss-loader@6.2.1_postcss@8.5.6_webpack@5.100.1/node_modules/postcss-loader/dist/cjs.js??clonedRuleSet-32.use[2]!./node_modules/.pnpm/less-loader@11.0.0_less@4.1.2_webpack@5.100.2/node_modules/less-loader/dist/cjs.js??clonedRuleSet-32.use[3]!./node_modules/.pnpm/vue-loader@15.11.1_css-loader@6.11.0_vue-template-compiler@2.6.14_webpack@5.100.1/node_modules/vue-loader/lib/index.js??vue-loader-options!./src/components/content/RequestList.vue?vue&type=style&index=1&id=1d02c492&lang=less":
8887
+ /*!*************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
8888
+ !*** ./node_modules/.pnpm/vue-style-loader@4.1.3/node_modules/vue-style-loader/index.js??clonedRuleSet-32.use[0]!./node_modules/.pnpm/css-loader@6.11.0_webpack@5.100.2/node_modules/css-loader/dist/cjs.js??clonedRuleSet-32.use[1]!./node_modules/.pnpm/vue-loader@15.11.1_css-loader@6.11.0_vue-template-compiler@2.6.14_webpack@5.100.1/node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/.pnpm/postcss-loader@6.2.1_postcss@8.5.6_webpack@5.100.1/node_modules/postcss-loader/dist/cjs.js??clonedRuleSet-32.use[2]!./node_modules/.pnpm/less-loader@11.0.0_less@4.1.2_webpack@5.100.2/node_modules/less-loader/dist/cjs.js??clonedRuleSet-32.use[3]!./node_modules/.pnpm/vue-loader@15.11.1_css-loader@6.11.0_vue-template-compiler@2.6.14_webpack@5.100.1/node_modules/vue-loader/lib/index.js??vue-loader-options!./src/components/content/RequestList.vue?vue&type=style&index=1&id=1d02c492&lang=less ***!
8889
+ \*************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/
8890
+ /***/ (function(module, __unused_webpack_exports, __webpack_require__) {
8891
+
8892
+ // style-loader: Adds some css to the DOM by adding a <style> tag
8893
+
8894
+ // load the styles
8895
+ var content = __webpack_require__(/*! !!../../../node_modules/.pnpm/css-loader@6.11.0_webpack@5.100.2/node_modules/css-loader/dist/cjs.js??clonedRuleSet-32.use[1]!../../../node_modules/.pnpm/vue-loader@15.11.1_css-loader@6.11.0_vue-template-compiler@2.6.14_webpack@5.100.1/node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/.pnpm/postcss-loader@6.2.1_postcss@8.5.6_webpack@5.100.1/node_modules/postcss-loader/dist/cjs.js??clonedRuleSet-32.use[2]!../../../node_modules/.pnpm/less-loader@11.0.0_less@4.1.2_webpack@5.100.2/node_modules/less-loader/dist/cjs.js??clonedRuleSet-32.use[3]!../../../node_modules/.pnpm/vue-loader@15.11.1_css-loader@6.11.0_vue-template-compiler@2.6.14_webpack@5.100.1/node_modules/vue-loader/lib/index.js??vue-loader-options!./RequestList.vue?vue&type=style&index=1&id=1d02c492&lang=less */ "./node_modules/.pnpm/css-loader@6.11.0_webpack@5.100.2/node_modules/css-loader/dist/cjs.js??clonedRuleSet-32.use[1]!./node_modules/.pnpm/vue-loader@15.11.1_css-loader@6.11.0_vue-template-compiler@2.6.14_webpack@5.100.1/node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/.pnpm/postcss-loader@6.2.1_postcss@8.5.6_webpack@5.100.1/node_modules/postcss-loader/dist/cjs.js??clonedRuleSet-32.use[2]!./node_modules/.pnpm/less-loader@11.0.0_less@4.1.2_webpack@5.100.2/node_modules/less-loader/dist/cjs.js??clonedRuleSet-32.use[3]!./node_modules/.pnpm/vue-loader@15.11.1_css-loader@6.11.0_vue-template-compiler@2.6.14_webpack@5.100.1/node_modules/vue-loader/lib/index.js??vue-loader-options!./src/components/content/RequestList.vue?vue&type=style&index=1&id=1d02c492&lang=less");
8896
+ if(content.__esModule) content = content.default;
8897
+ if(typeof content === 'string') content = [[module.id, content, '']];
8898
+ if(content.locals) module.exports = content.locals;
8899
+ // add the styles to the DOM
8900
+ var add = (__webpack_require__(/*! !../../../node_modules/.pnpm/vue-style-loader@4.1.3/node_modules/vue-style-loader/lib/addStylesClient.js */ "./node_modules/.pnpm/vue-style-loader@4.1.3/node_modules/vue-style-loader/lib/addStylesClient.js")["default"])
8901
+ var update = add("1fe6e0e6", content, false, {"sourceMap":false,"shadowMode":false});
8902
+ // Hot Module Replacement
8903
+ if(false) // removed by dead control flow
8904
+ {}
8905
+
8906
+ /***/ }),
8907
+
8782
8908
  /***/ "./node_modules/.pnpm/vue-style-loader@4.1.3/node_modules/vue-style-loader/index.js??clonedRuleSet-32.use[0]!./node_modules/.pnpm/css-loader@6.11.0_webpack@5.100.2/node_modules/css-loader/dist/cjs.js??clonedRuleSet-32.use[1]!./node_modules/.pnpm/vue-loader@15.11.1_css-loader@6.11.0_vue-template-compiler@2.6.14_webpack@5.100.1/node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/.pnpm/postcss-loader@6.2.1_postcss@8.5.6_webpack@5.100.1/node_modules/postcss-loader/dist/cjs.js??clonedRuleSet-32.use[2]!./node_modules/.pnpm/less-loader@11.0.0_less@4.1.2_webpack@5.100.2/node_modules/less-loader/dist/cjs.js??clonedRuleSet-32.use[3]!./node_modules/.pnpm/vue-loader@15.11.1_css-loader@6.11.0_vue-template-compiler@2.6.14_webpack@5.100.1/node_modules/vue-loader/lib/index.js??vue-loader-options!./src/components/content/ResponsePanel.vue?vue&type=style&index=0&id=c23cd6a6&lang=less&scoped=true":
8783
8909
  /*!***************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
8784
8910
  !*** ./node_modules/.pnpm/vue-style-loader@4.1.3/node_modules/vue-style-loader/index.js??clonedRuleSet-32.use[0]!./node_modules/.pnpm/css-loader@6.11.0_webpack@5.100.2/node_modules/css-loader/dist/cjs.js??clonedRuleSet-32.use[1]!./node_modules/.pnpm/vue-loader@15.11.1_css-loader@6.11.0_vue-template-compiler@2.6.14_webpack@5.100.1/node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/.pnpm/postcss-loader@6.2.1_postcss@8.5.6_webpack@5.100.1/node_modules/postcss-loader/dist/cjs.js??clonedRuleSet-32.use[2]!./node_modules/.pnpm/less-loader@11.0.0_less@4.1.2_webpack@5.100.2/node_modules/less-loader/dist/cjs.js??clonedRuleSet-32.use[3]!./node_modules/.pnpm/vue-loader@15.11.1_css-loader@6.11.0_vue-template-compiler@2.6.14_webpack@5.100.1/node_modules/vue-loader/lib/index.js??vue-loader-options!./src/components/content/ResponsePanel.vue?vue&type=style&index=0&id=c23cd6a6&lang=less&scoped=true ***!
@@ -9424,6 +9550,111 @@ __webpack_require__.r(__webpack_exports__);
9424
9550
  /* harmony import */ var _node_modules_pnpm_babel_loader_8_4_1_babel_core_7_12_16_webpack_5_100_1_node_modules_babel_loader_lib_index_js_clonedRuleSet_40_use_0_node_modules_pnpm_vue_loader_15_11_1_css_loader_6_11_0_vue_template_compiler_2_6_14_webpack_5_100_1_node_modules_vue_loader_lib_loaders_templateLoader_js_ruleSet_1_rules_3_node_modules_pnpm_vue_loader_15_11_1_css_loader_6_11_0_vue_template_compiler_2_6_14_webpack_5_100_1_node_modules_vue_loader_lib_index_js_vue_loader_options_RequestDetail_vue_vue_type_template_id_77bc97aa_scoped_true__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! -!../../../node_modules/.pnpm/babel-loader@8.4.1_@babel+core@7.12.16_webpack@5.100.1/node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[0]!../../../node_modules/.pnpm/vue-loader@15.11.1_css-loader@6.11.0_vue-template-compiler@2.6.14_webpack@5.100.1/node_modules/vue-loader/lib/loaders/templateLoader.js??ruleSet[1].rules[3]!../../../node_modules/.pnpm/vue-loader@15.11.1_css-loader@6.11.0_vue-template-compiler@2.6.14_webpack@5.100.1/node_modules/vue-loader/lib/index.js??vue-loader-options!./RequestDetail.vue?vue&type=template&id=77bc97aa&scoped=true */ "./node_modules/.pnpm/babel-loader@8.4.1_@babel+core@7.12.16_webpack@5.100.1/node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[0]!./node_modules/.pnpm/vue-loader@15.11.1_css-loader@6.11.0_vue-template-compiler@2.6.14_webpack@5.100.1/node_modules/vue-loader/lib/loaders/templateLoader.js??ruleSet[1].rules[3]!./node_modules/.pnpm/vue-loader@15.11.1_css-loader@6.11.0_vue-template-compiler@2.6.14_webpack@5.100.1/node_modules/vue-loader/lib/index.js??vue-loader-options!./src/components/content/RequestDetail.vue?vue&type=template&id=77bc97aa&scoped=true");
9425
9551
 
9426
9552
 
9553
+ /***/ }),
9554
+
9555
+ /***/ "./src/components/content/RequestInfoDialog.vue":
9556
+ /*!******************************************************!*\
9557
+ !*** ./src/components/content/RequestInfoDialog.vue ***!
9558
+ \******************************************************/
9559
+ /***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
9560
+
9561
+ "use strict";
9562
+ __webpack_require__.r(__webpack_exports__);
9563
+ /* harmony import */ var _RequestInfoDialog_vue_vue_type_template_id_b9cf4022_scoped_true__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./RequestInfoDialog.vue?vue&type=template&id=b9cf4022&scoped=true */ "./src/components/content/RequestInfoDialog.vue?vue&type=template&id=b9cf4022&scoped=true");
9564
+ /* harmony import */ var _RequestInfoDialog_vue_vue_type_script_setup_true_lang_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./RequestInfoDialog.vue?vue&type=script&setup=true&lang=js */ "./src/components/content/RequestInfoDialog.vue?vue&type=script&setup=true&lang=js");
9565
+ /* harmony import */ var _RequestInfoDialog_vue_vue_type_style_index_0_id_b9cf4022_lang_less__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./RequestInfoDialog.vue?vue&type=style&index=0&id=b9cf4022&lang=less */ "./src/components/content/RequestInfoDialog.vue?vue&type=style&index=0&id=b9cf4022&lang=less");
9566
+ /* harmony import */ var _RequestInfoDialog_vue_vue_type_style_index_1_id_b9cf4022_lang_less_scoped_true__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./RequestInfoDialog.vue?vue&type=style&index=1&id=b9cf4022&lang=less&scoped=true */ "./src/components/content/RequestInfoDialog.vue?vue&type=style&index=1&id=b9cf4022&lang=less&scoped=true");
9567
+ /* harmony import */ var _node_modules_pnpm_vue_loader_15_11_1_css_loader_6_11_0_vue_template_compiler_2_6_14_webpack_5_100_1_node_modules_vue_loader_lib_runtime_componentNormalizer_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! !../../../node_modules/.pnpm/vue-loader@15.11.1_css-loader@6.11.0_vue-template-compiler@2.6.14_webpack@5.100.1/node_modules/vue-loader/lib/runtime/componentNormalizer.js */ "./node_modules/.pnpm/vue-loader@15.11.1_css-loader@6.11.0_vue-template-compiler@2.6.14_webpack@5.100.1/node_modules/vue-loader/lib/runtime/componentNormalizer.js");
9568
+
9569
+
9570
+
9571
+ ;
9572
+
9573
+
9574
+
9575
+ /* normalize component */
9576
+
9577
+ var component = (0,_node_modules_pnpm_vue_loader_15_11_1_css_loader_6_11_0_vue_template_compiler_2_6_14_webpack_5_100_1_node_modules_vue_loader_lib_runtime_componentNormalizer_js__WEBPACK_IMPORTED_MODULE_4__["default"])(
9578
+ _RequestInfoDialog_vue_vue_type_script_setup_true_lang_js__WEBPACK_IMPORTED_MODULE_1__["default"],
9579
+ _RequestInfoDialog_vue_vue_type_template_id_b9cf4022_scoped_true__WEBPACK_IMPORTED_MODULE_0__.render,
9580
+ _RequestInfoDialog_vue_vue_type_template_id_b9cf4022_scoped_true__WEBPACK_IMPORTED_MODULE_0__.staticRenderFns,
9581
+ false,
9582
+ null,
9583
+ "b9cf4022",
9584
+ null
9585
+
9586
+ )
9587
+
9588
+ /* hot reload */
9589
+ if (false) // removed by dead control flow
9590
+ { var api; }
9591
+ component.options.__file = "src/components/content/RequestInfoDialog.vue"
9592
+ /* harmony default export */ __webpack_exports__["default"] = (component.exports);
9593
+
9594
+ /***/ }),
9595
+
9596
+ /***/ "./src/components/content/RequestInfoDialog.vue?vue&type=script&setup=true&lang=js":
9597
+ /*!*****************************************************************************************!*\
9598
+ !*** ./src/components/content/RequestInfoDialog.vue?vue&type=script&setup=true&lang=js ***!
9599
+ \*****************************************************************************************/
9600
+ /***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
9601
+
9602
+ "use strict";
9603
+ __webpack_require__.r(__webpack_exports__);
9604
+ /* harmony import */ var _node_modules_pnpm_babel_loader_8_4_1_babel_core_7_12_16_webpack_5_100_1_node_modules_babel_loader_lib_index_js_clonedRuleSet_40_use_0_node_modules_pnpm_vue_loader_15_11_1_css_loader_6_11_0_vue_template_compiler_2_6_14_webpack_5_100_1_node_modules_vue_loader_lib_index_js_vue_loader_options_RequestInfoDialog_vue_vue_type_script_setup_true_lang_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! -!../../../node_modules/.pnpm/babel-loader@8.4.1_@babel+core@7.12.16_webpack@5.100.1/node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[0]!../../../node_modules/.pnpm/vue-loader@15.11.1_css-loader@6.11.0_vue-template-compiler@2.6.14_webpack@5.100.1/node_modules/vue-loader/lib/index.js??vue-loader-options!./RequestInfoDialog.vue?vue&type=script&setup=true&lang=js */ "./node_modules/.pnpm/babel-loader@8.4.1_@babel+core@7.12.16_webpack@5.100.1/node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[0]!./node_modules/.pnpm/vue-loader@15.11.1_css-loader@6.11.0_vue-template-compiler@2.6.14_webpack@5.100.1/node_modules/vue-loader/lib/index.js??vue-loader-options!./src/components/content/RequestInfoDialog.vue?vue&type=script&setup=true&lang=js");
9605
+ /* harmony default export */ __webpack_exports__["default"] = (_node_modules_pnpm_babel_loader_8_4_1_babel_core_7_12_16_webpack_5_100_1_node_modules_babel_loader_lib_index_js_clonedRuleSet_40_use_0_node_modules_pnpm_vue_loader_15_11_1_css_loader_6_11_0_vue_template_compiler_2_6_14_webpack_5_100_1_node_modules_vue_loader_lib_index_js_vue_loader_options_RequestInfoDialog_vue_vue_type_script_setup_true_lang_js__WEBPACK_IMPORTED_MODULE_0__["default"]);
9606
+
9607
+ /***/ }),
9608
+
9609
+ /***/ "./src/components/content/RequestInfoDialog.vue?vue&type=style&index=0&id=b9cf4022&lang=less":
9610
+ /*!***************************************************************************************************!*\
9611
+ !*** ./src/components/content/RequestInfoDialog.vue?vue&type=style&index=0&id=b9cf4022&lang=less ***!
9612
+ \***************************************************************************************************/
9613
+ /***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
9614
+
9615
+ "use strict";
9616
+ __webpack_require__.r(__webpack_exports__);
9617
+ /* harmony import */ var _node_modules_pnpm_vue_style_loader_4_1_3_node_modules_vue_style_loader_index_js_clonedRuleSet_32_use_0_node_modules_pnpm_css_loader_6_11_0_webpack_5_100_2_node_modules_css_loader_dist_cjs_js_clonedRuleSet_32_use_1_node_modules_pnpm_vue_loader_15_11_1_css_loader_6_11_0_vue_template_compiler_2_6_14_webpack_5_100_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_pnpm_postcss_loader_6_2_1_postcss_8_5_6_webpack_5_100_1_node_modules_postcss_loader_dist_cjs_js_clonedRuleSet_32_use_2_node_modules_pnpm_less_loader_11_0_0_less_4_1_2_webpack_5_100_2_node_modules_less_loader_dist_cjs_js_clonedRuleSet_32_use_3_node_modules_pnpm_vue_loader_15_11_1_css_loader_6_11_0_vue_template_compiler_2_6_14_webpack_5_100_1_node_modules_vue_loader_lib_index_js_vue_loader_options_RequestInfoDialog_vue_vue_type_style_index_0_id_b9cf4022_lang_less__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! -!../../../node_modules/.pnpm/vue-style-loader@4.1.3/node_modules/vue-style-loader/index.js??clonedRuleSet-32.use[0]!../../../node_modules/.pnpm/css-loader@6.11.0_webpack@5.100.2/node_modules/css-loader/dist/cjs.js??clonedRuleSet-32.use[1]!../../../node_modules/.pnpm/vue-loader@15.11.1_css-loader@6.11.0_vue-template-compiler@2.6.14_webpack@5.100.1/node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/.pnpm/postcss-loader@6.2.1_postcss@8.5.6_webpack@5.100.1/node_modules/postcss-loader/dist/cjs.js??clonedRuleSet-32.use[2]!../../../node_modules/.pnpm/less-loader@11.0.0_less@4.1.2_webpack@5.100.2/node_modules/less-loader/dist/cjs.js??clonedRuleSet-32.use[3]!../../../node_modules/.pnpm/vue-loader@15.11.1_css-loader@6.11.0_vue-template-compiler@2.6.14_webpack@5.100.1/node_modules/vue-loader/lib/index.js??vue-loader-options!./RequestInfoDialog.vue?vue&type=style&index=0&id=b9cf4022&lang=less */ "./node_modules/.pnpm/vue-style-loader@4.1.3/node_modules/vue-style-loader/index.js??clonedRuleSet-32.use[0]!./node_modules/.pnpm/css-loader@6.11.0_webpack@5.100.2/node_modules/css-loader/dist/cjs.js??clonedRuleSet-32.use[1]!./node_modules/.pnpm/vue-loader@15.11.1_css-loader@6.11.0_vue-template-compiler@2.6.14_webpack@5.100.1/node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/.pnpm/postcss-loader@6.2.1_postcss@8.5.6_webpack@5.100.1/node_modules/postcss-loader/dist/cjs.js??clonedRuleSet-32.use[2]!./node_modules/.pnpm/less-loader@11.0.0_less@4.1.2_webpack@5.100.2/node_modules/less-loader/dist/cjs.js??clonedRuleSet-32.use[3]!./node_modules/.pnpm/vue-loader@15.11.1_css-loader@6.11.0_vue-template-compiler@2.6.14_webpack@5.100.1/node_modules/vue-loader/lib/index.js??vue-loader-options!./src/components/content/RequestInfoDialog.vue?vue&type=style&index=0&id=b9cf4022&lang=less");
9618
+ /* harmony import */ var _node_modules_pnpm_vue_style_loader_4_1_3_node_modules_vue_style_loader_index_js_clonedRuleSet_32_use_0_node_modules_pnpm_css_loader_6_11_0_webpack_5_100_2_node_modules_css_loader_dist_cjs_js_clonedRuleSet_32_use_1_node_modules_pnpm_vue_loader_15_11_1_css_loader_6_11_0_vue_template_compiler_2_6_14_webpack_5_100_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_pnpm_postcss_loader_6_2_1_postcss_8_5_6_webpack_5_100_1_node_modules_postcss_loader_dist_cjs_js_clonedRuleSet_32_use_2_node_modules_pnpm_less_loader_11_0_0_less_4_1_2_webpack_5_100_2_node_modules_less_loader_dist_cjs_js_clonedRuleSet_32_use_3_node_modules_pnpm_vue_loader_15_11_1_css_loader_6_11_0_vue_template_compiler_2_6_14_webpack_5_100_1_node_modules_vue_loader_lib_index_js_vue_loader_options_RequestInfoDialog_vue_vue_type_style_index_0_id_b9cf4022_lang_less__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_node_modules_pnpm_vue_style_loader_4_1_3_node_modules_vue_style_loader_index_js_clonedRuleSet_32_use_0_node_modules_pnpm_css_loader_6_11_0_webpack_5_100_2_node_modules_css_loader_dist_cjs_js_clonedRuleSet_32_use_1_node_modules_pnpm_vue_loader_15_11_1_css_loader_6_11_0_vue_template_compiler_2_6_14_webpack_5_100_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_pnpm_postcss_loader_6_2_1_postcss_8_5_6_webpack_5_100_1_node_modules_postcss_loader_dist_cjs_js_clonedRuleSet_32_use_2_node_modules_pnpm_less_loader_11_0_0_less_4_1_2_webpack_5_100_2_node_modules_less_loader_dist_cjs_js_clonedRuleSet_32_use_3_node_modules_pnpm_vue_loader_15_11_1_css_loader_6_11_0_vue_template_compiler_2_6_14_webpack_5_100_1_node_modules_vue_loader_lib_index_js_vue_loader_options_RequestInfoDialog_vue_vue_type_style_index_0_id_b9cf4022_lang_less__WEBPACK_IMPORTED_MODULE_0__);
9619
+ /* harmony reexport (unknown) */ var __WEBPACK_REEXPORT_OBJECT__ = {};
9620
+ /* harmony reexport (unknown) */ for(var __WEBPACK_IMPORT_KEY__ in _node_modules_pnpm_vue_style_loader_4_1_3_node_modules_vue_style_loader_index_js_clonedRuleSet_32_use_0_node_modules_pnpm_css_loader_6_11_0_webpack_5_100_2_node_modules_css_loader_dist_cjs_js_clonedRuleSet_32_use_1_node_modules_pnpm_vue_loader_15_11_1_css_loader_6_11_0_vue_template_compiler_2_6_14_webpack_5_100_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_pnpm_postcss_loader_6_2_1_postcss_8_5_6_webpack_5_100_1_node_modules_postcss_loader_dist_cjs_js_clonedRuleSet_32_use_2_node_modules_pnpm_less_loader_11_0_0_less_4_1_2_webpack_5_100_2_node_modules_less_loader_dist_cjs_js_clonedRuleSet_32_use_3_node_modules_pnpm_vue_loader_15_11_1_css_loader_6_11_0_vue_template_compiler_2_6_14_webpack_5_100_1_node_modules_vue_loader_lib_index_js_vue_loader_options_RequestInfoDialog_vue_vue_type_style_index_0_id_b9cf4022_lang_less__WEBPACK_IMPORTED_MODULE_0__) if(__WEBPACK_IMPORT_KEY__ !== "default") __WEBPACK_REEXPORT_OBJECT__[__WEBPACK_IMPORT_KEY__] = function(key) { return _node_modules_pnpm_vue_style_loader_4_1_3_node_modules_vue_style_loader_index_js_clonedRuleSet_32_use_0_node_modules_pnpm_css_loader_6_11_0_webpack_5_100_2_node_modules_css_loader_dist_cjs_js_clonedRuleSet_32_use_1_node_modules_pnpm_vue_loader_15_11_1_css_loader_6_11_0_vue_template_compiler_2_6_14_webpack_5_100_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_pnpm_postcss_loader_6_2_1_postcss_8_5_6_webpack_5_100_1_node_modules_postcss_loader_dist_cjs_js_clonedRuleSet_32_use_2_node_modules_pnpm_less_loader_11_0_0_less_4_1_2_webpack_5_100_2_node_modules_less_loader_dist_cjs_js_clonedRuleSet_32_use_3_node_modules_pnpm_vue_loader_15_11_1_css_loader_6_11_0_vue_template_compiler_2_6_14_webpack_5_100_1_node_modules_vue_loader_lib_index_js_vue_loader_options_RequestInfoDialog_vue_vue_type_style_index_0_id_b9cf4022_lang_less__WEBPACK_IMPORTED_MODULE_0__[key]; }.bind(0, __WEBPACK_IMPORT_KEY__)
9621
+ /* harmony reexport (unknown) */ __webpack_require__.d(__webpack_exports__, __WEBPACK_REEXPORT_OBJECT__);
9622
+
9623
+
9624
+ /***/ }),
9625
+
9626
+ /***/ "./src/components/content/RequestInfoDialog.vue?vue&type=style&index=1&id=b9cf4022&lang=less&scoped=true":
9627
+ /*!***************************************************************************************************************!*\
9628
+ !*** ./src/components/content/RequestInfoDialog.vue?vue&type=style&index=1&id=b9cf4022&lang=less&scoped=true ***!
9629
+ \***************************************************************************************************************/
9630
+ /***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
9631
+
9632
+ "use strict";
9633
+ __webpack_require__.r(__webpack_exports__);
9634
+ /* harmony import */ var _node_modules_pnpm_vue_style_loader_4_1_3_node_modules_vue_style_loader_index_js_clonedRuleSet_32_use_0_node_modules_pnpm_css_loader_6_11_0_webpack_5_100_2_node_modules_css_loader_dist_cjs_js_clonedRuleSet_32_use_1_node_modules_pnpm_vue_loader_15_11_1_css_loader_6_11_0_vue_template_compiler_2_6_14_webpack_5_100_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_pnpm_postcss_loader_6_2_1_postcss_8_5_6_webpack_5_100_1_node_modules_postcss_loader_dist_cjs_js_clonedRuleSet_32_use_2_node_modules_pnpm_less_loader_11_0_0_less_4_1_2_webpack_5_100_2_node_modules_less_loader_dist_cjs_js_clonedRuleSet_32_use_3_node_modules_pnpm_vue_loader_15_11_1_css_loader_6_11_0_vue_template_compiler_2_6_14_webpack_5_100_1_node_modules_vue_loader_lib_index_js_vue_loader_options_RequestInfoDialog_vue_vue_type_style_index_1_id_b9cf4022_lang_less_scoped_true__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! -!../../../node_modules/.pnpm/vue-style-loader@4.1.3/node_modules/vue-style-loader/index.js??clonedRuleSet-32.use[0]!../../../node_modules/.pnpm/css-loader@6.11.0_webpack@5.100.2/node_modules/css-loader/dist/cjs.js??clonedRuleSet-32.use[1]!../../../node_modules/.pnpm/vue-loader@15.11.1_css-loader@6.11.0_vue-template-compiler@2.6.14_webpack@5.100.1/node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/.pnpm/postcss-loader@6.2.1_postcss@8.5.6_webpack@5.100.1/node_modules/postcss-loader/dist/cjs.js??clonedRuleSet-32.use[2]!../../../node_modules/.pnpm/less-loader@11.0.0_less@4.1.2_webpack@5.100.2/node_modules/less-loader/dist/cjs.js??clonedRuleSet-32.use[3]!../../../node_modules/.pnpm/vue-loader@15.11.1_css-loader@6.11.0_vue-template-compiler@2.6.14_webpack@5.100.1/node_modules/vue-loader/lib/index.js??vue-loader-options!./RequestInfoDialog.vue?vue&type=style&index=1&id=b9cf4022&lang=less&scoped=true */ "./node_modules/.pnpm/vue-style-loader@4.1.3/node_modules/vue-style-loader/index.js??clonedRuleSet-32.use[0]!./node_modules/.pnpm/css-loader@6.11.0_webpack@5.100.2/node_modules/css-loader/dist/cjs.js??clonedRuleSet-32.use[1]!./node_modules/.pnpm/vue-loader@15.11.1_css-loader@6.11.0_vue-template-compiler@2.6.14_webpack@5.100.1/node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/.pnpm/postcss-loader@6.2.1_postcss@8.5.6_webpack@5.100.1/node_modules/postcss-loader/dist/cjs.js??clonedRuleSet-32.use[2]!./node_modules/.pnpm/less-loader@11.0.0_less@4.1.2_webpack@5.100.2/node_modules/less-loader/dist/cjs.js??clonedRuleSet-32.use[3]!./node_modules/.pnpm/vue-loader@15.11.1_css-loader@6.11.0_vue-template-compiler@2.6.14_webpack@5.100.1/node_modules/vue-loader/lib/index.js??vue-loader-options!./src/components/content/RequestInfoDialog.vue?vue&type=style&index=1&id=b9cf4022&lang=less&scoped=true");
9635
+ /* harmony import */ var _node_modules_pnpm_vue_style_loader_4_1_3_node_modules_vue_style_loader_index_js_clonedRuleSet_32_use_0_node_modules_pnpm_css_loader_6_11_0_webpack_5_100_2_node_modules_css_loader_dist_cjs_js_clonedRuleSet_32_use_1_node_modules_pnpm_vue_loader_15_11_1_css_loader_6_11_0_vue_template_compiler_2_6_14_webpack_5_100_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_pnpm_postcss_loader_6_2_1_postcss_8_5_6_webpack_5_100_1_node_modules_postcss_loader_dist_cjs_js_clonedRuleSet_32_use_2_node_modules_pnpm_less_loader_11_0_0_less_4_1_2_webpack_5_100_2_node_modules_less_loader_dist_cjs_js_clonedRuleSet_32_use_3_node_modules_pnpm_vue_loader_15_11_1_css_loader_6_11_0_vue_template_compiler_2_6_14_webpack_5_100_1_node_modules_vue_loader_lib_index_js_vue_loader_options_RequestInfoDialog_vue_vue_type_style_index_1_id_b9cf4022_lang_less_scoped_true__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_node_modules_pnpm_vue_style_loader_4_1_3_node_modules_vue_style_loader_index_js_clonedRuleSet_32_use_0_node_modules_pnpm_css_loader_6_11_0_webpack_5_100_2_node_modules_css_loader_dist_cjs_js_clonedRuleSet_32_use_1_node_modules_pnpm_vue_loader_15_11_1_css_loader_6_11_0_vue_template_compiler_2_6_14_webpack_5_100_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_pnpm_postcss_loader_6_2_1_postcss_8_5_6_webpack_5_100_1_node_modules_postcss_loader_dist_cjs_js_clonedRuleSet_32_use_2_node_modules_pnpm_less_loader_11_0_0_less_4_1_2_webpack_5_100_2_node_modules_less_loader_dist_cjs_js_clonedRuleSet_32_use_3_node_modules_pnpm_vue_loader_15_11_1_css_loader_6_11_0_vue_template_compiler_2_6_14_webpack_5_100_1_node_modules_vue_loader_lib_index_js_vue_loader_options_RequestInfoDialog_vue_vue_type_style_index_1_id_b9cf4022_lang_less_scoped_true__WEBPACK_IMPORTED_MODULE_0__);
9636
+ /* harmony reexport (unknown) */ var __WEBPACK_REEXPORT_OBJECT__ = {};
9637
+ /* harmony reexport (unknown) */ for(var __WEBPACK_IMPORT_KEY__ in _node_modules_pnpm_vue_style_loader_4_1_3_node_modules_vue_style_loader_index_js_clonedRuleSet_32_use_0_node_modules_pnpm_css_loader_6_11_0_webpack_5_100_2_node_modules_css_loader_dist_cjs_js_clonedRuleSet_32_use_1_node_modules_pnpm_vue_loader_15_11_1_css_loader_6_11_0_vue_template_compiler_2_6_14_webpack_5_100_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_pnpm_postcss_loader_6_2_1_postcss_8_5_6_webpack_5_100_1_node_modules_postcss_loader_dist_cjs_js_clonedRuleSet_32_use_2_node_modules_pnpm_less_loader_11_0_0_less_4_1_2_webpack_5_100_2_node_modules_less_loader_dist_cjs_js_clonedRuleSet_32_use_3_node_modules_pnpm_vue_loader_15_11_1_css_loader_6_11_0_vue_template_compiler_2_6_14_webpack_5_100_1_node_modules_vue_loader_lib_index_js_vue_loader_options_RequestInfoDialog_vue_vue_type_style_index_1_id_b9cf4022_lang_less_scoped_true__WEBPACK_IMPORTED_MODULE_0__) if(__WEBPACK_IMPORT_KEY__ !== "default") __WEBPACK_REEXPORT_OBJECT__[__WEBPACK_IMPORT_KEY__] = function(key) { return _node_modules_pnpm_vue_style_loader_4_1_3_node_modules_vue_style_loader_index_js_clonedRuleSet_32_use_0_node_modules_pnpm_css_loader_6_11_0_webpack_5_100_2_node_modules_css_loader_dist_cjs_js_clonedRuleSet_32_use_1_node_modules_pnpm_vue_loader_15_11_1_css_loader_6_11_0_vue_template_compiler_2_6_14_webpack_5_100_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_pnpm_postcss_loader_6_2_1_postcss_8_5_6_webpack_5_100_1_node_modules_postcss_loader_dist_cjs_js_clonedRuleSet_32_use_2_node_modules_pnpm_less_loader_11_0_0_less_4_1_2_webpack_5_100_2_node_modules_less_loader_dist_cjs_js_clonedRuleSet_32_use_3_node_modules_pnpm_vue_loader_15_11_1_css_loader_6_11_0_vue_template_compiler_2_6_14_webpack_5_100_1_node_modules_vue_loader_lib_index_js_vue_loader_options_RequestInfoDialog_vue_vue_type_style_index_1_id_b9cf4022_lang_less_scoped_true__WEBPACK_IMPORTED_MODULE_0__[key]; }.bind(0, __WEBPACK_IMPORT_KEY__)
9638
+ /* harmony reexport (unknown) */ __webpack_require__.d(__webpack_exports__, __WEBPACK_REEXPORT_OBJECT__);
9639
+
9640
+
9641
+ /***/ }),
9642
+
9643
+ /***/ "./src/components/content/RequestInfoDialog.vue?vue&type=template&id=b9cf4022&scoped=true":
9644
+ /*!************************************************************************************************!*\
9645
+ !*** ./src/components/content/RequestInfoDialog.vue?vue&type=template&id=b9cf4022&scoped=true ***!
9646
+ \************************************************************************************************/
9647
+ /***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
9648
+
9649
+ "use strict";
9650
+ __webpack_require__.r(__webpack_exports__);
9651
+ /* harmony export */ __webpack_require__.d(__webpack_exports__, {
9652
+ /* harmony export */ render: function() { return /* reexport safe */ _node_modules_pnpm_babel_loader_8_4_1_babel_core_7_12_16_webpack_5_100_1_node_modules_babel_loader_lib_index_js_clonedRuleSet_40_use_0_node_modules_pnpm_vue_loader_15_11_1_css_loader_6_11_0_vue_template_compiler_2_6_14_webpack_5_100_1_node_modules_vue_loader_lib_loaders_templateLoader_js_ruleSet_1_rules_3_node_modules_pnpm_vue_loader_15_11_1_css_loader_6_11_0_vue_template_compiler_2_6_14_webpack_5_100_1_node_modules_vue_loader_lib_index_js_vue_loader_options_RequestInfoDialog_vue_vue_type_template_id_b9cf4022_scoped_true__WEBPACK_IMPORTED_MODULE_0__.render; },
9653
+ /* harmony export */ staticRenderFns: function() { return /* reexport safe */ _node_modules_pnpm_babel_loader_8_4_1_babel_core_7_12_16_webpack_5_100_1_node_modules_babel_loader_lib_index_js_clonedRuleSet_40_use_0_node_modules_pnpm_vue_loader_15_11_1_css_loader_6_11_0_vue_template_compiler_2_6_14_webpack_5_100_1_node_modules_vue_loader_lib_loaders_templateLoader_js_ruleSet_1_rules_3_node_modules_pnpm_vue_loader_15_11_1_css_loader_6_11_0_vue_template_compiler_2_6_14_webpack_5_100_1_node_modules_vue_loader_lib_index_js_vue_loader_options_RequestInfoDialog_vue_vue_type_template_id_b9cf4022_scoped_true__WEBPACK_IMPORTED_MODULE_0__.staticRenderFns; }
9654
+ /* harmony export */ });
9655
+ /* harmony import */ var _node_modules_pnpm_babel_loader_8_4_1_babel_core_7_12_16_webpack_5_100_1_node_modules_babel_loader_lib_index_js_clonedRuleSet_40_use_0_node_modules_pnpm_vue_loader_15_11_1_css_loader_6_11_0_vue_template_compiler_2_6_14_webpack_5_100_1_node_modules_vue_loader_lib_loaders_templateLoader_js_ruleSet_1_rules_3_node_modules_pnpm_vue_loader_15_11_1_css_loader_6_11_0_vue_template_compiler_2_6_14_webpack_5_100_1_node_modules_vue_loader_lib_index_js_vue_loader_options_RequestInfoDialog_vue_vue_type_template_id_b9cf4022_scoped_true__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! -!../../../node_modules/.pnpm/babel-loader@8.4.1_@babel+core@7.12.16_webpack@5.100.1/node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[0]!../../../node_modules/.pnpm/vue-loader@15.11.1_css-loader@6.11.0_vue-template-compiler@2.6.14_webpack@5.100.1/node_modules/vue-loader/lib/loaders/templateLoader.js??ruleSet[1].rules[3]!../../../node_modules/.pnpm/vue-loader@15.11.1_css-loader@6.11.0_vue-template-compiler@2.6.14_webpack@5.100.1/node_modules/vue-loader/lib/index.js??vue-loader-options!./RequestInfoDialog.vue?vue&type=template&id=b9cf4022&scoped=true */ "./node_modules/.pnpm/babel-loader@8.4.1_@babel+core@7.12.16_webpack@5.100.1/node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[0]!./node_modules/.pnpm/vue-loader@15.11.1_css-loader@6.11.0_vue-template-compiler@2.6.14_webpack@5.100.1/node_modules/vue-loader/lib/loaders/templateLoader.js??ruleSet[1].rules[3]!./node_modules/.pnpm/vue-loader@15.11.1_css-loader@6.11.0_vue-template-compiler@2.6.14_webpack@5.100.1/node_modules/vue-loader/lib/index.js??vue-loader-options!./src/components/content/RequestInfoDialog.vue?vue&type=template&id=b9cf4022&scoped=true");
9656
+
9657
+
9427
9658
  /***/ }),
9428
9659
 
9429
9660
  /***/ "./src/components/content/RequestList.vue":
@@ -9437,16 +9668,18 @@ __webpack_require__.r(__webpack_exports__);
9437
9668
  /* harmony import */ var _RequestList_vue_vue_type_template_id_1d02c492_scoped_true__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./RequestList.vue?vue&type=template&id=1d02c492&scoped=true */ "./src/components/content/RequestList.vue?vue&type=template&id=1d02c492&scoped=true");
9438
9669
  /* harmony import */ var _RequestList_vue_vue_type_script_setup_true_lang_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./RequestList.vue?vue&type=script&setup=true&lang=js */ "./src/components/content/RequestList.vue?vue&type=script&setup=true&lang=js");
9439
9670
  /* harmony import */ var _RequestList_vue_vue_type_style_index_0_id_1d02c492_lang_less_scoped_true__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./RequestList.vue?vue&type=style&index=0&id=1d02c492&lang=less&scoped=true */ "./src/components/content/RequestList.vue?vue&type=style&index=0&id=1d02c492&lang=less&scoped=true");
9440
- /* harmony import */ var _node_modules_pnpm_vue_loader_15_11_1_css_loader_6_11_0_vue_template_compiler_2_6_14_webpack_5_100_1_node_modules_vue_loader_lib_runtime_componentNormalizer_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! !../../../node_modules/.pnpm/vue-loader@15.11.1_css-loader@6.11.0_vue-template-compiler@2.6.14_webpack@5.100.1/node_modules/vue-loader/lib/runtime/componentNormalizer.js */ "./node_modules/.pnpm/vue-loader@15.11.1_css-loader@6.11.0_vue-template-compiler@2.6.14_webpack@5.100.1/node_modules/vue-loader/lib/runtime/componentNormalizer.js");
9671
+ /* harmony import */ var _RequestList_vue_vue_type_style_index_1_id_1d02c492_lang_less__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./RequestList.vue?vue&type=style&index=1&id=1d02c492&lang=less */ "./src/components/content/RequestList.vue?vue&type=style&index=1&id=1d02c492&lang=less");
9672
+ /* harmony import */ var _node_modules_pnpm_vue_loader_15_11_1_css_loader_6_11_0_vue_template_compiler_2_6_14_webpack_5_100_1_node_modules_vue_loader_lib_runtime_componentNormalizer_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! !../../../node_modules/.pnpm/vue-loader@15.11.1_css-loader@6.11.0_vue-template-compiler@2.6.14_webpack@5.100.1/node_modules/vue-loader/lib/runtime/componentNormalizer.js */ "./node_modules/.pnpm/vue-loader@15.11.1_css-loader@6.11.0_vue-template-compiler@2.6.14_webpack@5.100.1/node_modules/vue-loader/lib/runtime/componentNormalizer.js");
9441
9673
 
9442
9674
 
9443
9675
 
9444
9676
  ;
9445
9677
 
9446
9678
 
9679
+
9447
9680
  /* normalize component */
9448
9681
 
9449
- var component = (0,_node_modules_pnpm_vue_loader_15_11_1_css_loader_6_11_0_vue_template_compiler_2_6_14_webpack_5_100_1_node_modules_vue_loader_lib_runtime_componentNormalizer_js__WEBPACK_IMPORTED_MODULE_3__["default"])(
9682
+ var component = (0,_node_modules_pnpm_vue_loader_15_11_1_css_loader_6_11_0_vue_template_compiler_2_6_14_webpack_5_100_1_node_modules_vue_loader_lib_runtime_componentNormalizer_js__WEBPACK_IMPORTED_MODULE_4__["default"])(
9450
9683
  _RequestList_vue_vue_type_script_setup_true_lang_js__WEBPACK_IMPORTED_MODULE_1__["default"],
9451
9684
  _RequestList_vue_vue_type_template_id_1d02c492_scoped_true__WEBPACK_IMPORTED_MODULE_0__.render,
9452
9685
  _RequestList_vue_vue_type_template_id_1d02c492_scoped_true__WEBPACK_IMPORTED_MODULE_0__.staticRenderFns,
@@ -9493,6 +9726,23 @@ __webpack_require__.r(__webpack_exports__);
9493
9726
  /* harmony reexport (unknown) */ __webpack_require__.d(__webpack_exports__, __WEBPACK_REEXPORT_OBJECT__);
9494
9727
 
9495
9728
 
9729
+ /***/ }),
9730
+
9731
+ /***/ "./src/components/content/RequestList.vue?vue&type=style&index=1&id=1d02c492&lang=less":
9732
+ /*!*********************************************************************************************!*\
9733
+ !*** ./src/components/content/RequestList.vue?vue&type=style&index=1&id=1d02c492&lang=less ***!
9734
+ \*********************************************************************************************/
9735
+ /***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
9736
+
9737
+ "use strict";
9738
+ __webpack_require__.r(__webpack_exports__);
9739
+ /* harmony import */ var _node_modules_pnpm_vue_style_loader_4_1_3_node_modules_vue_style_loader_index_js_clonedRuleSet_32_use_0_node_modules_pnpm_css_loader_6_11_0_webpack_5_100_2_node_modules_css_loader_dist_cjs_js_clonedRuleSet_32_use_1_node_modules_pnpm_vue_loader_15_11_1_css_loader_6_11_0_vue_template_compiler_2_6_14_webpack_5_100_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_pnpm_postcss_loader_6_2_1_postcss_8_5_6_webpack_5_100_1_node_modules_postcss_loader_dist_cjs_js_clonedRuleSet_32_use_2_node_modules_pnpm_less_loader_11_0_0_less_4_1_2_webpack_5_100_2_node_modules_less_loader_dist_cjs_js_clonedRuleSet_32_use_3_node_modules_pnpm_vue_loader_15_11_1_css_loader_6_11_0_vue_template_compiler_2_6_14_webpack_5_100_1_node_modules_vue_loader_lib_index_js_vue_loader_options_RequestList_vue_vue_type_style_index_1_id_1d02c492_lang_less__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! -!../../../node_modules/.pnpm/vue-style-loader@4.1.3/node_modules/vue-style-loader/index.js??clonedRuleSet-32.use[0]!../../../node_modules/.pnpm/css-loader@6.11.0_webpack@5.100.2/node_modules/css-loader/dist/cjs.js??clonedRuleSet-32.use[1]!../../../node_modules/.pnpm/vue-loader@15.11.1_css-loader@6.11.0_vue-template-compiler@2.6.14_webpack@5.100.1/node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/.pnpm/postcss-loader@6.2.1_postcss@8.5.6_webpack@5.100.1/node_modules/postcss-loader/dist/cjs.js??clonedRuleSet-32.use[2]!../../../node_modules/.pnpm/less-loader@11.0.0_less@4.1.2_webpack@5.100.2/node_modules/less-loader/dist/cjs.js??clonedRuleSet-32.use[3]!../../../node_modules/.pnpm/vue-loader@15.11.1_css-loader@6.11.0_vue-template-compiler@2.6.14_webpack@5.100.1/node_modules/vue-loader/lib/index.js??vue-loader-options!./RequestList.vue?vue&type=style&index=1&id=1d02c492&lang=less */ "./node_modules/.pnpm/vue-style-loader@4.1.3/node_modules/vue-style-loader/index.js??clonedRuleSet-32.use[0]!./node_modules/.pnpm/css-loader@6.11.0_webpack@5.100.2/node_modules/css-loader/dist/cjs.js??clonedRuleSet-32.use[1]!./node_modules/.pnpm/vue-loader@15.11.1_css-loader@6.11.0_vue-template-compiler@2.6.14_webpack@5.100.1/node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/.pnpm/postcss-loader@6.2.1_postcss@8.5.6_webpack@5.100.1/node_modules/postcss-loader/dist/cjs.js??clonedRuleSet-32.use[2]!./node_modules/.pnpm/less-loader@11.0.0_less@4.1.2_webpack@5.100.2/node_modules/less-loader/dist/cjs.js??clonedRuleSet-32.use[3]!./node_modules/.pnpm/vue-loader@15.11.1_css-loader@6.11.0_vue-template-compiler@2.6.14_webpack@5.100.1/node_modules/vue-loader/lib/index.js??vue-loader-options!./src/components/content/RequestList.vue?vue&type=style&index=1&id=1d02c492&lang=less");
9740
+ /* harmony import */ var _node_modules_pnpm_vue_style_loader_4_1_3_node_modules_vue_style_loader_index_js_clonedRuleSet_32_use_0_node_modules_pnpm_css_loader_6_11_0_webpack_5_100_2_node_modules_css_loader_dist_cjs_js_clonedRuleSet_32_use_1_node_modules_pnpm_vue_loader_15_11_1_css_loader_6_11_0_vue_template_compiler_2_6_14_webpack_5_100_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_pnpm_postcss_loader_6_2_1_postcss_8_5_6_webpack_5_100_1_node_modules_postcss_loader_dist_cjs_js_clonedRuleSet_32_use_2_node_modules_pnpm_less_loader_11_0_0_less_4_1_2_webpack_5_100_2_node_modules_less_loader_dist_cjs_js_clonedRuleSet_32_use_3_node_modules_pnpm_vue_loader_15_11_1_css_loader_6_11_0_vue_template_compiler_2_6_14_webpack_5_100_1_node_modules_vue_loader_lib_index_js_vue_loader_options_RequestList_vue_vue_type_style_index_1_id_1d02c492_lang_less__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_node_modules_pnpm_vue_style_loader_4_1_3_node_modules_vue_style_loader_index_js_clonedRuleSet_32_use_0_node_modules_pnpm_css_loader_6_11_0_webpack_5_100_2_node_modules_css_loader_dist_cjs_js_clonedRuleSet_32_use_1_node_modules_pnpm_vue_loader_15_11_1_css_loader_6_11_0_vue_template_compiler_2_6_14_webpack_5_100_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_pnpm_postcss_loader_6_2_1_postcss_8_5_6_webpack_5_100_1_node_modules_postcss_loader_dist_cjs_js_clonedRuleSet_32_use_2_node_modules_pnpm_less_loader_11_0_0_less_4_1_2_webpack_5_100_2_node_modules_less_loader_dist_cjs_js_clonedRuleSet_32_use_3_node_modules_pnpm_vue_loader_15_11_1_css_loader_6_11_0_vue_template_compiler_2_6_14_webpack_5_100_1_node_modules_vue_loader_lib_index_js_vue_loader_options_RequestList_vue_vue_type_style_index_1_id_1d02c492_lang_less__WEBPACK_IMPORTED_MODULE_0__);
9741
+ /* harmony reexport (unknown) */ var __WEBPACK_REEXPORT_OBJECT__ = {};
9742
+ /* harmony reexport (unknown) */ for(var __WEBPACK_IMPORT_KEY__ in _node_modules_pnpm_vue_style_loader_4_1_3_node_modules_vue_style_loader_index_js_clonedRuleSet_32_use_0_node_modules_pnpm_css_loader_6_11_0_webpack_5_100_2_node_modules_css_loader_dist_cjs_js_clonedRuleSet_32_use_1_node_modules_pnpm_vue_loader_15_11_1_css_loader_6_11_0_vue_template_compiler_2_6_14_webpack_5_100_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_pnpm_postcss_loader_6_2_1_postcss_8_5_6_webpack_5_100_1_node_modules_postcss_loader_dist_cjs_js_clonedRuleSet_32_use_2_node_modules_pnpm_less_loader_11_0_0_less_4_1_2_webpack_5_100_2_node_modules_less_loader_dist_cjs_js_clonedRuleSet_32_use_3_node_modules_pnpm_vue_loader_15_11_1_css_loader_6_11_0_vue_template_compiler_2_6_14_webpack_5_100_1_node_modules_vue_loader_lib_index_js_vue_loader_options_RequestList_vue_vue_type_style_index_1_id_1d02c492_lang_less__WEBPACK_IMPORTED_MODULE_0__) if(__WEBPACK_IMPORT_KEY__ !== "default") __WEBPACK_REEXPORT_OBJECT__[__WEBPACK_IMPORT_KEY__] = function(key) { return _node_modules_pnpm_vue_style_loader_4_1_3_node_modules_vue_style_loader_index_js_clonedRuleSet_32_use_0_node_modules_pnpm_css_loader_6_11_0_webpack_5_100_2_node_modules_css_loader_dist_cjs_js_clonedRuleSet_32_use_1_node_modules_pnpm_vue_loader_15_11_1_css_loader_6_11_0_vue_template_compiler_2_6_14_webpack_5_100_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_pnpm_postcss_loader_6_2_1_postcss_8_5_6_webpack_5_100_1_node_modules_postcss_loader_dist_cjs_js_clonedRuleSet_32_use_2_node_modules_pnpm_less_loader_11_0_0_less_4_1_2_webpack_5_100_2_node_modules_less_loader_dist_cjs_js_clonedRuleSet_32_use_3_node_modules_pnpm_vue_loader_15_11_1_css_loader_6_11_0_vue_template_compiler_2_6_14_webpack_5_100_1_node_modules_vue_loader_lib_index_js_vue_loader_options_RequestList_vue_vue_type_style_index_1_id_1d02c492_lang_less__WEBPACK_IMPORTED_MODULE_0__[key]; }.bind(0, __WEBPACK_IMPORT_KEY__)
9743
+ /* harmony reexport (unknown) */ __webpack_require__.d(__webpack_exports__, __WEBPACK_REEXPORT_OBJECT__);
9744
+
9745
+
9496
9746
  /***/ }),
9497
9747
 
9498
9748
  /***/ "./src/components/content/RequestList.vue?vue&type=template&id=1d02c492&scoped=true":
@@ -11521,6 +11771,22 @@ const execCommandCopy = (text, done) => {
11521
11771
 
11522
11772
  /***/ }),
11523
11773
 
11774
+ /***/ "./src/utils/constants.js":
11775
+ /*!********************************!*\
11776
+ !*** ./src/utils/constants.js ***!
11777
+ \********************************/
11778
+ /***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
11779
+
11780
+ "use strict";
11781
+ __webpack_require__.r(__webpack_exports__);
11782
+ /* harmony export */ __webpack_require__.d(__webpack_exports__, {
11783
+ /* harmony export */ TOOLTIP_DELAY: function() { return /* binding */ TOOLTIP_DELAY; }
11784
+ /* harmony export */ });
11785
+ /** tooltip 统一延迟时间(ms) */
11786
+ const TOOLTIP_DELAY = 500;
11787
+
11788
+ /***/ }),
11789
+
11524
11790
  /***/ "./src/utils/createSingletonHook.js":
11525
11791
  /*!******************************************!*\
11526
11792
  !*** ./src/utils/createSingletonHook.js ***!
@@ -11899,24 +12165,6 @@ function registerMonacoPreviews() {
11899
12165
  });
11900
12166
  }
11901
12167
 
11902
- // ── 大数字千分位 ──────────────────────────────────────────────────────
11903
- const bigNumRegex = /:\s*(-?\d+(?:\.\d+)?)\b/g;
11904
- while ((match = bigNumRegex.exec(line)) !== null) {
11905
- const num = Number(match[1]);
11906
- if (!isFinite(num) || Math.abs(num) < 10000) continue;
11907
- if ((0,_preview__WEBPACK_IMPORTED_MODULE_4__.isTimestamp)(num)) continue;
11908
- const column = match.index + match[0].length + 1;
11909
- hints.push({
11910
- position: {
11911
- lineNumber,
11912
- column
11913
- },
11914
- label: num.toLocaleString('en-US'),
11915
- kind: monaco_editor__WEBPACK_IMPORTED_MODULE_3__.languages.InlayHintKind.Type,
11916
- paddingLeft: true
11917
- });
11918
- }
11919
-
11920
12168
  // ── 数组元素索引 ──────────────────────────────────────────────────────
11921
12169
  const arrayIdx = arrayIndexMap.get(lineNumber);
11922
12170
  if (arrayIdx !== undefined) {