@netang/quasar 0.0.81 → 0.0.83

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.
Files changed (34) hide show
  1. package/_docs/docs/components/field-table.md +57 -57
  2. package/components/dialog/index.vue +49 -47
  3. package/components/field-table/index.vue +1 -1
  4. package/components/field-tree/index.vue +5 -2
  5. package/components/img/index.vue +4 -9
  6. package/components/uploader-query/index.vue +13 -5
  7. package/docs/404.html +33 -33
  8. package/docs/assets/404.html-60b35caa.js +1 -1
  9. package/docs/assets/404.html-d1e63d77.js +1 -1
  10. package/docs/assets/alert.html-568d4e94.js +1 -1
  11. package/docs/assets/alert.html-f5dbc3e9.js +1 -1
  12. package/docs/assets/app-8c3ae4de.js +6 -6
  13. package/docs/assets/confirm.html-7a1566f6.js +1 -1
  14. package/docs/assets/confirm.html-96f1b004.js +1 -1
  15. package/docs/assets/field-table.html-68d610b0.js +1 -1
  16. package/docs/assets/field-table.html-86cc3511.js +1 -1
  17. package/docs/assets/field-tree.html-45410c3c.js +1 -1
  18. package/docs/assets/field-tree.html-c98ac993.js +1 -1
  19. package/docs/assets/framework-204010b2.js +5 -5
  20. package/docs/assets/index.html-1695dd7c.js +1 -1
  21. package/docs/assets/index.html-65a4aa67.js +1 -1
  22. package/docs/assets/style-ac5a9aa6.css +1 -1
  23. package/docs/components/field-table.html +33 -33
  24. package/docs/components/field-tree.html +33 -33
  25. package/docs/index.html +33 -33
  26. package/docs/utils/alert.html +33 -33
  27. package/docs/utils/confirm.html +33 -33
  28. package/package.json +1 -2
  29. package/sass/common.scss +1 -2
  30. package/sass/variables.scss +138 -138
  31. package/utils/$power.js +22 -2
  32. package/utils/$table.js +4 -6
  33. package/utils/copy.js +11 -2
  34. package/utils/dialog.js +1 -1
@@ -1,57 +1,57 @@
1
- # FieldTable 下拉表格
2
-
3
- ::: tip
4
- 继承 `<q-field>` 所有特性
5
- [中文文档](http://www.quasarchs.com/vue-components/field) [英文文档](https://quasar.dev/vue-components/field)
6
- :::
7
-
8
- ## FieldTable API
9
-
10
- ### FieldTable 属性
11
-
12
- | 属性名 | 说明 | 类型 | 可选值 | 默认值 |
13
- |--------------------------|-------------|---------------------|------------------------------------------|-----------------|
14
- | value / v-model | 绑定值 | - | - | - |
15
- | value-key | 值字段 | `String` | - | - |
16
- | label-key | 标签字段 | `String` | - | - |
17
- | value-type | 值类型 | `String` | `string` / `stringArray` / `objectArray` | objectArray |
18
- | value-separator | 值分隔符 | `String` | - | , |
19
- | path | 表格请求路径 | `String` | - | - |
20
- | query | 请求参数 | `object` | - | - |
21
- | data | 附加请求数据 | `object` | - | - |
22
- | no-default-load-selected | 初始不加载已选数据 | `Boolean` | - | false |
23
- | no-update-load-selected | 更新值时不加载已选数据 | `Boolean` | - | false |
24
- | format-label | 格式化显示标签 | `Function` | - | - |
25
- | show-keys | 下拉表格显示的字段数组 | `Array` | - | `[ 值字段, 标签字段 ]` |
26
- | hide-search-keys | 隐藏搜索字段数组 | `Array` | - | - |
27
- | filter-key | 默认筛选字段 | `Array` | - | `标签字段` |
28
- | filter | 是否开启筛选 | `Boolean` | - | false |
29
- | table-props | 表格声明属性 | `Object` | - | - |
30
- | dialog-props | 对话框声明属性 | `Object` | - | - |
31
- | no-dialog | 关闭对话框 | `Boolean` | - | false |
32
- | columns | 表格列数据 | `Array` | - | - |
33
- | rows | 行数据 | `Array` | - | - |
34
- | multiple | 是否多选 | `Boolean` | - | false |
35
- | collapse-tags | 多选模式下是否折叠标签 | `Boolean` | - | false |
36
- | placeholder | 占位符 | `String` | - | - |
37
- | clearable | 是否可清除 | `Boolean` | - | false |
38
- | disable | 是否禁用 | `Boolean` | - | false |
39
- | readonly | 是否只读 | `Boolean` | - | false |
40
- | input-debounce | 输入防抖(毫秒) | `Number` / `String` | - | 500 |
41
-
42
-
43
- ### FieldTable 插槽
44
-
45
- | 插槽名 | 说明 |
46
- |--------------------------|------------------------------------------|
47
- | default | 自定义默认内容(如果存在,则会隐藏下拉表格,并提供接口自定义实现) |
48
-
49
- ### FieldTable `default` 插槽 对外暴露的方法
50
-
51
- | 属性名 | 说明 | 类型 | 示例 |
52
- |--------------------------|--|----------|-----|
53
- | showValue | 显示的已选值 | `String` | - |
54
- | selected | 已选数据 | `Array` | `[ { id: 1, ... }, { id: 2, ... } ]` |
55
- | onRemove | 删除已选 | `Function` | `onRemove(index)` |
56
- | onShowDialog | 显示对话框 | `Function` | - |
57
- | onClear | 清空已选数据 | `Function` | - |
1
+ # FieldTable 下拉表格
2
+
3
+ ::: tip
4
+ 继承 `<q-field>` 所有特性
5
+ [中文文档](http://www.quasarchs.com/vue-components/field) [英文文档](https://quasar.dev/vue-components/field)
6
+ :::
7
+
8
+ ## FieldTable API
9
+
10
+ ### FieldTable 属性
11
+
12
+ | 属性名 | 说明 | 类型 | 可选值 | 默认值 |
13
+ |--------------------------|-------------|---------------------|------------------------------------------|-----------------|
14
+ | value / v-model | 绑定值 | - | - | - |
15
+ | value-key | 值字段 | `String` | - | - |
16
+ | label-key | 标签字段 | `String` | - | - |
17
+ | value-type | 值类型 | `String` | `string` / `stringArray` / `objectArray` | objectArray |
18
+ | value-separator | 值分隔符 | `String` | - | , |
19
+ | path | 表格请求路径 | `String` | - | - |
20
+ | query | 请求参数 | `object` | - | - |
21
+ | data | 附加请求数据 | `object` | - | - |
22
+ | no-default-load-selected | 初始不加载已选数据 | `Boolean` | - | false |
23
+ | no-update-load-selected | 更新值时不加载已选数据 | `Boolean` | - | false |
24
+ | format-label | 格式化显示标签 | `Function` | - | - |
25
+ | show-keys | 下拉表格显示的字段数组 | `Array` | - | `[ 值字段, 标签字段 ]` |
26
+ | hide-search-keys | 隐藏搜索字段数组 | `Array` | - | - |
27
+ | filter-key | 默认筛选字段 | `Array` | - | `标签字段` |
28
+ | filter | 是否开启筛选 | `Boolean` | - | false |
29
+ | table-props | 表格声明属性 | `Object` | - | - |
30
+ | dialog-props | 对话框声明属性 | `Object` | - | - |
31
+ | no-dialog | 关闭对话框 | `Boolean` | - | false |
32
+ | columns | 表格列数据 | `Array` | - | - |
33
+ | rows | 行数据 | `Array` | - | - |
34
+ | multiple | 是否多选 | `Boolean` | - | false |
35
+ | collapse-tags | 多选模式下是否折叠标签 | `Boolean` | - | false |
36
+ | placeholder | 占位符 | `String` | - | - |
37
+ | clearable | 是否可清除 | `Boolean` | - | false |
38
+ | disable | 是否禁用 | `Boolean` | - | false |
39
+ | readonly | 是否只读 | `Boolean` | - | false |
40
+ | input-debounce | 输入防抖(毫秒) | `Number` / `String` | - | 500 |
41
+
42
+
43
+ ### FieldTable 插槽
44
+
45
+ | 插槽名 | 说明 |
46
+ |--------------------------|------------------------------------------|
47
+ | default | 自定义默认内容(如果存在,则会隐藏下拉表格,并提供接口自定义实现) |
48
+
49
+ ### FieldTable `default` 插槽 对外暴露的方法
50
+
51
+ | 属性名 | 说明 | 类型 | 示例 |
52
+ |--------------------------|--|----------|-----|
53
+ | showValue | 显示的已选值 | `String` | - |
54
+ | selected | 已选数据 | `Array` | `[ { id: 1, ... }, { id: 2, ... } ]` |
55
+ | onRemove | 删除已选 | `Function` | `onRemove(index)` |
56
+ | onShowDialog | 显示对话框 | `Function` | - |
57
+ | onClear | 清空已选数据 | `Function` | - |
@@ -9,7 +9,7 @@
9
9
  <q-card class="flex column" :style="customStyle">
10
10
 
11
11
  <!-- 头部 -->
12
- <q-toolbar>
12
+ <q-toolbar class="n-line--bottom">
13
13
  <!-- 标题 -->
14
14
  <q-toolbar-title>{{currentTitle}}</q-toolbar-title>
15
15
  <!-- 关闭按钮 -->
@@ -38,7 +38,7 @@
38
38
  </q-card-section>
39
39
 
40
40
  <!-- 底部 -->
41
- <q-card-actions align="right" v-if="bottom">
41
+ <q-card-actions class="n-line--top" align="right" v-if="bottom">
42
42
  <!-- 取消按钮 -->
43
43
  <q-btn label="取消" color="primary" @click="onDialogCancel" flat v-close-popup v-if="cancel" />
44
44
  <!-- 确定按钮 -->
@@ -91,7 +91,9 @@ export default {
91
91
  // 组件标识
92
92
  name: String,
93
93
  // 路由组件路径
94
- route: String,
94
+ path: String,
95
+ // 路由组件参数
96
+ query: Object,
95
97
  // 组件传参
96
98
  props: Object,
97
99
  // 标题
@@ -197,44 +199,6 @@ export default {
197
199
 
198
200
  // ==========【计算属性】=========================================================================================
199
201
 
200
- function setWH(style, field, sign) {
201
- if (props[field]) {
202
- if ($n_indexOf(props[field], '%') > -1) {
203
- style[field] = props[field].replace('%', sign)
204
- } else {
205
- style[field] = $n_px(props[field])
206
- }
207
- }
208
- }
209
-
210
- /**
211
- * 自定义样式
212
- */
213
- const customStyle = computed(function () {
214
-
215
- const style = {}
216
-
217
- if (
218
- props.fullscreen
219
- || $q.platform.is.mobile
220
- || (props.width === '100%' && props.height === '100%')
221
- ) {
222
- style.width = '100vw'
223
- style.height = '100vh'
224
- style.borderRadius = 0
225
-
226
- } else {
227
- // 宽度
228
- setWH(style, 'width', 'vw')
229
- // 高度
230
- setWH(style, 'height', 'vh')
231
- // 最小宽度
232
- setWH(style, 'minWidth', 'vw')
233
- }
234
-
235
- return style
236
- })
237
-
238
202
  /**
239
203
  * 获取当前组件
240
204
  */
@@ -244,9 +208,9 @@ export default {
244
208
  let comp
245
209
 
246
210
  // 如果是路由路径
247
- if (props.route) {
211
+ if (props.path) {
248
212
  // 获取路由组件
249
- comp = $n_get(routers, `${$n_slash(props.route, 'start', false)}.component`)
213
+ comp = $n_get(routers, `${$n_slash(props.path, 'start', false)}.component`)
250
214
 
251
215
  // 如果有组件标识
252
216
  } else if (props.name && $n_has(components, props.name)) {
@@ -268,6 +232,34 @@ export default {
268
232
  return comp
269
233
  })
270
234
 
235
+ /**
236
+ * 自定义样式
237
+ */
238
+ const customStyle = computed(function () {
239
+
240
+ const style = {}
241
+
242
+ if (
243
+ props.fullscreen
244
+ || $q.platform.is.mobile
245
+ || (props.width === '100%' && props.height === '100%')
246
+ ) {
247
+ style.width = '100vw'
248
+ style.height = '100vh'
249
+ style.borderRadius = 0
250
+
251
+ } else {
252
+ // 宽度
253
+ setWH(style, 'width', 'vw')
254
+ // 高度
255
+ setWH(style, 'height', 'vh')
256
+ // 最小宽度
257
+ setWH(style, 'minWidth', 'vw')
258
+ }
259
+
260
+ return style
261
+ })
262
+
271
263
  /**
272
264
  * 当前标题
273
265
  */
@@ -278,14 +270,24 @@ export default {
278
270
  return props.title
279
271
  }
280
272
 
281
- return props.route ?
282
- // 如果是路由路径, 则获取路由标题
283
- $n_get(routers, `${$n_slash(props.route, 'start', false)}.meta.title`, '')
284
- : ''
273
+ return ''
285
274
  })
286
275
 
287
276
  // ==========【方法】=============================================================================================
288
277
 
278
+ /**
279
+ * 设置宽高
280
+ */
281
+ function setWH(style, field, sign) {
282
+ if (props[field]) {
283
+ if ($n_indexOf(props[field], '%') > -1) {
284
+ style[field] = props[field].replace('%', sign)
285
+ } else {
286
+ style[field] = $n_px(props[field])
287
+ }
288
+ }
289
+ }
290
+
289
291
  /**
290
292
  * 隐藏对话框
291
293
  */
@@ -96,7 +96,7 @@
96
96
  @focus="onFieldBlur"
97
97
  @show="onPopupShow"
98
98
  @before-hide="showPopup = false"
99
- v-if="! readonly"
99
+ v-if="! readonly && ! disable"
100
100
  >
101
101
  <!-- 快捷表格 -->
102
102
  <q-table
@@ -2,6 +2,7 @@
2
2
  <q-field
3
3
  class="n-field-tree"
4
4
  :model-value="showValue"
5
+ :disable="disable"
5
6
  :readonly="readonly"
6
7
  :clearable="clearable"
7
8
  @focus="onFieldFocus"
@@ -37,7 +38,7 @@
37
38
  :key="`item-${index}`"
38
39
  :label="item.label"
39
40
  dense
40
- removable
41
+ :removable="! readonly && ! disable"
41
42
  @remove="onRemoveItem(index)"
42
43
  />
43
44
  </template>
@@ -84,7 +85,7 @@
84
85
  @focus="onFieldFocus"
85
86
  @show="onPopupShow"
86
87
  @before-hide="showPopup = false"
87
- v-if="! readonly"
88
+ v-if="! readonly && ! disable"
88
89
  >
89
90
  <q-card>
90
91
  <!-- 树 -->
@@ -178,6 +179,8 @@ export default {
178
179
  placeholder: String,
179
180
  // 是否可清除
180
181
  clearable: Boolean,
182
+ // 是否禁用
183
+ disable: Boolean,
181
184
  // 是否只读
182
185
  readonly: Boolean,
183
186
  },
@@ -43,7 +43,8 @@
43
43
  'rounded-borders': rounded,
44
44
  'n-img--round': round,
45
45
  }"
46
- v-bind="imageProps"
46
+ :style="imageProps"
47
+ v-bind="$attrs"
47
48
  v-else
48
49
  >
49
50
  <div class="q-img__content absolute-full q-anchor--skip">
@@ -156,14 +157,8 @@ export default {
156
157
  }
157
158
 
158
159
  return {
159
- class: $n_get(attrs, 'class'),
160
- style: [
161
- {
162
- width,
163
- height,
164
- },
165
- $n_get(attrs, 'style'),
166
- ],
160
+ width,
161
+ height,
167
162
  }
168
163
  })
169
164
 
@@ -4,6 +4,7 @@
4
4
  <!-- 上传按钮 -->
5
5
  <slot
6
6
  name="button"
7
+ :disable="disable || readonly"
7
8
  :size="currentSize"
8
9
  v-if="$slots.button"
9
10
  />
@@ -17,6 +18,7 @@
17
18
  @click="uploader.chooseUpload"
18
19
  color="primary"
19
20
  outline
21
+ :disable="disable || readonly"
20
22
  unelevated
21
23
  v-bind="buttonProps"
22
24
  />
@@ -34,7 +36,7 @@
34
36
  <template v-if="type === 'image'">
35
37
 
36
38
  <!-- 左边方块按钮 -->
37
- <template v-if="! rightSquareButton">
39
+ <template v-if="! disable && ! readonly && ! rightSquareButton">
38
40
  <slot
39
41
  name="square-button"
40
42
  :size="currentSize"
@@ -146,14 +148,14 @@
146
148
  size="xs"
147
149
  title="删除"
148
150
  @click="uploader.deleteFileItem(fileItem)"
149
- v-if="! noDelete"
151
+ v-if="! noDelete && ! disable && ! readonly"
150
152
  />
151
153
  </div>
152
154
  </q-img>
153
155
  </div>
154
156
 
155
157
  <!-- 右边方块按钮 -->
156
- <template v-if="rightSquareButton">
158
+ <template v-if="! disable && ! readonly && rightSquareButton">
157
159
  <slot
158
160
  name="square-button"
159
161
  :size="currentSize"
@@ -285,7 +287,7 @@
285
287
  size="xs"
286
288
  title="修改"
287
289
  @click="uploader.previewImage(fileItem)"
288
- v-if="! noEdit"
290
+ v-if="! noEdit && ! disable && ! readonly"
289
291
  >
290
292
  <q-popup-edit
291
293
  :model-value="fileItem.title"
@@ -318,7 +320,7 @@
318
320
  size="xs"
319
321
  title="删除"
320
322
  @click="uploader.deleteFileItem(fileItem)"
321
- v-if="! noDelete"
323
+ v-if="! noDelete && ! disable && ! readonly"
322
324
  />
323
325
  </div>
324
326
  </div>
@@ -383,6 +385,10 @@ export default {
383
385
  type: Boolean,
384
386
  default: true,
385
387
  },
388
+ // 是否禁用
389
+ disable: Boolean,
390
+ // 是否只读
391
+ readonly: Boolean,
386
392
  // 是否隐藏按钮
387
393
  noButton: Boolean,
388
394
  // 是否隐藏预览按钮
@@ -433,6 +439,8 @@ export default {
433
439
  return props.drag
434
440
  && $n_isValidArray(query.value)
435
441
  && query.value.length > 1
442
+ && ! props.readonly
443
+ && ! props.disable
436
444
  })
437
445
 
438
446
  /**
package/docs/404.html CHANGED
@@ -1,33 +1,33 @@
1
- <!DOCTYPE html>
2
- <html lang="en-US">
3
- <head>
4
- <meta charset="utf-8">
5
- <meta name="viewport" content="width=device-width,initial-scale=1">
6
- <meta name="generator" content="VuePress 2.0.0-beta.60">
7
- <style>
8
- :root {
9
- --c-bg: #fff;
10
- }
11
- html.dark {
12
- --c-bg: #22272e;
13
- }
14
- html, body {
15
- background-color: var(--c-bg);
16
- }
17
- </style>
18
- <script>
19
- const userMode = localStorage.getItem('vuepress-color-scheme');
20
- const systemDarkMode = window.matchMedia && window.matchMedia('(prefers-color-scheme: dark)').matches;
21
- if (userMode === 'dark' || (userMode !== 'light' && systemDarkMode)) {
22
- document.documentElement.classList.toggle('dark', true);
23
- }
24
- </script>
25
- <title>netang-quasar</title><meta name="description" content="">
26
- <link rel="preload" href="/netang-quasar/assets/style-ac5a9aa6.css" as="style"><link rel="stylesheet" href="/netang-quasar/assets/style-ac5a9aa6.css">
27
- <link rel="modulepreload" href="/netang-quasar/assets/app-8c3ae4de.js"><link rel="modulepreload" href="/netang-quasar/assets/framework-204010b2.js"><link rel="modulepreload" href="/netang-quasar/assets/404.html-60b35caa.js"><link rel="modulepreload" href="/netang-quasar/assets/404.html-d1e63d77.js"><link rel="prefetch" href="/netang-quasar/assets/index.html-65a4aa67.js" as="script"><link rel="prefetch" href="/netang-quasar/assets/field-table.html-86cc3511.js" as="script"><link rel="prefetch" href="/netang-quasar/assets/field-tree.html-c98ac993.js" as="script"><link rel="prefetch" href="/netang-quasar/assets/alert.html-568d4e94.js" as="script"><link rel="prefetch" href="/netang-quasar/assets/confirm.html-96f1b004.js" as="script"><link rel="prefetch" href="/netang-quasar/assets/index.html-1695dd7c.js" as="script"><link rel="prefetch" href="/netang-quasar/assets/field-table.html-68d610b0.js" as="script"><link rel="prefetch" href="/netang-quasar/assets/field-tree.html-45410c3c.js" as="script"><link rel="prefetch" href="/netang-quasar/assets/alert.html-f5dbc3e9.js" as="script"><link rel="prefetch" href="/netang-quasar/assets/confirm.html-7a1566f6.js" as="script">
28
- </head>
29
- <body>
30
- <div id="app"><!--[--><div class="theme-container"><main class="page"><div class="theme-default-content"><h1>404</h1><blockquote>That&#39;s a Four-Oh-Four.</blockquote><a href="/netang-quasar/" class="">Take me home</a></div></main></div><!----><!--]--></div>
31
- <script type="module" src="/netang-quasar/assets/app-8c3ae4de.js" defer></script>
32
- </body>
33
- </html>
1
+ <!DOCTYPE html>
2
+ <html lang="en-US">
3
+ <head>
4
+ <meta charset="utf-8">
5
+ <meta name="viewport" content="width=device-width,initial-scale=1">
6
+ <meta name="generator" content="VuePress 2.0.0-beta.60">
7
+ <style>
8
+ :root {
9
+ --c-bg: #fff;
10
+ }
11
+ html.dark {
12
+ --c-bg: #22272e;
13
+ }
14
+ html, body {
15
+ background-color: var(--c-bg);
16
+ }
17
+ </style>
18
+ <script>
19
+ const userMode = localStorage.getItem('vuepress-color-scheme');
20
+ const systemDarkMode = window.matchMedia && window.matchMedia('(prefers-color-scheme: dark)').matches;
21
+ if (userMode === 'dark' || (userMode !== 'light' && systemDarkMode)) {
22
+ document.documentElement.classList.toggle('dark', true);
23
+ }
24
+ </script>
25
+ <title>netang-quasar</title><meta name="description" content="">
26
+ <link rel="preload" href="/netang-quasar/assets/style-ac5a9aa6.css" as="style"><link rel="stylesheet" href="/netang-quasar/assets/style-ac5a9aa6.css">
27
+ <link rel="modulepreload" href="/netang-quasar/assets/app-8c3ae4de.js"><link rel="modulepreload" href="/netang-quasar/assets/framework-204010b2.js"><link rel="modulepreload" href="/netang-quasar/assets/404.html-60b35caa.js"><link rel="modulepreload" href="/netang-quasar/assets/404.html-d1e63d77.js"><link rel="prefetch" href="/netang-quasar/assets/index.html-65a4aa67.js" as="script"><link rel="prefetch" href="/netang-quasar/assets/field-table.html-86cc3511.js" as="script"><link rel="prefetch" href="/netang-quasar/assets/field-tree.html-c98ac993.js" as="script"><link rel="prefetch" href="/netang-quasar/assets/alert.html-568d4e94.js" as="script"><link rel="prefetch" href="/netang-quasar/assets/confirm.html-96f1b004.js" as="script"><link rel="prefetch" href="/netang-quasar/assets/index.html-1695dd7c.js" as="script"><link rel="prefetch" href="/netang-quasar/assets/field-table.html-68d610b0.js" as="script"><link rel="prefetch" href="/netang-quasar/assets/field-tree.html-45410c3c.js" as="script"><link rel="prefetch" href="/netang-quasar/assets/alert.html-f5dbc3e9.js" as="script"><link rel="prefetch" href="/netang-quasar/assets/confirm.html-7a1566f6.js" as="script">
28
+ </head>
29
+ <body>
30
+ <div id="app"><!--[--><div class="theme-container"><main class="page"><div class="theme-default-content"><h1>404</h1><blockquote>That&#39;s a Four-Oh-Four.</blockquote><a href="/netang-quasar/" class="">Take me home</a></div></main></div><!----><!--]--></div>
31
+ <script type="module" src="/netang-quasar/assets/app-8c3ae4de.js" defer></script>
32
+ </body>
33
+ </html>
@@ -1 +1 @@
1
- const t=JSON.parse('{"key":"v-3706649a","path":"/404.html","title":"","lang":"en-US","frontmatter":{"layout":"NotFound"},"headers":[],"git":{},"filePathRelative":null}');export{t as data};
1
+ const t=JSON.parse('{"key":"v-3706649a","path":"/404.html","title":"","lang":"en-US","frontmatter":{"layout":"NotFound"},"headers":[],"git":{},"filePathRelative":null}');export{t as data};
@@ -1 +1 @@
1
- import{_ as e,p as t,q as _}from"./framework-204010b2.js";const c={};function r(n,o){return t(),_("div")}const a=e(c,[["render",r],["__file","404.html.vue"]]);export{a as default};
1
+ import{_ as e,p as t,q as _}from"./framework-204010b2.js";const c={};function r(n,o){return t(),_("div")}const a=e(c,[["render",r],["__file","404.html.vue"]]);export{a as default};
@@ -1 +1 @@
1
- const t=JSON.parse('{"key":"v-7b1a2a14","path":"/utils/alert.html","title":"alert","lang":"en-US","frontmatter":{},"headers":[],"git":{"updatedTime":1675652908000,"contributors":[{"name":"junmiao","email":"mj287@163.com","commits":1}]},"filePathRelative":"utils/alert.md"}');export{t as data};
1
+ const t=JSON.parse('{"key":"v-7b1a2a14","path":"/utils/alert.html","title":"alert","lang":"en-US","frontmatter":{},"headers":[],"git":{"updatedTime":1675652908000,"contributors":[{"name":"junmiao","email":"mj287@163.com","commits":1}]},"filePathRelative":"utils/alert.md"}');export{t as data};
@@ -1 +1 @@
1
- import{_ as t,p as a,q as r,R as e,t as c}from"./framework-204010b2.js";const s={},o=e("h1",{id:"alert",tabindex:"-1"},[e("a",{class:"header-anchor",href:"#alert","aria-hidden":"true"},"#"),c(" alert")],-1),n=[o];function _(l,d){return a(),r("div",null,n)}const h=t(s,[["render",_],["__file","alert.html.vue"]]);export{h as default};
1
+ import{_ as t,p as a,q as r,R as e,t as c}from"./framework-204010b2.js";const s={},o=e("h1",{id:"alert",tabindex:"-1"},[e("a",{class:"header-anchor",href:"#alert","aria-hidden":"true"},"#"),c(" alert")],-1),n=[o];function _(l,d){return a(),r("div",null,n)}const h=t(s,[["render",_],["__file","alert.html.vue"]]);export{h as default};