@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.
- package/_docs/docs/components/field-table.md +57 -57
- package/components/dialog/index.vue +49 -47
- package/components/field-table/index.vue +1 -1
- package/components/field-tree/index.vue +5 -2
- package/components/img/index.vue +4 -9
- package/components/uploader-query/index.vue +13 -5
- package/docs/404.html +33 -33
- package/docs/assets/404.html-60b35caa.js +1 -1
- package/docs/assets/404.html-d1e63d77.js +1 -1
- package/docs/assets/alert.html-568d4e94.js +1 -1
- package/docs/assets/alert.html-f5dbc3e9.js +1 -1
- package/docs/assets/app-8c3ae4de.js +6 -6
- package/docs/assets/confirm.html-7a1566f6.js +1 -1
- package/docs/assets/confirm.html-96f1b004.js +1 -1
- package/docs/assets/field-table.html-68d610b0.js +1 -1
- package/docs/assets/field-table.html-86cc3511.js +1 -1
- package/docs/assets/field-tree.html-45410c3c.js +1 -1
- package/docs/assets/field-tree.html-c98ac993.js +1 -1
- package/docs/assets/framework-204010b2.js +5 -5
- package/docs/assets/index.html-1695dd7c.js +1 -1
- package/docs/assets/index.html-65a4aa67.js +1 -1
- package/docs/assets/style-ac5a9aa6.css +1 -1
- package/docs/components/field-table.html +33 -33
- package/docs/components/field-tree.html +33 -33
- package/docs/index.html +33 -33
- package/docs/utils/alert.html +33 -33
- package/docs/utils/confirm.html +33 -33
- package/package.json +1 -2
- package/sass/common.scss +1 -2
- package/sass/variables.scss +138 -138
- package/utils/$power.js +22 -2
- package/utils/$table.js +4 -6
- package/utils/copy.js +11 -2
- 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
|
-
|
|
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.
|
|
211
|
+
if (props.path) {
|
|
248
212
|
// 获取路由组件
|
|
249
|
-
comp = $n_get(routers, `${$n_slash(props.
|
|
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
|
|
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
|
*/
|
|
@@ -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
|
},
|
package/components/img/index.vue
CHANGED
|
@@ -43,7 +43,8 @@
|
|
|
43
43
|
'rounded-borders': rounded,
|
|
44
44
|
'n-img--round': round,
|
|
45
45
|
}"
|
|
46
|
-
|
|
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
|
-
|
|
160
|
-
|
|
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'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'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};
|