@vtj/uni 0.10.0
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/LICENSE +21 -0
- package/dist/index.mjs +496 -0
- package/dist/index.umd.js +7 -0
- package/dist/style.css +1 -0
- package/package.json +51 -0
- package/types/compilerVersion.d.ts +1 -0
- package/types/constants.d.ts +2 -0
- package/types/defaults/index.d.ts +3 -0
- package/types/defaults/manifest.json.d.ts +75 -0
- package/types/defaults/pages.json.d.ts +12 -0
- package/types/index.d.ts +8 -0
- package/types/injects/config.d.ts +2 -0
- package/types/injects/css.d.ts +1 -0
- package/types/injects/features.d.ts +2 -0
- package/types/injects/global.d.ts +1 -0
- package/types/injects/index.d.ts +5 -0
- package/types/injects/routes.d.ts +2 -0
- package/types/setup/app.d.ts +6 -0
- package/types/setup/index.d.ts +2 -0
- package/types/setup/plugin.d.ts +2 -0
- package/types/shared.d.ts +8 -0
- package/types/types.d.ts +166 -0
- package/types/utils.d.ts +7 -0
- package/types/version.d.ts +8 -0
package/LICENSE
ADDED
@@ -0,0 +1,21 @@
|
|
1
|
+
MIT License
|
2
|
+
|
3
|
+
Copyright (c) 2023 陈华春
|
4
|
+
|
5
|
+
Permission is hereby granted, free of charge, to any person obtaining a copy
|
6
|
+
of this software and associated documentation files (the "Software"), to deal
|
7
|
+
in the Software without restriction, including without limitation the rights
|
8
|
+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
9
|
+
copies of the Software, and to permit persons to whom the Software is
|
10
|
+
furnished to do so, subject to the following conditions:
|
11
|
+
|
12
|
+
The above copyright notice and this permission notice shall be included in all
|
13
|
+
copies or substantial portions of the Software.
|
14
|
+
|
15
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
16
|
+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
17
|
+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
18
|
+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
19
|
+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
20
|
+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
21
|
+
SOFTWARE.
|
package/dist/index.mjs
ADDED
@@ -0,0 +1,496 @@
|
|
1
|
+
import { adoptedStyleSheets as m } from "@vtj/renderer";
|
2
|
+
/**!
|
3
|
+
* Copyright (c) 2025, VTJ.PRO All rights reserved.
|
4
|
+
* @name @vtj/uni
|
5
|
+
* @author CHC chenhuachun1549@dingtalk.com
|
6
|
+
* @version 0.10.0
|
7
|
+
* @license <a href="https://vtj.pro/license.html">MIT License</a>
|
8
|
+
*/
|
9
|
+
const Y = "0.10.0", E = [
|
10
|
+
"onLaunch",
|
11
|
+
"onShow",
|
12
|
+
"onHide",
|
13
|
+
"onError",
|
14
|
+
"onPageNotFound",
|
15
|
+
"onUnhandledRejection",
|
16
|
+
"onThemeChange",
|
17
|
+
"onPageNotFound",
|
18
|
+
"onUniNViewMessage",
|
19
|
+
"onExit"
|
20
|
+
], z = [
|
21
|
+
"onLoad",
|
22
|
+
"onShow",
|
23
|
+
"onReady",
|
24
|
+
"onHide",
|
25
|
+
"onUnload",
|
26
|
+
"onResize",
|
27
|
+
"onPullDownRefresh",
|
28
|
+
"onReachBottom",
|
29
|
+
"onTabItemTap",
|
30
|
+
"onShareAppMessage",
|
31
|
+
"onPageScroll",
|
32
|
+
"onNavigationBarButtonTap",
|
33
|
+
"onBackPress",
|
34
|
+
"onNavigationBarSearchInputChanged",
|
35
|
+
"onNavigationBarSearchInputConfirmed",
|
36
|
+
"onNavigationBarSearchInputClicked",
|
37
|
+
"onShareTimeline",
|
38
|
+
"onAddToFavorites",
|
39
|
+
"beforeCreate",
|
40
|
+
"created",
|
41
|
+
"beforeMount",
|
42
|
+
"mounted",
|
43
|
+
"beforeUpdate",
|
44
|
+
"updated",
|
45
|
+
"beforeUnmount",
|
46
|
+
"unmounted"
|
47
|
+
], T = "VTJ", N = "__UNI__1FC118B", S = "VTJ移动跨端项目", A = "1.0.0", I = "100", h = !1, U = {}, w = { enable: !1 }, R = "3", B = {
|
48
|
+
name: T,
|
49
|
+
appid: N,
|
50
|
+
description: S,
|
51
|
+
versionName: A,
|
52
|
+
versionCode: I,
|
53
|
+
transformPx: h,
|
54
|
+
"app-plus": { usingComponents: !0, nvueStyleCompiler: "uni-app", compilerVersion: 3, splashscreen: { alwaysShowBeforeRender: !0, waiting: !0, autoclose: !0, delay: 0 }, modules: {}, distribute: { android: { permissions: ['<uses-permission android:name="android.permission.CHANGE_NETWORK_STATE"/>', '<uses-permission android:name="android.permission.MOUNT_UNMOUNT_FILESYSTEMS"/>', '<uses-permission android:name="android.permission.VIBRATE"/>', '<uses-permission android:name="android.permission.READ_LOGS"/>', '<uses-permission android:name="android.permission.ACCESS_WIFI_STATE"/>', '<uses-feature android:name="android.hardware.camera.autofocus"/>', '<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>', '<uses-permission android:name="android.permission.CAMERA"/>', '<uses-permission android:name="android.permission.GET_ACCOUNTS"/>', '<uses-permission android:name="android.permission.READ_PHONE_STATE"/>', '<uses-permission android:name="android.permission.CHANGE_WIFI_STATE"/>', '<uses-permission android:name="android.permission.WAKE_LOCK"/>', '<uses-permission android:name="android.permission.FLASHLIGHT"/>', '<uses-feature android:name="android.hardware.camera"/>', '<uses-permission android:name="android.permission.WRITE_SETTINGS"/>'] }, ios: {}, sdkConfigs: {}, icons: { android: { hdpi: "src/static/logo.png", xhdpi: "src/static/logo.png", xxhdpi: "src/static/logo.png", xxxhdpi: "src/static/logo.png" } } } },
|
55
|
+
quickapp: U,
|
56
|
+
"mp-weixin": { appid: "", setting: { urlCheck: !1 }, usingComponents: !0 },
|
57
|
+
"mp-alipay": { usingComponents: !0 },
|
58
|
+
"mp-baidu": { usingComponents: !0 },
|
59
|
+
"mp-toutiao": { usingComponents: !0 },
|
60
|
+
uniStatistics: w,
|
61
|
+
vueVersion: R
|
62
|
+
}, C = [], y = { navigationBarTextStyle: "black", navigationBarTitleText: "uni-app", navigationBarBackgroundColor: "#F8F8F8", backgroundColor: "#F8F8F8" }, b = {
|
63
|
+
pages: C,
|
64
|
+
globalStyle: y
|
65
|
+
};
|
66
|
+
function X(e) {
|
67
|
+
const [t, ...n] = e;
|
68
|
+
return [t.toLowerCase(), ...n].join("").replace(/[A-Z]/g, (o) => `-${o.toLowerCase()}`);
|
69
|
+
}
|
70
|
+
function v(e) {
|
71
|
+
let { manifestJson: t = {}, pagesJson: n = {}, routes: i = [] } = e;
|
72
|
+
const o = i.map((s) => {
|
73
|
+
const { path: a, style: r, needLogin: c } = s;
|
74
|
+
return {
|
75
|
+
path: a,
|
76
|
+
style: r,
|
77
|
+
needLogin: c
|
78
|
+
};
|
79
|
+
});
|
80
|
+
return {
|
81
|
+
...e,
|
82
|
+
manifestJson: Object.assign({}, B, t),
|
83
|
+
pagesJson: Object.assign({}, b, n, { pages: o })
|
84
|
+
};
|
85
|
+
}
|
86
|
+
const g = {
|
87
|
+
navigationBarBackgroundColor: "backgroundColor",
|
88
|
+
navigationBarTextStyle: "titleColor",
|
89
|
+
navigationBarTitleText: "titleText",
|
90
|
+
navigationStyle: "style",
|
91
|
+
titleImage: "titleImage",
|
92
|
+
titlePenetrate: "titlePenetrate",
|
93
|
+
transparentTitle: "transparentTitle"
|
94
|
+
};
|
95
|
+
function f(e) {
|
96
|
+
const t = {}, n = {
|
97
|
+
black: "#000000",
|
98
|
+
white: "#ffffff"
|
99
|
+
};
|
100
|
+
for (const i in e)
|
101
|
+
g[i] && (t[g[i]] = i === "navigationBarTextStyle" ? n[e[i]] || n.black : e[i]);
|
102
|
+
return t;
|
103
|
+
}
|
104
|
+
function F(e) {
|
105
|
+
const t = {};
|
106
|
+
for (const n in e)
|
107
|
+
g[n] || (t[n] = e[n]);
|
108
|
+
return t;
|
109
|
+
}
|
110
|
+
function Z(e) {
|
111
|
+
return e.split("?")[0].match(/\#\/pages\/([\w\W]*)/i)?.[1] ?? "";
|
112
|
+
}
|
113
|
+
function P(e) {
|
114
|
+
return e.h5?.router?.mode || "hash";
|
115
|
+
}
|
116
|
+
function O(e) {
|
117
|
+
return {
|
118
|
+
topWindow: !!e.topWindow?.path,
|
119
|
+
leftWindow: !!e.leftWindow?.path,
|
120
|
+
rightWindow: !!e.rightWindow?.path
|
121
|
+
};
|
122
|
+
}
|
123
|
+
function V(e) {
|
124
|
+
const { pagesJson: t = {} } = e, { globalStyle: n, pages: i = [] } = t;
|
125
|
+
return !!(n?.enablePullDownRefresh || i.find((o) => !!o.style?.enablePullDownRefresh));
|
126
|
+
}
|
127
|
+
function x(e) {
|
128
|
+
const { pagesJson: t = {} } = e, { globalStyle: n, pages: i = [] } = t;
|
129
|
+
let o = !1;
|
130
|
+
return n?.navigationStyle === "custom" ? (o = !0, i.find((s) => s.style?.navigationStyle === "default") && (o = !1)) : i.every((s) => s.style?.navigationStyle === "custom") && (o = !0), o;
|
131
|
+
}
|
132
|
+
function L(e) {
|
133
|
+
const t = x(e), n = {
|
134
|
+
navigationBar: !1,
|
135
|
+
navigationBarButtons: !1,
|
136
|
+
navigationBarSearchInput: !1,
|
137
|
+
navigationBarTransparent: !1
|
138
|
+
}, { pagesJson: i = {} } = e, { globalStyle: o, pages: s = [] } = i;
|
139
|
+
if (t)
|
140
|
+
return n;
|
141
|
+
n.navigationBar = !0;
|
142
|
+
const a = o?.h5?.titleNView;
|
143
|
+
return s.find((r) => !!r.style?.h5?.titleNView?.buttons.length) && (n.navigationBarButtons = !0), (a?.searchInput || s.find((r) => !!r.style?.h5?.titleNView?.searchInput)) && (n.navigationBarSearchInput = !0), (a?.type === "transparent" || s.find((r) => r.style?.h5?.titleNView?.type === "transparent")) && (n.navigationBarTransparent = !0), n;
|
144
|
+
}
|
145
|
+
function k(e, t = window) {
|
146
|
+
const { pagesJson: n = {}, manifestJson: i = {} } = e, { topWindow: o, leftWindow: s, rightWindow: a } = O(n), {
|
147
|
+
navigationBar: r,
|
148
|
+
navigationBarButtons: c,
|
149
|
+
navigationBarSearchInput: _,
|
150
|
+
navigationBarTransparent: u
|
151
|
+
} = L(e), d = {
|
152
|
+
// vue
|
153
|
+
__VUE_OPTIONS_API__: !0,
|
154
|
+
// enable/disable Options API support, default: true
|
155
|
+
__VUE_PROD_DEVTOOLS__: !1,
|
156
|
+
// enable/disable devtools support in production, default: false
|
157
|
+
__VUE_PROD_HYDRATION_MISMATCH_DETAILS__: !1,
|
158
|
+
// uni
|
159
|
+
__UNI_FEATURE_WX__: !1,
|
160
|
+
// 是否启用小程序的组件实例 API,如:selectComponent 等(uni-core/src/service/plugin/appConfig)
|
161
|
+
__UNI_FEATURE_WXS__: !1,
|
162
|
+
// 是否启用 wxs 支持,如:getComponentDescriptor 等(uni-core/src/view/plugin/appConfig)
|
163
|
+
__UNI_FEATURE_RPX__: !1,
|
164
|
+
// 是否启用运行时 rpx 支持
|
165
|
+
__UNI_FEATURE_PROMISE__: !1,
|
166
|
+
// 是否启用旧版本的 promise 支持(即返回[err,res]的格式),默认返回标准
|
167
|
+
__UNI_FEATURE_LONGPRESS__: !1,
|
168
|
+
// 是否启用longpress
|
169
|
+
__UNI_FEATURE_I18N_EN__: !1,
|
170
|
+
// 是否启用en
|
171
|
+
__UNI_FEATURE_I18N_ES__: !1,
|
172
|
+
// 是否启用es
|
173
|
+
__UNI_FEATURE_I18N_FR__: !1,
|
174
|
+
// 是否启用fr
|
175
|
+
__UNI_FEATURE_I18N_ZH_HANS__: !0,
|
176
|
+
// 是否启用zh_Hans
|
177
|
+
__UNI_FEATURE_I18N_ZH_HANT__: !1,
|
178
|
+
// 是否启用zh_Hant
|
179
|
+
// 以下特性,编译器已自动识别是否需要启用
|
180
|
+
__UNI_FEATURE_UNI_CLOUD__: !1,
|
181
|
+
// 是否启用uniCloud
|
182
|
+
__UNI_FEATURE_I18N_LOCALE__: !1,
|
183
|
+
// 是否启用i18n
|
184
|
+
__UNI_FEATURE_NVUE__: !1,
|
185
|
+
// 是否启用nvue
|
186
|
+
__UNI_FEATURE_ROUTER_MODE__: P(i),
|
187
|
+
// 路由模式
|
188
|
+
__UNI_FEATURE_PAGES__: !!n.pages?.length,
|
189
|
+
// 是否多页面
|
190
|
+
__UNI_FEATURE_TABBAR__: !!n.tabBar?.list?.length,
|
191
|
+
// 是否包含tabBar
|
192
|
+
__UNI_FEATURE_TABBAR_MIDBUTTON__: !!n.tabBar?.midButton,
|
193
|
+
// 是否包含midButton
|
194
|
+
__UNI_FEATURE_TOPWINDOW__: o,
|
195
|
+
// 是否包含topWindow
|
196
|
+
__UNI_FEATURE_LEFTWINDOW__: s,
|
197
|
+
// 是否包含leftWindow
|
198
|
+
__UNI_FEATURE_RIGHTWINDOW__: a,
|
199
|
+
// 是否包含rightWindow
|
200
|
+
__UNI_FEATURE_RESPONSIVE__: !1,
|
201
|
+
// 是否启用响应式
|
202
|
+
__UNI_FEATURE_NAVIGATIONBAR__: r,
|
203
|
+
// 是否启用标题栏
|
204
|
+
__UNI_FEATURE_PULL_DOWN_REFRESH__: V(e),
|
205
|
+
// 是否启用下拉刷新
|
206
|
+
__UNI_FEATURE_NAVIGATIONBAR_BUTTONS__: c,
|
207
|
+
// 是否启用标题栏按钮
|
208
|
+
__UNI_FEATURE_NAVIGATIONBAR_SEARCHINPUT__: _,
|
209
|
+
// 是否启用标题栏搜索框
|
210
|
+
__UNI_FEATURE_NAVIGATIONBAR_TRANSPARENT__: u
|
211
|
+
// 是否启用透明标题栏
|
212
|
+
};
|
213
|
+
Object.entries(d).forEach(([p, l]) => {
|
214
|
+
t[p] = l;
|
215
|
+
});
|
216
|
+
}
|
217
|
+
const W = "4.45";
|
218
|
+
function M(e, t = window) {
|
219
|
+
const { pagesJson: n = {}, manifestJson: i = {} } = e, { easycom: o = {} } = n, {
|
220
|
+
appid: s = "",
|
221
|
+
name: a = "",
|
222
|
+
versionCode: r = "",
|
223
|
+
versionName: c = ""
|
224
|
+
} = i, _ = n.globalStyle, u = i.h5?.router || {};
|
225
|
+
t.__uniConfig = {
|
226
|
+
easycom: o,
|
227
|
+
globalStyle: {
|
228
|
+
...F(_),
|
229
|
+
navigationBar: f(_),
|
230
|
+
isNVue: !1
|
231
|
+
},
|
232
|
+
compilerVersion: W,
|
233
|
+
appId: s,
|
234
|
+
appName: a,
|
235
|
+
appVersion: c,
|
236
|
+
appVersionCode: String(r),
|
237
|
+
async: {
|
238
|
+
loading: "AsyncLoading",
|
239
|
+
error: "AsyncError",
|
240
|
+
delay: 200,
|
241
|
+
timeout: 6e4,
|
242
|
+
suspensible: !0,
|
243
|
+
...i.h5?.async || {}
|
244
|
+
},
|
245
|
+
debug: !1,
|
246
|
+
networkTimeout: {
|
247
|
+
request: 6e4,
|
248
|
+
connectSocket: 6e4,
|
249
|
+
uploadFile: 6e4,
|
250
|
+
downloadFile: 6e4,
|
251
|
+
...i.networkTimeout || {}
|
252
|
+
},
|
253
|
+
sdkConfigs: {},
|
254
|
+
nvue: {
|
255
|
+
"flex-direction": "column"
|
256
|
+
},
|
257
|
+
locale: "",
|
258
|
+
fallbackLocale: "",
|
259
|
+
locales: {},
|
260
|
+
router: {
|
261
|
+
mode: "hash",
|
262
|
+
base: "/",
|
263
|
+
assets: "assets",
|
264
|
+
routerBase: u.base || "/",
|
265
|
+
...u
|
266
|
+
},
|
267
|
+
darkmode: !1,
|
268
|
+
themeConfig: {},
|
269
|
+
tabBar: n.tabBar ? {
|
270
|
+
position: "bottom",
|
271
|
+
color: "#7A7E83",
|
272
|
+
selectedColor: "#3cc51f",
|
273
|
+
borderStyle: "black",
|
274
|
+
blurEffect: "none",
|
275
|
+
fontSize: "10px",
|
276
|
+
iconWidth: "24px",
|
277
|
+
spacing: "3px",
|
278
|
+
height: "50px",
|
279
|
+
backgroundColor: "#ffffff",
|
280
|
+
selectedIndex: 0,
|
281
|
+
shown: !0,
|
282
|
+
...n.tabBar
|
283
|
+
} : void 0
|
284
|
+
// tabBar: pagesJson.tabBar
|
285
|
+
};
|
286
|
+
}
|
287
|
+
function D(e, t = window) {
|
288
|
+
const {
|
289
|
+
UniServiceJSBridge: n,
|
290
|
+
UniViewJSBridge: i,
|
291
|
+
getApp: o,
|
292
|
+
uni: s,
|
293
|
+
getCurrentPages: a,
|
294
|
+
upx2px: r,
|
295
|
+
setupPage: c
|
296
|
+
} = e;
|
297
|
+
t.UniServiceJSBridge = n, t.UniViewJSBridge = i, t.getApp = o, t.uni = s, t.wx = s, t.getCurrentPages = a, t.upx2px = r, t.__setupPage = (_) => c(_);
|
298
|
+
}
|
299
|
+
function G(e, t, n) {
|
300
|
+
const { defineAsyncComponent: i, openBlock: o, createBlock: s, withCtx: a, createVNode: r } = e, { PageComponent: c, setupPage: _, getApp: u } = t;
|
301
|
+
return {
|
302
|
+
mpType: "page",
|
303
|
+
setup() {
|
304
|
+
const p = u()?.$route?.query || {}, l = typeof n == "function" ? i(n) : n;
|
305
|
+
return () => (o(), s(c, null, {
|
306
|
+
page: a(() => [
|
307
|
+
r(
|
308
|
+
_(l),
|
309
|
+
Object.assign({}, p, { ref: "page" }),
|
310
|
+
null,
|
311
|
+
512
|
312
|
+
)
|
313
|
+
]),
|
314
|
+
_: 1
|
315
|
+
}));
|
316
|
+
}
|
317
|
+
};
|
318
|
+
}
|
319
|
+
function J(e, t, n) {
|
320
|
+
const { path: i, style: o = {}, meta: s = {}, home: a } = t, c = (e.tabBar?.list || []).findIndex((d) => d.pagePath === i), _ = c > -1, u = n === 0;
|
321
|
+
return {
|
322
|
+
isTabBar: _,
|
323
|
+
tabBarIndex: c,
|
324
|
+
isQuit: a ?? u,
|
325
|
+
isEntry: a ?? u,
|
326
|
+
navigationBar: {
|
327
|
+
type: "default",
|
328
|
+
...f(o)
|
329
|
+
},
|
330
|
+
isNVue: !1,
|
331
|
+
route: i,
|
332
|
+
...s
|
333
|
+
};
|
334
|
+
}
|
335
|
+
function H(e, t, n, i, o = window) {
|
336
|
+
const s = n.map((a, r) => {
|
337
|
+
const c = J(i, a, r), _ = G(e, t, a.component), { path: u } = a;
|
338
|
+
return {
|
339
|
+
path: u,
|
340
|
+
alias: u,
|
341
|
+
meta: c,
|
342
|
+
component: _
|
343
|
+
};
|
344
|
+
});
|
345
|
+
o.__uniRoutes = s, o.__uniLayout = {};
|
346
|
+
}
|
347
|
+
function j(e, t, n = window) {
|
348
|
+
m(n, String(e), t);
|
349
|
+
}
|
350
|
+
function K(e, t) {
|
351
|
+
if (!t) return;
|
352
|
+
[
|
353
|
+
"View",
|
354
|
+
"ScrollView",
|
355
|
+
"Swiper",
|
356
|
+
"MovableArea",
|
357
|
+
"MovableView",
|
358
|
+
"CoverView",
|
359
|
+
"CoverImage",
|
360
|
+
"Icon",
|
361
|
+
"Text",
|
362
|
+
"RichText",
|
363
|
+
"Progress",
|
364
|
+
"Button",
|
365
|
+
"CheckboxGroup",
|
366
|
+
"Checkbox",
|
367
|
+
"Editor",
|
368
|
+
"Form",
|
369
|
+
"Input",
|
370
|
+
"Label",
|
371
|
+
"Picker",
|
372
|
+
"PickerView",
|
373
|
+
"RadioGroup",
|
374
|
+
"Radio",
|
375
|
+
"Slider",
|
376
|
+
"Switch",
|
377
|
+
"Textarea",
|
378
|
+
"Navigator",
|
379
|
+
"Image",
|
380
|
+
"Video",
|
381
|
+
"Map",
|
382
|
+
"Canvas",
|
383
|
+
"WebView",
|
384
|
+
"PickerViewColumn",
|
385
|
+
"ResizeSensor",
|
386
|
+
"SwiperItem"
|
387
|
+
].forEach((i) => {
|
388
|
+
const o = t[i];
|
389
|
+
e.component(i, o);
|
390
|
+
});
|
391
|
+
}
|
392
|
+
function Q(e) {
|
393
|
+
const t = v(e), {
|
394
|
+
Vue: n,
|
395
|
+
App: i,
|
396
|
+
UniH5: o,
|
397
|
+
routes: s = [],
|
398
|
+
pagesJson: a = {},
|
399
|
+
manifestJson: r = {},
|
400
|
+
window: c,
|
401
|
+
css: _
|
402
|
+
} = t, { plugin: u, setupApp: d } = o;
|
403
|
+
k(t, c), M(t, c), D(o, c), H(n, o, s, a, c), _ && j(r.appid || Date.now(), _, c);
|
404
|
+
const p = n.createApp(d(i));
|
405
|
+
return p.use(K, o), p.use(u), p;
|
406
|
+
}
|
407
|
+
function ee(e, t) {
|
408
|
+
const n = {};
|
409
|
+
return Object.entries(e).forEach(([i, o]) => {
|
410
|
+
E.includes(i) && o && (n[i] = t(o));
|
411
|
+
}), n;
|
412
|
+
}
|
413
|
+
async function ne(e, t, n = !1) {
|
414
|
+
const i = e.project?.pages || [], o = [];
|
415
|
+
for (const a of i) {
|
416
|
+
const r = await e.getDsl(a.id);
|
417
|
+
if (!r) continue;
|
418
|
+
const { renderer: c } = t({ dsl: r, components: {} }), _ = e.project?.homepage === a.id;
|
419
|
+
o.push({
|
420
|
+
id: a.id,
|
421
|
+
path: `/pages/${a.id}`,
|
422
|
+
component: c,
|
423
|
+
style: {
|
424
|
+
navigationBarTitleText: a.title,
|
425
|
+
...a.style
|
426
|
+
},
|
427
|
+
needLogin: a.needLogin,
|
428
|
+
home: _
|
429
|
+
});
|
430
|
+
}
|
431
|
+
const s = o.find((a) => !!a.home) || o[0];
|
432
|
+
if (s && o.unshift({
|
433
|
+
...s,
|
434
|
+
path: "/"
|
435
|
+
}), n) {
|
436
|
+
const a = e.project?.blocks || [];
|
437
|
+
for (const r of a) {
|
438
|
+
const c = await e.getDsl(r.id);
|
439
|
+
if (!c) continue;
|
440
|
+
const { renderer: _ } = t({ dsl: c, components: {} });
|
441
|
+
o.push({
|
442
|
+
id: r.id,
|
443
|
+
path: `/pages/${r.id}`,
|
444
|
+
component: _,
|
445
|
+
style: {
|
446
|
+
navigationStyle: "custom"
|
447
|
+
}
|
448
|
+
});
|
449
|
+
}
|
450
|
+
}
|
451
|
+
return o;
|
452
|
+
}
|
453
|
+
function te() {
|
454
|
+
if (window.uni)
|
455
|
+
return window.uni.showLoading({
|
456
|
+
title: "加载中...",
|
457
|
+
mask: !0
|
458
|
+
}), () => {
|
459
|
+
window.uni.hideLoading();
|
460
|
+
};
|
461
|
+
}
|
462
|
+
function $(e, t = "", n = "warning") {
|
463
|
+
window.uni && window.uni.showModal({
|
464
|
+
title: t,
|
465
|
+
content: e,
|
466
|
+
showCancel: !1
|
467
|
+
});
|
468
|
+
}
|
469
|
+
function oe(e) {
|
470
|
+
$(e);
|
471
|
+
}
|
472
|
+
export {
|
473
|
+
E as APP_LIFE_CYCLE,
|
474
|
+
B as MANIFEST_JSON,
|
475
|
+
b as PAGES_JSON,
|
476
|
+
z as PAGE_LIFE_CYCLES_LIST,
|
477
|
+
oe as alert,
|
478
|
+
ee as createUniAppComponent,
|
479
|
+
ne as createUniRoutes,
|
480
|
+
Z as getFileId,
|
481
|
+
F as getGobalStyle,
|
482
|
+
f as getNavigationBar,
|
483
|
+
j as injectUniCSS,
|
484
|
+
M as injectUniConfig,
|
485
|
+
k as injectUniFeatures,
|
486
|
+
D as injectUniGlobal,
|
487
|
+
H as injectUniRoutes,
|
488
|
+
K as install,
|
489
|
+
te as loading,
|
490
|
+
v as mergeOptions,
|
491
|
+
g as navigationBarMaps,
|
492
|
+
$ as notify,
|
493
|
+
Q as setupUniApp,
|
494
|
+
X as toKebabCase,
|
495
|
+
Y as version
|
496
|
+
};
|
@@ -0,0 +1,7 @@
|
|
1
|
+
(function(u,f){typeof exports=="object"&&typeof module<"u"?f(exports,require("@vtj/renderer")):typeof define=="function"&&define.amd?define(["exports","@vtj/renderer"],f):(u=typeof globalThis<"u"?globalThis:u||self,f(u.VtjUni={},u.renderer))})(this,function(u,f){"use strict";/**!
|
2
|
+
* Copyright (c) 2025, VTJ.PRO All rights reserved.
|
3
|
+
* @name @vtj/uni
|
4
|
+
* @author CHC chenhuachun1549@dingtalk.com
|
5
|
+
* @version 0.10.0
|
6
|
+
* @license <a href="https://vtj.pro/license.html">MIT License</a>
|
7
|
+
*/const b="0.10.0",S=["onLaunch","onShow","onHide","onError","onPageNotFound","onUnhandledRejection","onThemeChange","onPageNotFound","onUniNViewMessage","onExit"],P=["onLoad","onShow","onReady","onHide","onUnload","onResize","onPullDownRefresh","onReachBottom","onTabItemTap","onShareAppMessage","onPageScroll","onNavigationBarButtonTap","onBackPress","onNavigationBarSearchInputChanged","onNavigationBarSearchInputConfirmed","onNavigationBarSearchInputClicked","onShareTimeline","onAddToFavorites","beforeCreate","created","beforeMount","mounted","beforeUpdate","updated","beforeUnmount","unmounted"],A={name:"VTJ",appid:"__UNI__1FC118B",description:"VTJ移动跨端项目",versionName:"1.0.0",versionCode:"100",transformPx:!1,"app-plus":{usingComponents:!0,nvueStyleCompiler:"uni-app",compilerVersion:3,splashscreen:{alwaysShowBeforeRender:!0,waiting:!0,autoclose:!0,delay:0},modules:{},distribute:{android:{permissions:['<uses-permission android:name="android.permission.CHANGE_NETWORK_STATE"/>','<uses-permission android:name="android.permission.MOUNT_UNMOUNT_FILESYSTEMS"/>','<uses-permission android:name="android.permission.VIBRATE"/>','<uses-permission android:name="android.permission.READ_LOGS"/>','<uses-permission android:name="android.permission.ACCESS_WIFI_STATE"/>','<uses-feature android:name="android.hardware.camera.autofocus"/>','<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>','<uses-permission android:name="android.permission.CAMERA"/>','<uses-permission android:name="android.permission.GET_ACCOUNTS"/>','<uses-permission android:name="android.permission.READ_PHONE_STATE"/>','<uses-permission android:name="android.permission.CHANGE_WIFI_STATE"/>','<uses-permission android:name="android.permission.WAKE_LOCK"/>','<uses-permission android:name="android.permission.FLASHLIGHT"/>','<uses-feature android:name="android.hardware.camera"/>','<uses-permission android:name="android.permission.WRITE_SETTINGS"/>']},ios:{},sdkConfigs:{},icons:{android:{hdpi:"src/static/logo.png",xhdpi:"src/static/logo.png",xxhdpi:"src/static/logo.png",xxxhdpi:"src/static/logo.png"}}}},quickapp:{},"mp-weixin":{appid:"",setting:{urlCheck:!1},usingComponents:!0},"mp-alipay":{usingComponents:!0},"mp-baidu":{usingComponents:!0},"mp-toutiao":{usingComponents:!0},uniStatistics:{enable:!1},vueVersion:"3"},N={pages:[],globalStyle:{navigationBarTextStyle:"black",navigationBarTitleText:"uni-app",navigationBarBackgroundColor:"#F8F8F8",backgroundColor:"#F8F8F8"}};function O(e){const[t,...n]=e;return[t.toLowerCase(),...n].join("").replace(/[A-Z]/g,i=>`-${i.toLowerCase()}`)}function I(e){let{manifestJson:t={},pagesJson:n={},routes:o=[]}=e;const i=o.map(r=>{const{path:a,style:p,needLogin:_}=r;return{path:a,style:p,needLogin:_}});return{...e,manifestJson:Object.assign({},A,t),pagesJson:Object.assign({},N,n,{pages:i})}}const m={navigationBarBackgroundColor:"backgroundColor",navigationBarTextStyle:"titleColor",navigationBarTitleText:"titleText",navigationStyle:"style",titleImage:"titleImage",titlePenetrate:"titlePenetrate",transparentTitle:"transparentTitle"};function T(e){const t={},n={black:"#000000",white:"#ffffff"};for(const o in e)m[o]&&(t[m[o]]=o==="navigationBarTextStyle"?n[e[o]]||n.black:e[o]);return t}function U(e){const t={};for(const n in e)m[n]||(t[n]=e[n]);return t}function L(e){var o;const n=e.split("?")[0].match(/\#\/pages\/([\w\W]*)/i);return(o=n==null?void 0:n[1])!=null?o:""}function V(e){var n;const t=e.h5;return((n=t==null?void 0:t.router)==null?void 0:n.mode)||"hash"}function k(e){var t,n,o;return{topWindow:!!((t=e.topWindow)!=null&&t.path),leftWindow:!!((n=e.leftWindow)!=null&&n.path),rightWindow:!!((o=e.rightWindow)!=null&&o.path)}}function W(e){const{pagesJson:t={}}=e,{globalStyle:n,pages:o=[]}=t;return!!(n!=null&&n.enablePullDownRefresh||o.find(i=>{var r;return!!((r=i.style)!=null&&r.enablePullDownRefresh)}))}function j(e){const{pagesJson:t={}}=e,{globalStyle:n,pages:o=[]}=t;let i=!1;return(n==null?void 0:n.navigationStyle)==="custom"?(i=!0,o.find(r=>{var a;return((a=r.style)==null?void 0:a.navigationStyle)==="default"})&&(i=!1)):o.every(r=>{var a;return((a=r.style)==null?void 0:a.navigationStyle)==="custom"})&&(i=!0),i}function G(e){var p;const t=j(e),n={navigationBar:!1,navigationBarButtons:!1,navigationBarSearchInput:!1,navigationBarTransparent:!1},{pagesJson:o={}}=e,{globalStyle:i,pages:r=[]}=o;if(t)return n;n.navigationBar=!0;const a=(p=i==null?void 0:i.h5)==null?void 0:p.titleNView;return r.find(_=>{var s,c,d;return!!((d=(c=(s=_.style)==null?void 0:s.h5)==null?void 0:c.titleNView)!=null&&d.buttons.length)})&&(n.navigationBarButtons=!0),(a!=null&&a.searchInput||r.find(_=>{var s,c,d;return!!((d=(c=(s=_.style)==null?void 0:s.h5)==null?void 0:c.titleNView)!=null&&d.searchInput)}))&&(n.navigationBarSearchInput=!0),((a==null?void 0:a.type)==="transparent"||r.find(_=>{var s,c,d;return((d=(c=(s=_.style)==null?void 0:s.h5)==null?void 0:c.titleNView)==null?void 0:d.type)==="transparent"}))&&(n.navigationBarTransparent=!0),n}function h(e,t=window){var l,E,g,F;const{pagesJson:n={},manifestJson:o={}}=e,{topWindow:i,leftWindow:r,rightWindow:a}=k(n),{navigationBar:p,navigationBarButtons:_,navigationBarSearchInput:s,navigationBarTransparent:c}=G(e),d={__VUE_OPTIONS_API__:!0,__VUE_PROD_DEVTOOLS__:!1,__VUE_PROD_HYDRATION_MISMATCH_DETAILS__:!1,__UNI_FEATURE_WX__:!1,__UNI_FEATURE_WXS__:!1,__UNI_FEATURE_RPX__:!1,__UNI_FEATURE_PROMISE__:!1,__UNI_FEATURE_LONGPRESS__:!1,__UNI_FEATURE_I18N_EN__:!1,__UNI_FEATURE_I18N_ES__:!1,__UNI_FEATURE_I18N_FR__:!1,__UNI_FEATURE_I18N_ZH_HANS__:!0,__UNI_FEATURE_I18N_ZH_HANT__:!1,__UNI_FEATURE_UNI_CLOUD__:!1,__UNI_FEATURE_I18N_LOCALE__:!1,__UNI_FEATURE_NVUE__:!1,__UNI_FEATURE_ROUTER_MODE__:V(o),__UNI_FEATURE_PAGES__:!!((l=n.pages)!=null&&l.length),__UNI_FEATURE_TABBAR__:!!((g=(E=n.tabBar)==null?void 0:E.list)!=null&&g.length),__UNI_FEATURE_TABBAR_MIDBUTTON__:!!((F=n.tabBar)!=null&&F.midButton),__UNI_FEATURE_TOPWINDOW__:i,__UNI_FEATURE_LEFTWINDOW__:r,__UNI_FEATURE_RIGHTWINDOW__:a,__UNI_FEATURE_RESPONSIVE__:!1,__UNI_FEATURE_NAVIGATIONBAR__:p,__UNI_FEATURE_PULL_DOWN_REFRESH__:W(e),__UNI_FEATURE_NAVIGATIONBAR_BUTTONS__:_,__UNI_FEATURE_NAVIGATIONBAR_SEARCHINPUT__:s,__UNI_FEATURE_NAVIGATIONBAR_TRANSPARENT__:c};Object.entries(d).forEach(([$,z])=>{t[$]=z})}const M="4.45";function C(e,t=window){var d,l;const{pagesJson:n={},manifestJson:o={}}=e,{easycom:i={}}=n,{appid:r="",name:a="",versionCode:p="",versionName:_=""}=o,s=n.globalStyle,c=((d=o.h5)==null?void 0:d.router)||{};t.__uniConfig={easycom:i,globalStyle:{...U(s),navigationBar:T(s),isNVue:!1},compilerVersion:M,appId:r,appName:a,appVersion:_,appVersionCode:String(p),async:{loading:"AsyncLoading",error:"AsyncError",delay:200,timeout:6e4,suspensible:!0,...((l=o.h5)==null?void 0:l.async)||{}},debug:!1,networkTimeout:{request:6e4,connectSocket:6e4,uploadFile:6e4,downloadFile:6e4,...o.networkTimeout||{}},sdkConfigs:{},nvue:{"flex-direction":"column"},locale:"",fallbackLocale:"",locales:{},router:{mode:"hash",base:"/",assets:"assets",routerBase:c.base||"/",...c},darkmode:!1,themeConfig:{},tabBar:n.tabBar?{position:"bottom",color:"#7A7E83",selectedColor:"#3cc51f",borderStyle:"black",blurEffect:"none",fontSize:"10px",iconWidth:"24px",spacing:"3px",height:"50px",backgroundColor:"#ffffff",selectedIndex:0,shown:!0,...n.tabBar}:void 0}}function w(e,t=window){const{UniServiceJSBridge:n,UniViewJSBridge:o,getApp:i,uni:r,getCurrentPages:a,upx2px:p,setupPage:_}=e;t.UniServiceJSBridge=n,t.UniViewJSBridge=o,t.getApp=i,t.uni=r,t.wx=r,t.getCurrentPages=a,t.upx2px=p,t.__setupPage=s=>_(s)}function D(e,t,n){const{defineAsyncComponent:o,openBlock:i,createBlock:r,withCtx:a,createVNode:p}=e,{PageComponent:_,setupPage:s,getApp:c}=t;return{mpType:"page",setup(){var g;const d=c(),l=((g=d==null?void 0:d.$route)==null?void 0:g.query)||{},E=typeof n=="function"?o(n):n;return()=>(i(),r(_,null,{page:a(()=>[p(s(E),Object.assign({},l,{ref:"page"}),null,512)]),_:1}))}}}function J(e,t,n){var d;const{path:o,style:i={},meta:r={},home:a}=t,_=(((d=e.tabBar)==null?void 0:d.list)||[]).findIndex(l=>l.pagePath===o),s=_>-1,c=n===0;return{isTabBar:s,tabBarIndex:_,isQuit:a!=null?a:c,isEntry:a!=null?a:c,navigationBar:{type:"default",...T(i)},isNVue:!1,route:o,...r}}function R(e,t,n,o,i=window){const r=n.map((a,p)=>{const _=J(o,a,p),s=D(e,t,a.component),{path:c}=a;return{path:c,alias:c,meta:_,component:s}});i.__uniRoutes=r,i.__uniLayout={}}function B(e,t,n=window){f.adoptedStyleSheets(n,String(e),t)}function v(e,t){if(!t)return;["View","ScrollView","Swiper","MovableArea","MovableView","CoverView","CoverImage","Icon","Text","RichText","Progress","Button","CheckboxGroup","Checkbox","Editor","Form","Input","Label","Picker","PickerView","RadioGroup","Radio","Slider","Switch","Textarea","Navigator","Image","Video","Map","Canvas","WebView","PickerViewColumn","ResizeSensor","SwiperItem"].forEach(o=>{const i=t[o];e.component(o,i)})}function x(e){const t=I(e),{Vue:n,App:o,UniH5:i,routes:r=[],pagesJson:a={},manifestJson:p={},window:_,css:s}=t,{plugin:c,setupApp:d}=i;h(t,_),C(t,_),w(i,_),R(n,i,r,a,_),s&&B(p.appid||Date.now(),s,_);const l=n.createApp(d(o));return l.use(v,i),l.use(c),l}function H(e,t){const n={};return Object.entries(e).forEach(([o,i])=>{S.includes(o)&&i&&(n[o]=t(i))}),n}async function q(e,t,n=!1){var a,p,_;const o=((a=e.project)==null?void 0:a.pages)||[],i=[];for(const s of o){const c=await e.getDsl(s.id);if(!c)continue;const{renderer:d}=t({dsl:c,components:{}}),l=((p=e.project)==null?void 0:p.homepage)===s.id;i.push({id:s.id,path:`/pages/${s.id}`,component:d,style:{navigationBarTitleText:s.title,...s.style},needLogin:s.needLogin,home:l})}const r=i.find(s=>!!s.home)||i[0];if(r&&i.unshift({...r,path:"/"}),n){const s=((_=e.project)==null?void 0:_.blocks)||[];for(const c of s){const d=await e.getDsl(c.id);if(!d)continue;const{renderer:l}=t({dsl:d,components:{}});i.push({id:c.id,path:`/pages/${c.id}`,component:l,style:{navigationStyle:"custom"}})}}return i}function K(){if(window.uni)return window.uni.showLoading({title:"加载中...",mask:!0}),()=>{window.uni.hideLoading()}}function y(e,t="",n="warning"){window.uni&&window.uni.showModal({title:t,content:e,showCancel:!1})}function Y(e){y(e)}u.APP_LIFE_CYCLE=S,u.MANIFEST_JSON=A,u.PAGES_JSON=N,u.PAGE_LIFE_CYCLES_LIST=P,u.alert=Y,u.createUniAppComponent=H,u.createUniRoutes=q,u.getFileId=L,u.getGobalStyle=U,u.getNavigationBar=T,u.injectUniCSS=B,u.injectUniConfig=C,u.injectUniFeatures=h,u.injectUniGlobal=w,u.injectUniRoutes=R,u.install=v,u.loading=K,u.mergeOptions=I,u.navigationBarMaps=m,u.notify=y,u.setupUniApp=x,u.toKebabCase=O,u.version=b,Object.defineProperty(u,Symbol.toStringTag,{value:"Module"})});
|
package/dist/style.css
ADDED
@@ -0,0 +1 @@
|
|
1
|
+
@charset "UTF-8";uni-ad-content-page{display:block;overflow:hidden}uni-ad-content-page[hidden]{display:none}uni-ad-draw{display:block;overflow:hidden}uni-ad-draw[hidden]{display:none}uni-ad{display:block;overflow:hidden}uni-ad[hidden]{display:none}uni-actionsheet{display:block;box-sizing:border-box}.uni-actionsheet{position:fixed;left:6px;right:6px;bottom:6px;transform:translateY(100%);backface-visibility:hidden;z-index:999;visibility:hidden;transition:transform .3s,visibility .3s}.uni-actionsheet.uni-actionsheet_toggle{visibility:visible;transform:translate(0)}.uni-actionsheet *{box-sizing:border-box}.uni-actionsheet__menu,.uni-actionsheet__action{border-radius:5px;background-color:#fcfcfd}.uni-actionsheet__action{margin-top:6px}.uni-actionsheet__cell,.uni-actionsheet__title{position:relative;padding:10px 6px;text-align:center;font-size:18px;text-overflow:ellipsis;overflow:hidden;cursor:pointer}.uni-actionsheet__title{position:absolute;top:0;right:0;left:0;z-index:1;color:var(--UI-FG);background-color:#fff;border-radius:5px 5px 0 0;border-bottom:1px solid #e5e5e5}.uni-actionsheet__cell:before{content:" ";position:absolute;left:0;top:0;right:0;height:1px;border-top:1px solid #e5e5e5;color:#e5e5e5;transform-origin:0 0;transform:scaleY(.5)}.uni-actionsheet__cell:active{background-color:#ececec}.uni-actionsheet__cell:first-child:before{display:none}@media screen and (min-width: 500px) and (min-height: 500px){.uni-mask.uni-actionsheet__mask{background:none}.uni-actionsheet{width:300px;left:50%;right:auto;top:50%;bottom:auto;transform:translate(-50%,-50%);opacity:0;transition:opacity .3s,visibility .3s}.uni-actionsheet.uni-actionsheet_toggle{opacity:1;transform:translate(-50%,-50%)}.uni-actionsheet__menu{box-shadow:0 0 20px 5px rgba(0,0,0,.3)}.uni-actionsheet__action{display:none}}@media (prefers-color-scheme: dark){.uni-actionsheet__title{background-color:var(--UI-BG-1);border-bottom-color:var(--UI-BORDER-COLOR-1)}body .uni-actionsheet{background-color:var(--UI-BG-1)}.uni-actionsheet__action,body .uni-actionsheet__menu{background-color:var(--UI-BG-2)}.uni-actionsheet__cell:active{background-color:var(--UI-BG-COLOR-ACTIVE)}.uni-actionsheet__cell:before{border-top-color:var(--UI-BORDER-COLOR-1);color:var(--UI-BORDER-COLOR-1)}}.uni-system-choose-location{display:block;position:fixed;left:0;top:0;width:100%;height:100%;background:#f8f8f8;z-index:999}.uni-system-choose-location .map{position:absolute;top:0;left:0;width:100%;height:300px}.uni-system-choose-location .map-location{position:absolute;left:50%;bottom:50%;width:32px;height:52px;margin-left:-16px;cursor:pointer;background-size:100%}.uni-system-choose-location .map-move{position:absolute;bottom:50px;right:10px;width:40px;height:40px;box-sizing:border-box;line-height:40px;background-color:#fff;border-radius:50%;pointer-events:auto;cursor:pointer;box-shadow:0 0 5px 1px rgba(0,0,0,.3)}.uni-system-choose-location .map-move>svg{display:block;width:100%;height:100%;box-sizing:border-box;padding:8px}.uni-system-choose-location .nav{position:absolute;top:0;left:0;width:100%;height:44px;background-color:transparent;background-image:linear-gradient(to bottom,rgba(0,0,0,.3),rgba(0,0,0,0))}.uni-system-choose-location .nav-btn{position:absolute;box-sizing:border-box;top:0;left:0;width:60px;height:44px;padding:6px;line-height:32px;font-size:26px;color:#fff;text-align:center;cursor:pointer}.uni-system-choose-location .nav-btn.confirm{left:auto;right:0}.uni-system-choose-location .nav-btn.disable{opacity:.4}.uni-system-choose-location .nav-btn>svg{display:block;width:100%;height:100%;border-radius:2px;box-sizing:border-box;padding:3px}.uni-system-choose-location .nav-btn.confirm>svg{background-color:#007aff;padding:5px}.uni-system-choose-location .menu{position:absolute;top:300px;left:0;width:100%;bottom:0;background-color:#fff}.uni-system-choose-location .search{display:flex;flex-direction:row;height:50px;padding:8px;line-height:34px;box-sizing:border-box;background-color:#fff}.uni-system-choose-location .search-input{flex:1;height:100%;border-radius:5px;padding:0 5px;background:#ebebeb}.uni-system-choose-location .search-btn{margin-left:5px;color:#007aff;font-size:17px;text-align:center}.uni-system-choose-location .list{position:absolute;top:50px;left:0;width:100%;bottom:0;padding-bottom:10px}.uni-system-choose-location .list-loading{display:flex;height:50px;justify-content:center;align-items:center}.uni-system-choose-location .list-item{position:relative;padding:10px 40px 10px 10px;cursor:pointer}.uni-system-choose-location .list-item>svg{display:none;position:absolute;top:50%;right:10px;width:30px;height:30px;margin-top:-15px;box-sizing:border-box;padding:5px}.uni-system-choose-location .list-item.selected>svg{display:block}.uni-system-choose-location .list-item:not(:last-child):after{position:absolute;content:"";height:1px;left:10px;bottom:0;width:100%;background-color:#d3d3d3}.uni-system-choose-location .list-item-title{font-size:14px;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.uni-system-choose-location .list-item-detail{font-size:12px;color:gray;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}@media screen and (min-width: 800px){.uni-system-choose-location .map{top:0;height:100%}.uni-system-choose-location .map-move{bottom:10px;right:320px}.uni-system-choose-location .menu{top:54px;left:auto;right:10px;width:300px;bottom:10px;max-height:600px;box-shadow:0 0 20px 5px rgba(0,0,0,.3)}}.uni-system-open-location{display:block;position:fixed;left:0;top:0;width:100%;height:100%;background:#f8f8f8;z-index:999}.uni-system-open-location .map{position:absolute;top:0;left:0;width:100%;bottom:80px;height:auto}.uni-system-open-location .info{position:absolute;bottom:0;left:0;width:100%;height:80px;background-color:#fff;padding:15px;box-sizing:border-box;line-height:1.5}.uni-system-open-location .info>.name{font-size:17px;color:#111}.uni-system-open-location .info>.address{font-size:14px;color:#666}.uni-system-open-location .info>.nav{position:absolute;top:50%;right:15px;width:50px;height:50px;border-radius:50%;margin-top:-25px;background-color:#007aff}.uni-system-open-location .info>.nav>svg{display:block;width:100%;height:100%;padding:10px;box-sizing:border-box}.uni-system-open-location .map-move{position:absolute;bottom:50px;right:10px;width:40px;height:40px;box-sizing:border-box;line-height:40px;background-color:#fff;border-radius:50%;pointer-events:auto;cursor:pointer;box-shadow:0 0 5px 1px rgba(0,0,0,.3)}.uni-system-open-location .map-move>svg{display:block;width:100%;height:100%;box-sizing:border-box;padding:8px}.uni-system-open-location .nav-btn-back{position:absolute;box-sizing:border-box;top:0;left:0;width:44px;height:44px;padding:6px;cursor:pointer}.uni-system-open-location .nav-btn-back>svg{display:block;width:100%;height:100%;border-radius:50%;background-color:rgba(0,0,0,.5);padding:3px;box-sizing:border-box}.uni-system-open-location .map-content{position:absolute;left:0;top:0;width:100%;bottom:0;overflow:hidden}.uni-system-open-location .map-content.fix-position{top:-74px;bottom:-44px}.uni-system-open-location .map-content>iframe{width:100%;height:100%;border:none}.uni-system-open-location .actTonav{position:absolute;right:16px;bottom:56px;width:60px;height:60px;border-radius:60px}uni-modal{position:fixed;top:0;right:0;bottom:0;left:0;z-index:999;display:block;box-sizing:border-box}.uni-modal{position:fixed;z-index:999;width:80%;max-width:300px;top:50%;left:50%;transform:translate(-50%,-50%);background-color:#fff;text-align:center;border-radius:3px;overflow:hidden}.uni-modal *{box-sizing:border-box}.uni-modal__hd{padding:1em 1.6em .3em}.uni-modal__title{font-weight:400;font-size:18px;word-wrap:break-word;word-break:break-all;white-space:pre-wrap;overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}.uni-modal__bd{padding:1.3em 1.6em;min-height:40px;font-size:15px;line-height:1.4;word-wrap:break-word;word-break:break-all;white-space:pre-wrap;color:#999;max-height:400px;overflow-x:hidden;overflow-y:auto}.uni-modal__textarea{resize:none;border:0;margin:0;width:90%;padding:10px;font-size:20px;outline:none;border:none;background-color:#eee;text-decoration:inherit}.uni-modal__ft{position:relative;line-height:48px;font-size:18px;display:flex}.uni-modal__ft:after{content:" ";position:absolute;left:0;top:0;right:0;height:1px;border-top:1px solid #d5d5d6;color:#d5d5d6;transform-origin:0 0;transform:scaleY(.5)}.uni-modal__btn{display:block;flex:1;color:#3cc51f;text-decoration:none;-webkit-tap-highlight-color:rgba(0,0,0,0);position:relative;cursor:pointer}.uni-modal__btn:active{background-color:#eee}.uni-modal__btn:after{content:" ";position:absolute;left:0;top:0;width:1px;bottom:0;border-left:1px solid #d5d5d6;color:#d5d5d6;transform-origin:0 0;transform:scaleX(.5)}.uni-modal__btn:first-child:after{display:none}.uni-modal__btn_default{color:#353535}.uni-modal__btn_primary{color:#007aff}@media (prefers-color-scheme: dark){.uni-modal{color:var(--UI-FG-0);background-color:var(--UI-BG-2)}.uni-modal__bd{color:var(--UI-FG-1)}.uni-modal__btn:active{color:#aaa;background-color:var(--UI-BG-COLOR-ACTIVE)}.uni-modal__ft:after,.uni-modal__btn:after{color:var(--UI-BORDER-COLOR-1);border-color:var(--UI-BORDER-COLOR-1)}}uni-toast{position:fixed;top:0;right:0;bottom:0;left:0;z-index:999;display:block;box-sizing:border-box;pointer-events:none;font-size:16px}.uni-sample-toast{position:fixed;z-index:999;top:50%;left:50%;transform:translate(-50%,-50%);text-align:center;max-width:80%}.uni-simple-toast__text{display:inline-block;vertical-align:middle;color:#fff;background-color:rgba(17,17,17,.7);padding:10px 20px;border-radius:5px;font-size:13px;text-align:center;max-width:100%;word-break:break-all;white-space:normal}uni-toast .uni-mask{pointer-events:auto}.uni-toast{position:fixed;z-index:999;width:8em;top:50%;left:50%;transform:translate(-50%,-50%);background:rgba(17,17,17,.7);text-align:center;border-radius:5px;color:#fff}.uni-toast *{box-sizing:border-box}.uni-toast__icon{margin:20px 0 0;width:38px!important;height:38px!important;vertical-align:baseline!important}.uni-icon_toast{margin:15px 0 0}.uni-icon_toast.uni-icon-success-no-circle:before{color:#fff;font-size:55px}.uni-icon_toast.uni-loading{margin:20px 0 0;width:38px;height:38px;vertical-align:baseline}.uni-toast__content{margin:0 0 15px}@media (prefers-color-scheme: dark){.uni-toast{background-color:#606060;color:var(--UI-FG-0)}}uni-camera{display:block;overflow:hidden}uni-camera[hidden]{display:none}uni-cover-image{display:block;line-height:1.2;overflow:hidden;height:100%;width:100%;pointer-events:auto}uni-cover-image img{width:100%;height:100%}uni-cover-image[hidden]{display:none}uni-cover-image .uni-cover-image{width:100%;height:100%;text-overflow:inherit;overflow:inherit;white-space:nowrap;-webkit-align-items:inherit;align-items:inherit;-webkit-justify-content:inherit;justify-content:inherit;-webkit-flex-direction:inherit;flex-direction:inherit;font-size:0;display:inherit}uni-cover-view{display:block;line-height:1.2;overflow:hidden;white-space:nowrap;pointer-events:auto}uni-cover-view[hidden]{display:none}uni-cover-view .uni-cover-view{width:100%;height:100%;text-overflow:inherit;overflow:hidden;white-space:inherit;-webkit-align-items:inherit;align-items:inherit;-webkit-justify-content:inherit;justify-content:inherit;-webkit-flex-direction:inherit;flex-direction:inherit;-webkit-flex-wrap:inherit;flex-wrap:inherit;display:inherit;overflow:inherit}.uni-async-error{position:absolute;left:0;right:0;top:0;bottom:0;color:#999;padding:100px 10px;text-align:center}.uni-async-loading{box-sizing:border-box;width:100%;padding:50px;text-align:center}.uni-async-loading .uni-loading{width:30px;height:30px}*{margin:0;-webkit-tap-highlight-color:transparent}html,body{-webkit-user-select:none;user-select:none;width:100%;height:100%}body{overflow-x:hidden;font-size:16px}uni-app,uni-page,uni-page-wrapper,uni-page-body{display:block;box-sizing:border-box;width:100%}uni-page-wrapper{position:relative}#app,uni-app,uni-page,uni-page-wrapper{height:100%}.uni-mask{position:fixed;z-index:999;top:0;right:0;left:0;bottom:0;background:rgba(0,0,0,.5)}.uni-fade-enter-active,.uni-fade-leave-active{transition-duration:.25s;transition-property:opacity;transition-timing-function:ease}.uni-fade-enter-from,.uni-fade-leave-active{opacity:0}.uni-loading,uni-button[loading]:before{background-color:transparent;background-image:url(data:image/svg+xml;base64,\ PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxMjAiIGhlaWdodD0iMTIwIiB2aWV3Qm94PSIwIDAgMTAwIDEwMCI+PHBhdGggZmlsbD0ibm9uZSIgZD0iTTAgMGgxMDB2MTAwSDB6Ii8+PHJlY3Qgd2lkdGg9IjciIGhlaWdodD0iMjAiIHg9IjQ2LjUiIHk9IjQwIiBmaWxsPSIjRTlFOUU5IiByeD0iNSIgcnk9IjUiIHRyYW5zZm9ybT0idHJhbnNsYXRlKDAgLTMwKSIvPjxyZWN0IHdpZHRoPSI3IiBoZWlnaHQ9IjIwIiB4PSI0Ni41IiB5PSI0MCIgZmlsbD0iIzk4OTY5NyIgcng9IjUiIHJ5PSI1IiB0cmFuc2Zvcm09InJvdGF0ZSgzMCAxMDUuOTggNjUpIi8+PHJlY3Qgd2lkdGg9IjciIGhlaWdodD0iMjAiIHg9IjQ2LjUiIHk9IjQwIiBmaWxsPSIjOUI5OTlBIiByeD0iNSIgcnk9IjUiIHRyYW5zZm9ybT0icm90YXRlKDYwIDc1Ljk4IDY1KSIvPjxyZWN0IHdpZHRoPSI3IiBoZWlnaHQ9IjIwIiB4PSI0Ni41IiB5PSI0MCIgZmlsbD0iI0EzQTFBMiIgcng9IjUiIHJ5PSI1IiB0cmFuc2Zvcm09InJvdGF0ZSg5MCA2NSA2NSkiLz48cmVjdCB3aWR0aD0iNyIgaGVpZ2h0PSIyMCIgeD0iNDYuNSIgeT0iNDAiIGZpbGw9IiNBQkE5QUEiIHJ4PSI1IiByeT0iNSIgdHJhbnNmb3JtPSJyb3RhdGUoMTIwIDU4LjY2IDY1KSIvPjxyZWN0IHdpZHRoPSI3IiBoZWlnaHQ9IjIwIiB4PSI0Ni41IiB5PSI0MCIgZmlsbD0iI0IyQjJCMiIgcng9IjUiIHJ5PSI1IiB0cmFuc2Zvcm09InJvdGF0ZSgxNTAgNTQuMDIgNjUpIi8+PHJlY3Qgd2lkdGg9IjciIGhlaWdodD0iMjAiIHg9IjQ2LjUiIHk9IjQwIiBmaWxsPSIjQkFCOEI5IiByeD0iNSIgcnk9IjUiIHRyYW5zZm9ybT0icm90YXRlKDE4MCA1MCA2NSkiLz48cmVjdCB3aWR0aD0iNyIgaGVpZ2h0PSIyMCIgeD0iNDYuNSIgeT0iNDAiIGZpbGw9IiNDMkMwQzEiIHJ4PSI1IiByeT0iNSIgdHJhbnNmb3JtPSJyb3RhdGUoLTE1MCA0NS45OCA2NSkiLz48cmVjdCB3aWR0aD0iNyIgaGVpZ2h0PSIyMCIgeD0iNDYuNSIgeT0iNDAiIGZpbGw9IiNDQkNCQ0IiIHJ4PSI1IiByeT0iNSIgdHJhbnNmb3JtPSJyb3RhdGUoLTEyMCA0MS4zNCA2NSkiLz48cmVjdCB3aWR0aD0iNyIgaGVpZ2h0PSIyMCIgeD0iNDYuNSIgeT0iNDAiIGZpbGw9IiNEMkQyRDIiIHJ4PSI1IiByeT0iNSIgdHJhbnNmb3JtPSJyb3RhdGUoLTkwIDM1IDY1KSIvPjxyZWN0IHdpZHRoPSI3IiBoZWlnaHQ9IjIwIiB4PSI0Ni41IiB5PSI0MCIgZmlsbD0iI0RBREFEQSIgcng9IjUiIHJ5PSI1IiB0cmFuc2Zvcm09InJvdGF0ZSgtNjAgMjQuMDIgNjUpIi8+PHJlY3Qgd2lkdGg9IjciIGhlaWdodD0iMjAiIHg9IjQ2LjUiIHk9IjQwIiBmaWxsPSIjRTJFMkUyIiByeD0iNSIgcnk9IjUiIHRyYW5zZm9ybT0icm90YXRlKC0zMCAtNS45OCA2NSkiLz48L3N2Zz4=);background-repeat:no-repeat}.uni-loading{width:20px;height:20px;display:inline-block;vertical-align:middle;animation:uni-loading 1s steps(12,end) infinite;background-size:100%}@keyframes uni-loading{0%{transform:rotate3d(0,0,1,0)}to{transform:rotate3d(0,0,1,360deg)}}html{--primary-color: #007aff;--UI-BG: #fff;--UI-BG-1: #f7f7f7;--UI-BG-2: #fff;--UI-BG-3: #f7f7f7;--UI-BG-4: #4c4c4c;--UI-BG-5: #fff;--UI-FG: #000;--UI-FG-0: rgba(0, 0, 0, .9);--UI-FG-HALF: rgba(0, 0, 0, .9);--UI-FG-1: rgba(0, 0, 0, .5);--UI-FG-2: rgba(0, 0, 0, .3);--UI-FG-3: rgba(0, 0, 0, .1)}@media (prefers-color-scheme: dark){html{--UI-BG-COLOR-ACTIVE: #373737;--UI-BORDER-COLOR-1: #373737;--UI-BG: #000;--UI-BG-0: #191919;--UI-BG-1: #1f1f1f;--UI-BG-2: #232323;--UI-BG-3: #2f2f2f;--UI-BG-4: #606060;--UI-BG-5: #2c2c2c;--UI-FG: #fff;--UI-FG-0: hsla(0, 0%, 100%, .8);--UI-FG-HALF: hsla(0, 0%, 100%, .6);--UI-FG-1: hsla(0, 0%, 100%, .5);--UI-FG-2: hsla(0, 0%, 100%, .3);--UI-FG-3: hsla(0, 0%, 100%, .05)}.uni-mask{background:rgba(0,0,0,.6)}body,uni-page-body{background-color:var(--UI-BG-0);color:var(--UI-FG-0)}uni-page[data-type] uni-page-body{background-color:transparent}}uni-content{display:flex;flex:1 0 auto;height:100%}uni-main{flex:1;width:100%}uni-top-window+uni-content{height:calc(100vh - var(--top-window-height))}uni-left-window{position:relative;width:var(--window-left);order:-1;overflow-x:hidden}uni-right-window{position:relative;width:var(--window-right);overflow-x:hidden}uni-left-window[data-show],uni-right-window[data-show]{position:absolute}uni-right-window[data-show]{right:0}uni-content .uni-mask,.uni-left-window,.uni-right-window{z-index:997}.uni-mask+.uni-left-window,.uni-mask+.uni-right-window{position:fixed}.uni-top-window{position:fixed;left:var(--window-margin);right:var(--window-margin);top:0;z-index:998;overflow:hidden}[nvue] uni-view,[nvue] uni-label,[nvue] uni-swiper-item,[nvue] uni-scroll-view{display:flex;flex-shrink:0;flex-grow:0;flex-basis:auto;align-items:stretch;align-content:flex-start}[nvue] uni-button{margin:0}[nvue-dir-row] uni-view,[nvue-dir-row] uni-label,[nvue-dir-row] uni-swiper-item{flex-direction:row}[nvue-dir-column] uni-view,[nvue-dir-column] uni-label,[nvue-dir-column] uni-swiper-item{flex-direction:column}[nvue-dir-row-reverse] uni-view,[nvue-dir-row-reverse] uni-label,[nvue-dir-row-reverse] uni-swiper-item{flex-direction:row-reverse}[nvue-dir-column-reverse] uni-view,[nvue-dir-column-reverse] uni-label,[nvue-dir-column-reverse] uni-swiper-item{flex-direction:column-reverse}[nvue] uni-view,[nvue] uni-image,[nvue] uni-input,[nvue] uni-scroll-view,[nvue] uni-swiper,[nvue] uni-swiper-item,[nvue] uni-text,[nvue] uni-textarea,[nvue] uni-video{position:relative;border:0px solid #000000;box-sizing:border-box}[nvue] uni-swiper-item{position:absolute}uni-page-head{display:block;box-sizing:border-box}.uni-page-head{position:fixed;left:var(--window-left);right:var(--window-right);height:44px;height:calc(44px + constant(safe-area-inset-top));height:calc(44px + env(safe-area-inset-top));padding:7px 3px;padding-top:calc(7px + constant(safe-area-inset-top));padding-top:calc(7px + env(safe-area-inset-top));display:flex;overflow:hidden;justify-content:space-between;box-sizing:border-box;z-index:998;color:#fff;background-color:#000;transition-property:all}.uni-page-head *{box-sizing:border-box}.uni-page-head .uni-btn-icon{overflow:hidden;min-width:1em;font-style:normal}.uni-page-head-titlePenetrate,.uni-page-head-titlePenetrate .uni-page-head-bd,.uni-page-head-titlePenetrate .uni-page-head-bd *{pointer-events:none}.uni-page-head-titlePenetrate *{pointer-events:auto}.uni-page-head.uni-page-head-transparent .uni-page-head-ft>div{justify-content:center}.uni-page-head~.uni-placeholder{width:100%;height:44px;height:calc(44px + constant(safe-area-inset-top));height:calc(44px + env(safe-area-inset-top))}.uni-placeholder-titlePenetrate{pointer-events:none}.uni-page-head-hd{display:flex;align-items:center;font-size:16px}.uni-page-head-bd{position:absolute;left:70px;right:70px;min-width:0;user-select:auto}.uni-page-head-btn{position:relative;width:auto;margin:0 2px;word-break:keep-all;white-space:pre;cursor:pointer;font-size:0px}.uni-page-head-transparent .uni-page-head-btn{display:flex;align-items:center;width:32px;height:32px;border-radius:50%;background-color:rgba(0,0,0,.5)}.uni-page-head-btn-red-dot:after{content:attr(badge-text);position:absolute;right:0;top:0;background-color:red;color:#fff;width:18px;height:18px;line-height:18px;border-radius:18px;overflow:hidden;transform:scale(.5) translate(40%,-40%);transform-origin:100% 0}.uni-page-head-btn-red-dot[badge-text]:after{font-size:12px;width:auto;min-width:18px;max-width:42px;text-align:center;padding:0 3px;transform:scale(.7) translate(40%,-40%)}.uni-page-head-btn-select svg{vertical-align:middle;margin-left:2px;transform:rotate(270deg) scale(.8)}.uni-page-head-search{position:relative;display:flex;flex:1;margin:0 2px;line-height:30px;font-size:15px}.uni-page-head-search-input{width:100%;height:100%;padding-left:34px;text-align:left}.uni-page-head-search-input .uni-input-input:disabled{pointer-events:none}.uni-page-head-search-placeholder{position:absolute;max-width:100%;height:100%;padding-left:34px;overflow:hidden;word-break:keep-all;white-space:pre}.uni-page-head-search-placeholder-right{right:0}.uni-page-head-search-placeholder-center{left:50%;transform:translate(-50%)}.uni-page-head-search-icon{position:absolute;top:0;left:2px;width:30px;height:30px;display:flex;justify-content:center;align-items:center}.uni-page-head-ft{display:flex;align-items:center;flex-direction:row-reverse;font-size:13px}.uni-page-head__title{font-weight:700;font-size:16px;line-height:30px;text-align:center;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.uni-page-head__title .uni-loading{width:16px;height:16px;margin-top:-3px}.uni-page-head__title .uni-page-head__title_image{width:auto;height:26px;vertical-align:middle}.uni-page-head-shadow{overflow:visible}.uni-page-head-shadow:after{content:"";position:absolute;left:0;right:0;top:100%;height:5px;background-size:100% 100%}uni-page-head[uni-page-head-type=default]~uni-page-wrapper{height:calc(100% - 44px);height:calc(100% - 44px - constant(safe-area-inset-top));height:calc(100% - 44px - env(safe-area-inset-top))}uni-page-refresh{position:absolute;top:0;width:100%;height:40px;display:block;box-sizing:border-box}.uni-page-refresh{position:absolute;top:-45px;left:50%;transform:translate3d(-50%,0,0);width:40px;height:40px;justify-content:center;align-items:center;background:#fff;border-radius:50%;box-shadow:0 1px 6px rgba(0,0,0,.118),0 1px 4px rgba(0,0,0,.118);display:none;z-index:997}.uni-page-refresh-inner{display:flex;align-items:center;justify-content:center;line-height:0;width:40px;height:40px;border-radius:50%}.uni-page-refresh--pulling .uni-page-refresh,.uni-page-refresh--aborting .uni-page-refresh,.uni-page-refresh--reached .uni-page-refresh,.uni-page-refresh--refreshing .uni-page-refresh,.uni-page-refresh--restoring .uni-page-refresh{display:flex}.uni-page-refresh--pulling .uni-page-refresh__spinner,.uni-page-refresh--aborting .uni-page-refresh__spinner,.uni-page-refresh--reached .uni-page-refresh__spinner,.uni-page-refresh--refreshing .uni-page-refresh__icon,.uni-page-refresh--restoring .uni-page-refresh__icon{display:none}.uni-page-refresh--refreshing .uni-page-refresh__spinner{transform-origin:center center;animation:uni-page-refresh-rotate 2s linear infinite}.uni-page-refresh--refreshing .uni-page-refresh__path{stroke-dasharray:1,200;stroke-dashoffset:0;stroke-linecap:round;animation:uni-page-refresh-dash 1.5s ease-in-out infinite,uni-page-refresh-colorful 6s ease-in-out infinite}@keyframes uni-page-refresh-rotate{to{-webkit-transform:rotate(360deg);transform:rotate(360deg)}}@keyframes uni-page-refresh-dash{0%{stroke-dasharray:1,200;stroke-dashoffset:0}50%{stroke-dasharray:89,200;stroke-dashoffset:-35px}to{stroke-dasharray:89,200;stroke-dashoffset:-124px}}body:after{position:fixed;content:"";left:-1000px;top:-1000px;animation:shadow-preload .1s;animation-delay:3s}uni-tabbar{display:block;box-sizing:border-box;width:100%;z-index:998}.uni-tabbar{display:flex;z-index:998;box-sizing:border-box}.uni-tabbar-top,.uni-tabbar-bottom,.uni-tabbar-top .uni-tabbar,.uni-tabbar-bottom .uni-tabbar{position:fixed;left:var(--window-left);right:var(--window-right)}.uni-app--showlayout+.uni-tabbar-top,.uni-app--showlayout+.uni-tabbar-bottom,.uni-app--showlayout+.uni-tabbar-top .uni-tabbar,.uni-app--showlayout+.uni-tabbar-bottom .uni-tabbar{left:var(--window-margin);right:var(--window-margin)}.uni-tabbar-bottom .uni-tabbar{bottom:0;padding-bottom:0;padding-bottom:constant(safe-area-inset-bottom);padding-bottom:env(safe-area-inset-bottom)}.uni-tabbar~.uni-placeholder{width:100%;margin-bottom:0;margin-bottom:constant(safe-area-inset-bottom);margin-bottom:env(safe-area-inset-bottom)}.uni-tabbar *{box-sizing:border-box}.uni-tabbar__item{display:flex;justify-content:center;align-items:center;flex-direction:column;flex:1;font-size:0;text-align:center;-webkit-tap-highlight-color:rgba(0,0,0,0)}.uni-tabbar__bd{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;cursor:pointer}.uni-tabbar__icon{position:relative;display:inline-block;margin-top:5px}.uni-tabbar__icon.uni-tabbar__icon__diff{margin-top:0;width:34px;height:34px}.uni-tabbar__icon img{width:100%;height:100%}.uni-tabbar__iconfont{font-family:UniTabbarIconFont}.uni-tabbar__label{position:relative;text-align:center;font-size:10px}.uni-tabbar-border{position:absolute;left:0;top:0;width:100%;height:1px;transform:scaleY(.5)}.uni-tabbar__reddot{position:absolute;top:2px;right:0;width:12px;height:12px;border-radius:50%;background-color:#f43530;color:#fff;transform:translate(40%)}.uni-tabbar__badge{width:auto;height:16px;line-height:16px;border-radius:16px;min-width:16px;padding:0 2px;font-size:12px;text-align:center;white-space:nowrap}.uni-tabbar__mid{display:flex;justify-content:center;position:absolute;bottom:0;background-size:100% 100%}.uni-app--showtabbar uni-page-wrapper{display:block;height:calc(100% - var(--tab-bar-height));height:calc(100% - var(--tab-bar-height) - constant(safe-area-inset-bottom));height:calc(100% - var(--tab-bar-height) - env(safe-area-inset-bottom))}uni-page[data-type] uni-page-wrapper{height:100%}.uni-app--showtabbar uni-page-wrapper:after{content:"";display:block;width:100%;height:var(--tab-bar-height);height:calc(var(--tab-bar-height) + constant(safe-area-inset-bottom));height:calc(var(--tab-bar-height) + env(safe-area-inset-bottom))}.uni-app--showtabbar uni-page-head[uni-page-head-type=default]~uni-page-wrapper{height:calc(100% - 44px - var(--tab-bar-height));height:calc(100% - 44px - constant(safe-area-inset-top) - var(--tab-bar-height) - constant(safe-area-inset-bottom));height:calc(100% - 44px - env(safe-area-inset-top) - var(--tab-bar-height) - env(safe-area-inset-bottom))}html,body{line-height:1.2;font-family:-apple-system,HelveticaNeue}body{background-color:var(--background-color-content)}uni-app uni-page-body{height:100%;overflow:visible;position:relative}uni-app uni-page-body,uni-app uni-top-window,uni-app uni-left-window,uni-app uni-right-window{position:relative}uni-app uni-left-window .uni-left-window,uni-app uni-right-window .uni-right-window{height:100%}uni-app.uni-app--showtabbar uni-page-body:after{content:"";display:block;width:100%;height:var(--tab-bar-height);height:calc(var(--tab-bar-height) + constant(safe-area-inset-bottom));height:calc(var(--tab-bar-height) + env(safe-area-inset-bottom));min-height:var(--tab-bar-height);min-height:calc(var(--tab-bar-height) + constant(safe-area-inset-bottom));min-height:calc(var(--tab-bar-height) + env(safe-area-inset-bottom))}uni-app.uni-app--showtabbar uni-page-wrapper:after{display:none}uni-app uni-text,uni-app uni-input,uni-app uni-textarea,uni-app uni-view{font-size:16px;text-align:left}uni-app uni-input{height:auto}uni-app uni-text,uni-app uni-textarea,uni-app uni-label{line-height:1.2;overflow:hidden;flex-basis:auto;letter-spacing:0}uni-app uni-text,uni-app uni-label{letter-spacing:0}uni-app uni-ad-draw,uni-app uni-ad-fullscreen-video,uni-app uni-ad-interactive,uni-app uni-ad-interstitial,uni-app uni-ad-rewarded-video,uni-app uni-ad,uni-app uni-animation-view,uni-app uni-audio,uni-app uni-block,uni-app uni-button,uni-app uni-camera,uni-app uni-canvas,uni-app uni-checkbox-group,uni-app uni-checkbox,uni-app uni-cover-image,uni-app uni-cover-view,uni-app uni-custom-tab-bar,uni-app uni-editor,uni-app uni-form,uni-app uni-icon,uni-app uni-image,uni-app uni-input,uni-app uni-label,uni-app uni-list-item,uni-app uni-list-view,uni-app uni-live-player,uni-app uni-live-pusher,uni-app uni-map,uni-app uni-match-media,uni-app uni-movable-area,uni-app uni-movable-view,uni-app uni-navigation-bar,uni-app uni-navigator,uni-app uni-open-data,uni-app uni-page-meta,uni-app uni-picker-view,uni-app uni-picker,uni-app uni-progress,uni-app uni-radio-group,uni-app uni-radio,uni-app uni-rich-text,uni-app uni-scroll-view,uni-app uni-slider,uni-app uni-sticky-header,uni-app uni-sticky-section,uni-app uni-swiper-item,uni-app uni-swiper,uni-app uni-switch,uni-app uni-template,uni-app uni-text,uni-app uni-textarea,uni-app uni-unicloud-db,uni-app uni-video,uni-app uni-view,uni-app uni-web-view{position:relative;box-sizing:border-box;flex-shrink:0;flex-grow:0;flex-basis:auto;min-height:0px;min-width:0px;border-width:medium}uni-app uni-rich-text{line-height:1.5}uni-app uni-text{display:inline}uni-app uni-page-body,uni-app uni-left-window .uni-left-window,uni-app uni-right-window .uni-right-window,uni-app uni-top-window .uni-top-window,uni-app uni-animation-view,uni-app uni-block,uni-app uni-view,uni-app uni-label,uni-app uni-swiper,uni-app uni-swiper-item,uni-app uni-movable-area,uni-app uni-movable-view,uni-app uni-cover-view,uni-app uni-list-item,uni-app uni-navigator,uni-app uni-radio-group,uni-app uni-checkbox-group,uni-app uni-scroll-view,uni-app uni-list-view,uni-app uni-unicloud-db,uni-app uni-custom-tab-bar,uni-app uni-sticky-section,uni-app uni-sticky-header{display:flex;align-items:stretch;align-content:stretch;justify-content:flex-start}uni-app uni-page-body,uni-app uni-left-window .uni-left-window,uni-app uni-right-window .uni-right-window,uni-app uni-top-window .uni-top-window,uni-app uni-view,uni-app uni-label,uni-app uni-swiper,uni-app uni-swiper-item,uni-app uni-movable-area,uni-app uni-movable-view,uni-app uni-cover-view,uni-app uni-list-item,uni-app uni-navigator,uni-app uni-radio-group,uni-app uni-checkbox-group,uni-app uni-scroll-view,uni-app uni-list-view,uni-app uni-unicloud-db,uni-app uni-sticky-section,uni-app uni-sticky-header{flex-direction:column}uni-app uni-view,uni-app uni-label,uni-app uni-swiper,uni-app uni-swiper-item,uni-app uni-movable-area,uni-app uni-movable-view,uni-app uni-cover-view,uni-app uni-list-item,uni-app uni-navigator,uni-app uni-radio-group,uni-app uni-checkbox-group{overflow:hidden}uni-app uni-button{margin:0}uni-app uni-scroll-view{width:auto}uni-app .uni-scroll-view,uni-app .uni-scroll-view-content,uni-app .uni-list-view-visible,uni-app uni-navigator a{flex-direction:inherit;align-items:inherit;align-content:inherit;justify-content:inherit}uni-app uni-navigator a{display:flex;width:100%;height:100%}uni-app .uni-scroll-view-content,uni-app .uni-sticky-header-wrapper{display:flex;min-height:0px}uni-app uni-swiper-item{position:absolute}uni-app .uni-input-input,uni-app .uni-textarea-textarea{caret-color:#3393e2}uni-app .uni-input-input:disabled,uni-app .uni-textarea-textarea:disabled{cursor:inherit}uni-app uni-checkbox{align-items:center}uni-app .uni-checkbox-wrapper{flex-direction:inherit;align-content:inherit;justify-content:inherit;align-items:inherit;width:100%;height:100%}uni-app .uni-video-cover{background-color:unset}body .uni-toast{width:120px;height:120px;display:flex;justify-content:center;flex-direction:column;align-items:center;background-color:#4c4c4c}body .uni-toast__icon{margin:8px 0}body .uni-toast__content{margin:0;font-size:14px;line-height:1.6;color:rgba(255,255,255,.8)}body .uni-modal{border-radius:12px}body .uni-modal__hd{padding:32px 24px 16px}body .uni-modal__title{font-weight:700;font-size:17px;line-height:1.4;-webkit-line-clamp:unset}body .uni-modal__bd{font-size:17px;padding:0 24px;margin-bottom:32px;min-height:unset;max-height:300px;overflow:hidden auto;hyphens:auto}body .uni-modal__textarea{display:block;width:100%;height:48px;font-size:17px;line-height:24px;padding:0 8px}body .uni-modal__ft{line-height:56px;font-size:17px}body .uni-modal__btn{font-weight:700}body .uni-modal__btn_primary{color:#576b95}@media screen and (max-width: 500px){body .uni-actionsheet{left:0;right:0;bottom:0;border-top-left-radius:12px;border-top-right-radius:12px;background-color:#f7f7f7;overflow:hidden}body .uni-actionsheet__menu{border-radius:0;background-color:#fff}body .uni-actionsheet__action{border-radius:0;margin-top:8px}body .uni-actionsheet__cell,body .uni-actionsheet__title{padding:16px;line-height:24px}body .uni-actionsheet__cell{font-size:17px}body .uni-actionsheet__title{font-size:14px;color:#747474}}:is(.uni-video-slots *){pointer-events:auto}uni-live-player{display:block;overflow:hidden}uni-live-player[hidden]{display:none}uni-live-pusher{display:block;overflow:hidden}uni-live-pusher[hidden]{display:none}uni-map{position:relative;width:300px;height:150px;display:block}uni-map[hidden]{display:none}.amap-marker-label{padding:0;border:none;background-color:transparent}.amap-marker>.amap-icon>img{left:0!important;top:0!important}.uni-map-control{position:absolute;width:0;height:0;top:0;left:0;z-index:999}.uni-map-control-icon{position:absolute;max-width:initial}uni-picker{position:relative;display:block;cursor:pointer}uni-picker[hidden]{display:none}uni-picker[disabled]{cursor:not-allowed}.uni-picker-container{display:none;position:fixed;left:0;right:0;top:0;bottom:0;box-sizing:border-box;z-index:999;font-size:16px}.uni-picker-container .uni-picker-custom *{box-sizing:border-box}.uni-picker-container .uni-picker-custom{position:fixed;left:0;bottom:0;transform:translateY(100%);backface-visibility:hidden;z-index:999;width:100%;background-color:#fff;visibility:hidden;transition:transform .3s,visibility .3s}.uni-picker-container .uni-picker-custom.uni-picker-toggle{visibility:visible;transform:translate(0)}.uni-picker-container .uni-picker-content{position:relative;display:block;width:100%;height:238px;background-color:#fff}.uni-picker-container .uni-picker-item{padding:0;height:34px;line-height:34px;text-align:center;color:#000;text-overflow:ellipsis;white-space:nowrap;overflow:hidden;cursor:pointer}.uni-picker-container .uni-picker-header{display:block;position:relative;text-align:center;width:100%;height:45px}.uni-picker-container .uni-picker-header:after{content:"";position:absolute;left:0;bottom:0;right:0;height:1px;clear:both;border-bottom:1px solid #e5e5e5;color:#e5e5e5;transform-origin:0 100%;transform:scaleY(.5)}.uni-picker-container .uni-picker-action{display:block;max-width:50%;top:0;height:100%;box-sizing:border-box;padding:0 14px;font-size:17px;line-height:45px;overflow:hidden;cursor:pointer}.uni-picker-container .uni-picker-action.uni-picker-action-cancel{float:left;color:#888}.uni-picker-container .uni-picker-action.uni-picker-action-confirm{float:right;color:#007aff}.uni-picker-container .uni-picker-select{display:none}.uni-picker-system{position:absolute;display:none;display:block;top:0;left:0;width:100%;height:100%;overflow:hidden}.uni-picker-system>.uni-picker-system_input{position:absolute;border:none;height:100%;opacity:0;cursor:pointer}.uni-picker-system>.uni-picker-system_input.firefox{top:0;left:0;width:100%}.uni-picker-system>.uni-picker-system_input.chrome{top:0;left:0;width:2em;font-size:32px;height:32px}@media screen and (min-width: 500px) and (min-height: 500px){.uni-mask.uni-picker-mask{background:none}.uni-picker-container .uni-picker-custom{width:300px;left:50%;right:auto;top:50%;bottom:auto;transform:translate(-50%,-50%);opacity:0;border-radius:5px;transition:opacity .3s,visibility .3s;box-shadow:0 0 20px 5px rgba(0,0,0,.3)}.uni-picker-container .uni-picker-header{border-radius:5px 5px 0 0}.uni-picker-container .uni-picker-content{transform:translate(0 0);overflow:hidden;border-radius:0 0 5px 5px}.uni-picker-container .uni-picker-custom.uni-picker-toggle{opacity:1;transform:translate(-50%,-50%)}.uni-selector-select .uni-picker-header,.uni-selector-select .uni-picker-content{display:none}.uni-selector-select .uni-picker-select{display:block;max-height:300px;overflow:auto;background-color:#fff;border-radius:5px;padding:6px 0}.uni-selector-select .uni-picker-item{padding:0 10px;color:#555}.uni-selector-select .uni-picker-item:hover{background-color:#f6f6f6}.uni-selector-select .uni-picker-item.selected{color:#007aff}}@media (prefers-color-scheme: dark){.uni-picker-container .uni-picker-content{background-color:var(--UI-BG-2)}.uni-selector-select .uni-picker-item,.uni-picker-container .uni-picker-item,.uni-picker-container .uni-picker-action.uni-picker-action-cancel{color:var(--UI-FG-0)}.uni-picker-container .uni-picker-custom{background-color:var(--UI-BG-2)}.uni-picker-container .uni-picker-header:after{border-bottom-color:var(--UI-FG-3)}}uni-video{width:300px;height:225px;display:inline-block;line-height:0;overflow:hidden;position:relative}uni-video[hidden]{display:none}.uni-video-container{width:100%;height:100%;background-color:#000;display:inline-block;position:absolute;top:0;left:0;overflow:hidden;object-position:inherit}.uni-video-container.uni-video-type-fullscreen{position:fixed;z-index:999}.uni-video-video{width:100%;height:100%;object-position:inherit}.uni-video-cover{position:absolute;top:0;left:0;bottom:0;width:100%;display:flex;flex-direction:column;justify-content:center;align-items:center;background-color:rgba(1,1,1,.5);z-index:1}.uni-video-slots{position:absolute;left:0;top:0;width:100%;height:100%;overflow:hidden;pointer-events:none}.uni-video-cover-play-button{width:40px;height:40px;background-size:50%;background-repeat:no-repeat;background-position:50% 50%;cursor:pointer}.uni-video-cover-duration{color:#fff;font-size:16px;line-height:1;margin-top:10px}.uni-video-bar{height:44px;background-color:rgba(0,0,0,.5);overflow:hidden;position:absolute;bottom:0;right:0;display:flex;align-items:center;padding:0 10px;z-index:0;transform:translateZ(0)}.uni-video-bar.uni-video-bar-full{left:0}.uni-video-controls{display:flex;flex-grow:1;margin:0 8.5px}.uni-video-control-button{width:13px;height:15px;padding:14.5px 12.5px;margin-left:-8.5px;box-sizing:content-box;cursor:pointer}.uni-video-control-button:after{content:"";display:block;width:100%;height:100%;background-size:100%;background-position:50% 50%;background-repeat:no-repeat}.uni-video-control-button.uni-video-control-button-play:after,.uni-video-cover-play-button{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABoAAAAeCAYAAAAy2w7YAAAAAXNSR0IArs4c6QAAAWhJREFUSA1j+P///0cgBoHjQGzCQCsAtgJB/AMy5wCxGNXtQ9iBwvoA5BUCMQvVLEQxHpNzDSjkRhXLMM3GKrIeKKpEkYVYjcUu+AMo3ALE3GRZiN1MvKKPgbIRJFuG10j8koeA0gZEW4jfLIKyf4EqpgOxMEELCRpFnIJ3QGU5QMyM00LizCFa1SWgSkeslhFtBGkKVwGVy6FYSJp+klR/A6quB2JOkIWMIK0oNlOf8xBoZDE9LAI7nYn6HsBq4l96WHQEaLUpAyiOaASeAM2NgvuPBpaACt82IEYtfKls0UagecpwXyAzqGTRdaA57sjmYrAptAjUsCkGYlYMg9EFyLQI1IiZB8Ti6Obh5JNh0QmgHlOcBuKSIMGi50C18UDMiMssvOJEWPQLqKYbiHnxGkRIkoBF24DyaoTMIEoeh0W3geI+RBlArCI0iz4D+RVAzEasfqLVAQ19AcSg5LoYiKWI1kiiQgCMBLnEEcfDSgAAAABJRU5ErkJggg==)}.uni-video-control-button.uni-video-control-button-pause:after{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABIAAAAgCAYAAAAffCjxAAAAAXNSR0IArs4c6QAAAFlJREFUSA3tksEKACAIQ7X//5zq98wOgQayum8QaGweHhMzG/6OujzKAymn+0LMqivu1XznWmX8/echTIyMyAgTwA72iIwwAexgj8gIE8CO3aMRbDPMaEy5BRGaKcZv8YxRAAAAAElFTkSuQmCC)}.uni-video-current-time,.uni-video-duration{height:14.5px;line-height:14.5px;margin-top:15px;margin-bottom:14.5px;font-size:12px;color:#cbcbcb}.uni-video-progress-container{flex-grow:2;position:relative}.uni-video-progress{height:2px;margin:21px 12px;background-color:rgba(255,255,255,.4);position:relative;cursor:pointer}.uni-video-progress-buffered{position:absolute;left:0;top:0;width:0;height:100%;transition:width .1s;background-color:rgba(255,255,255,.8)}.uni-video-ball{width:16px;height:16px;padding:14px;position:absolute;top:-21px;box-sizing:content-box;left:0%;margin-left:-22px}.uni-video-inner{width:100%;height:100%;background-color:#fff;border-radius:50%}.uni-video-danmu-button{white-space:nowrap;line-height:1;padding:2px 10px;border:1px solid #fff;border-radius:5px;font-size:13px;color:#fff;margin:0 8.5px;cursor:pointer}.uni-video-danmu-button.uni-video-danmu-button-active{border-color:#48c23d;color:#48c23d}.uni-video-fullscreen{width:17px;height:17px;padding:8.5px;box-sizing:content-box;background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACIAAAAiCAYAAAA6RwvCAAAAAXNSR0IArs4c6QAAAQRJREFUWAnt1d0NwiAQB/CmS7hHX5zFxLF0Ah2hE/lg7BT4PyMJUj6Oyt299BIioZT7ARYG59wLpTXmoXOMGO/QecxtwyWW4o42AupGALkFdX1MkHxE3Q7jIbQPqNthQogpJoZkMLRlsn/gFMQEk4OoY0oQVUwNoobhQFQwgMxUKFkt0C8+Zy61d8SeR5iHWCLOwF/MCb8Tp//ex3QFsE1HlCfKFUX2OijNFMnPKD7k76YcBoL402Zh8B77+MjlXrVvwfglXA32b0MrRgxCE2nBiEJaMOIQLkYFwsGoQWoYVUgJow4pYD4Weq4ayBqfwDYQmnUK0301kITujuawu65/l2B5A4z3Qe+Ut7EBAAAAAElFTkSuQmCC);background-size:50%;background-position:50% 50%;background-repeat:no-repeat;cursor:pointer}.uni-video-fullscreen.uni-video-type-fullscreen{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACIAAAAiCAYAAAA6RwvCAAABBElEQVRYhcXWwQ3CMAwF0O+qOzAKQzAAl0pMxQQwQhmGKwcERxbgc4lEVdHUbm3zJR8qJemTo6YByS3JO8kjyQbGkHQpkOz4zcmK8YQ0BWDCkOxL+UDKombMYKwfZAkmDGLFhEIsmHCIFpMC0WDSIHOYVEgNkw6pYPIhE5j/QCoYF0g7eEkPYGej+cX82x/l6aIAIOb9CcrajrjFE/IAQGP1IgIRcYVsVs32+vx+nC9nWq6dAZDhOaPHBEDGh54O4w0pa9oxEZBFmCjIBGb6Qh4JMWGiIWpMBkSFyYLMYjIhNUw7N9GQi2aQiLxJHspjV+rl1hFrRp25uV2MRGQRBsAewPUD/HhJVOOuCzwAAAAASUVORK5CYII=)}.uni-video-danmu{position:absolute;top:0;left:0;bottom:0;width:100%;margin-top:14px;margin-bottom:44px;font-size:14px;line-height:14px;overflow:visible}.uni-video-danmu-item{line-height:1;position:absolute;color:#fff;white-space:nowrap;left:100%;transform:translate(0);transition-property:left,transform;transition-duration:3s;transition-timing-function:linear}.uni-video-toast{pointer-events:none;position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);border-radius:5px;background-color:rgba(255,255,255,.8);color:#000;display:none}.uni-video-toast.uni-video-toast-volume{width:100px;height:100px;display:block}.uni-video-toast-volume .uni-video-toast-title{width:100%;font-size:12px;line-height:16px;text-align:center;margin-top:10px;display:block}.uni-video-toast-volume .uni-video-toast-icon{fill:#000;width:50%;height:50%;margin-left:25%;display:block}.uni-video-toast-volume .uni-video-toast-value{width:80px;height:5px;margin-top:5px;margin-left:10px}.uni-video-toast-volume .uni-video-toast-value>.uni-video-toast-value-content{overflow:hidden}.uni-video-toast-volume-grids{width:80px;height:5px}.uni-video-toast-volume-grids-item{float:left;width:7.1px;height:5px;background-color:#000}.uni-video-toast-volume-grids-item:not(:first-child){margin-left:1px}.uni-video-toast.uni-video-toast-progress{display:block;background-color:rgba(0,0,0,.8);color:#fff;font-size:14px;line-height:18px;padding:6px}uni-web-view{display:flex}uni-web-view.uni-webview--fullscreen{position:absolute;left:0;right:0;top:0;bottom:0}uni-web-view.uni-webview{flex:1}uni-web-view.uni-webview>iframe{width:100%;height:100%;border:none}uni-button{position:relative;display:block;margin-left:auto;margin-right:auto;padding-left:14px;padding-right:14px;box-sizing:border-box;font-size:18px;text-align:center;text-decoration:none;line-height:2.55555556;border-radius:5px;-webkit-tap-highlight-color:transparent;overflow:hidden;color:#000;background-color:#f8f8f8;cursor:pointer}uni-button[hidden]{display:none!important}uni-button:after{content:" ";width:200%;height:200%;position:absolute;top:0;left:0;border:1px solid rgba(0,0,0,.2);transform:scale(.5);transform-origin:0 0;box-sizing:border-box;border-radius:10px}uni-button[native]{padding-left:0;padding-right:0}uni-button[native] .uni-button-cover-view-wrapper{border:inherit;border-color:inherit;border-radius:inherit;background-color:inherit}uni-button[native] .uni-button-cover-view-inner{padding-left:14px;padding-right:14px}uni-button uni-cover-view{line-height:inherit;white-space:inherit}uni-button[type=default]{color:#000;background-color:#f8f8f8}uni-button[type=primary]{color:#fff;background-color:#007aff}uni-button[type=warn]{color:#fff;background-color:#e64340}uni-button[disabled]{color:rgba(255,255,255,.6);cursor:not-allowed}uni-button[disabled][type=default],uni-button[disabled]:not([type]){color:rgba(0,0,0,.3);background-color:#f7f7f7}uni-button[disabled][type=primary]{background-color:rgba(0,122,255,.6)}uni-button[disabled][type=warn]{background-color:#ec8b89}uni-button[type=primary][plain]{color:#007aff;border:1px solid #007aff;background-color:transparent}uni-button[type=primary][plain][disabled]{color:rgba(0,0,0,.2);border-color:rgba(0,0,0,.2)}uni-button[type=primary][plain]:after{border-width:0}uni-button[type=default][plain]{color:#353535;border:1px solid #353535;background-color:transparent}uni-button[type=default][plain][disabled]{color:rgba(0,0,0,.2);border-color:rgba(0,0,0,.2)}uni-button[type=default][plain]:after{border-width:0}uni-button[plain]{color:#353535;border:1px solid #353535;background-color:transparent}uni-button[plain][disabled]{color:rgba(0,0,0,.2);border-color:rgba(0,0,0,.2)}uni-button[plain]:after{border-width:0}uni-button[plain][native] .uni-button-cover-view-inner{padding:0}uni-button[type=warn][plain]{color:#e64340;border:1px solid #e64340;background-color:transparent}uni-button[type=warn][plain][disabled]{color:rgba(0,0,0,.2);border-color:rgba(0,0,0,.2)}uni-button[type=warn][plain]:after{border-width:0}uni-button[size=mini]{display:inline-block;line-height:2.3;font-size:13px;padding:0 1.34em}uni-button[size=mini][native]{padding:0}uni-button[size=mini][native] .uni-button-cover-view-inner{padding:0 1.34em}uni-button[loading]:not([disabled]){cursor:progress}uni-button[loading]:before{content:" ";display:inline-block;width:18px;height:18px;vertical-align:middle;animation:uni-loading 1s steps(12,end) infinite;background-size:100%}uni-button[loading][type=primary]{color:rgba(255,255,255,.6);background-color:#0062cc}uni-button[loading][type=primary][plain]{color:#007aff;background-color:transparent}uni-button[loading][type=default]{color:rgba(0,0,0,.6);background-color:#dedede}uni-button[loading][type=default][plain]{color:#353535;background-color:transparent}uni-button[loading][type=warn]{color:rgba(255,255,255,.6);background-color:#ce3c39}uni-button[loading][type=warn][plain]{color:#e64340;background-color:transparent}uni-button[loading][native]:before{content:none}.button-hover{color:rgba(0,0,0,.6);background-color:#dedede}.button-hover[plain]{color:rgba(53,53,53,.6);border-color:rgba(53,53,53,.6);background-color:transparent}.button-hover[type=primary]{color:rgba(255,255,255,.6);background-color:#0062cc}.button-hover[type=primary][plain]{color:rgba(0,122,255,.6);border-color:rgba(0,122,255,.6);background-color:transparent}.button-hover[type=default]{color:rgba(0,0,0,.6);background-color:#dedede}.button-hover[type=default][plain]{color:rgba(53,53,53,.6);border-color:rgba(53,53,53,.6);background-color:transparent}.button-hover[type=warn]{color:rgba(255,255,255,.6);background-color:#ce3c39}.button-hover[type=warn][plain]{color:rgba(230,67,64,.6);border-color:rgba(230,67,64,.6);background-color:transparent}@media (prefers-color-scheme: dark){uni-button,uni-button[type=default]{color:#d6d6d6;background-color:#343434}.button-hover,.button-hover[type=default]{color:#d6d6d6;background-color:rgba(255,255,255,.1)}uni-button[disabled][type=default],uni-button[disabled]:not([type]){color:rgba(255,255,255,.2);background-color:rgba(255,255,255,.08)}uni-button[type=primary][plain][disabled]{color:rgba(255,255,255,.2);border-color:rgba(255,255,255,.2)}uni-button[type=default][plain]{color:#d6d6d6;border:1px solid #d6d6d6}.button-hover[type=default][plain]{color:rgba(150,150,150,.6);border-color:rgba(150,150,150,.6);background-color:rgba(50,50,50,.2)}uni-button[type=default][plain][disabled]{border-color:rgba(255,255,255,.2);color:rgba(255,255,255,.2)}}uni-canvas{width:300px;height:150px;display:block;position:relative}uni-canvas>.uni-canvas-canvas{position:absolute;top:0;left:0;width:100%;height:100%}uni-checkbox-group[hidden]{display:none}uni-checkbox{-webkit-tap-highlight-color:transparent;display:inline-block;cursor:pointer}uni-checkbox[hidden]{display:none}uni-checkbox[disabled]{cursor:not-allowed}.uni-checkbox-wrapper{display:inline-flex;align-items:center;vertical-align:middle}.uni-checkbox-input{margin-right:5px;-webkit-appearance:none;appearance:none;outline:0;border:1px solid #d1d1d1;background-color:#fff;border-radius:3px;width:22px;height:22px;position:relative}.uni-checkbox-input svg{color:#007aff;font-size:22px;position:absolute;top:50%;left:50%;transform:translate(-50%,-48%) scale(.73)}@media (hover: hover){uni-checkbox:not([disabled]) .uni-checkbox-input:hover{border-color:var(--HOVER-BD-COLOR, #007aff)!important}}uni-checkbox-group{display:block}.ql-container{display:block;position:relative;box-sizing:border-box;user-select:text;outline:none;overflow:hidden;width:100%;height:200px;min-height:200px}.ql-container[hidden]{display:none}.ql-container .ql-editor{position:relative;font-size:inherit;line-height:inherit;font-family:inherit;min-height:inherit;width:100%;height:100%;padding:0;overflow-x:hidden;overflow-y:auto;-webkit-tap-highlight-color:transparent;-webkit-touch-callout:none;-webkit-overflow-scrolling:touch}.ql-container .ql-editor::-webkit-scrollbar{width:0!important}.ql-container .ql-editor.scroll-disabled{overflow:hidden}.ql-container .ql-image-overlay{display:flex;position:absolute;box-sizing:border-box;border:1px dashed #ccc;justify-content:center;align-items:center;user-select:none}.ql-container .ql-image-overlay .ql-image-size{position:absolute;padding:4px 8px;text-align:center;background-color:#fff;color:#888;border:1px solid #ccc;box-sizing:border-box;opacity:.8;right:4px;top:4px;font-size:12px;display:inline-block;width:auto}.ql-container .ql-image-overlay .ql-image-toolbar{position:relative;text-align:center;box-sizing:border-box;background:#000;border-radius:5px;color:#fff;font-size:0;min-height:24px;z-index:100}.ql-container .ql-image-overlay .ql-image-toolbar span{display:inline-block;cursor:pointer;padding:5px;font-size:12px;border-right:1px solid #fff}.ql-container .ql-image-overlay .ql-image-toolbar span:last-child{border-right:0}.ql-container .ql-image-overlay .ql-image-toolbar span.triangle-up{padding:0;position:absolute;top:-12px;left:50%;transform:translate(-50%);width:0;height:0;border-width:6px;border-style:solid;border-color:transparent transparent black transparent}.ql-container .ql-image-overlay .ql-image-handle{position:absolute;height:12px;width:12px;border-radius:50%;border:1px solid #ccc;box-sizing:border-box;background:#fff}.ql-container img{display:inline-block;max-width:100%}.ql-clipboard p{margin:0;padding:0}.ql-editor{box-sizing:border-box;height:100%;outline:none;overflow-y:auto;tab-size:4;-moz-tab-size:4;text-align:left;white-space:pre-wrap;word-wrap:break-word}.ql-editor>*{cursor:text}.ql-editor p,.ql-editor ol,.ql-editor ul,.ql-editor pre,.ql-editor blockquote,.ql-editor h1,.ql-editor h2,.ql-editor h3,.ql-editor h4,.ql-editor h5,.ql-editor h6{margin:0;padding:0;counter-reset:list-1 list-2 list-3 list-4 list-5 list-6 list-7 list-8 list-9}.ql-editor ol>li,.ql-editor ul>li{list-style-type:none}.ql-editor ul>li:before{content:"•"}.ql-editor ul[data-checked=true],.ql-editor ul[data-checked=false]{pointer-events:none}.ql-editor ul[data-checked=true]>li *,.ql-editor ul[data-checked=false]>li *{pointer-events:all}.ql-editor ul[data-checked=true]>li:before,.ql-editor ul[data-checked=false]>li:before{color:#777;cursor:pointer;pointer-events:all}.ql-editor ul[data-checked=true]>li:before{content:"☑"}.ql-editor ul[data-checked=false]>li:before{content:"☐"}.ql-editor li:before{display:inline-block;white-space:nowrap;width:2em}.ql-editor ol li{counter-reset:list-1 list-2 list-3 list-4 list-5 list-6 list-7 list-8 list-9;counter-increment:list-0}.ql-editor ol li:before{content:counter(list-0,decimal) ". "}.ql-editor ol li.ql-indent-1{counter-increment:list-1}.ql-editor ol li.ql-indent-1:before{content:counter(list-1,lower-alpha) ". "}.ql-editor ol li.ql-indent-1{counter-reset:list-2 list-3 list-4 list-5 list-6 list-7 list-8 list-9}.ql-editor ol li.ql-indent-2{counter-increment:list-2}.ql-editor ol li.ql-indent-2:before{content:counter(list-2,lower-roman) ". "}.ql-editor ol li.ql-indent-2{counter-reset:list-3 list-4 list-5 list-6 list-7 list-8 list-9}.ql-editor ol li.ql-indent-3{counter-increment:list-3}.ql-editor ol li.ql-indent-3:before{content:counter(list-3,decimal) ". "}.ql-editor ol li.ql-indent-3{counter-reset:list-4 list-5 list-6 list-7 list-8 list-9}.ql-editor ol li.ql-indent-4{counter-increment:list-4}.ql-editor ol li.ql-indent-4:before{content:counter(list-4,lower-alpha) ". "}.ql-editor ol li.ql-indent-4{counter-reset:list-5 list-6 list-7 list-8 list-9}.ql-editor ol li.ql-indent-5{counter-increment:list-5}.ql-editor ol li.ql-indent-5:before{content:counter(list-5,lower-roman) ". "}.ql-editor ol li.ql-indent-5{counter-reset:list-6 list-7 list-8 list-9}.ql-editor ol li.ql-indent-6{counter-increment:list-6}.ql-editor ol li.ql-indent-6:before{content:counter(list-6,decimal) ". "}.ql-editor ol li.ql-indent-6{counter-reset:list-7 list-8 list-9}.ql-editor ol li.ql-indent-7{counter-increment:list-7}.ql-editor ol li.ql-indent-7:before{content:counter(list-7,lower-alpha) ". "}.ql-editor ol li.ql-indent-7{counter-reset:list-8 list-9}.ql-editor ol li.ql-indent-8{counter-increment:list-8}.ql-editor ol li.ql-indent-8:before{content:counter(list-8,lower-roman) ". "}.ql-editor ol li.ql-indent-8{counter-reset:list-9}.ql-editor ol li.ql-indent-9{counter-increment:list-9}.ql-editor ol li.ql-indent-9:before{content:counter(list-9,decimal) ". "}.ql-editor .ql-indent-1:not(.ql-direction-rtl){padding-left:2em}.ql-editor li.ql-indent-1:not(.ql-direction-rtl){padding-left:2em}.ql-editor .ql-indent-1.ql-direction-rtl.ql-align-right,.ql-editor li.ql-indent-1.ql-direction-rtl.ql-align-right{padding-right:2em}.ql-editor .ql-indent-2:not(.ql-direction-rtl){padding-left:4em}.ql-editor li.ql-indent-2:not(.ql-direction-rtl){padding-left:4em}.ql-editor .ql-indent-2.ql-direction-rtl.ql-align-right,.ql-editor li.ql-indent-2.ql-direction-rtl.ql-align-right{padding-right:4em}.ql-editor .ql-indent-3:not(.ql-direction-rtl){padding-left:6em}.ql-editor li.ql-indent-3:not(.ql-direction-rtl){padding-left:6em}.ql-editor .ql-indent-3.ql-direction-rtl.ql-align-right,.ql-editor li.ql-indent-3.ql-direction-rtl.ql-align-right{padding-right:6em}.ql-editor .ql-indent-4:not(.ql-direction-rtl){padding-left:8em}.ql-editor li.ql-indent-4:not(.ql-direction-rtl){padding-left:8em}.ql-editor .ql-indent-4.ql-direction-rtl.ql-align-right,.ql-editor li.ql-indent-4.ql-direction-rtl.ql-align-right{padding-right:8em}.ql-editor .ql-indent-5:not(.ql-direction-rtl){padding-left:10em}.ql-editor li.ql-indent-5:not(.ql-direction-rtl){padding-left:10em}.ql-editor .ql-indent-5.ql-direction-rtl.ql-align-right,.ql-editor li.ql-indent-5.ql-direction-rtl.ql-align-right{padding-right:10em}.ql-editor .ql-indent-6:not(.ql-direction-rtl){padding-left:12em}.ql-editor li.ql-indent-6:not(.ql-direction-rtl){padding-left:12em}.ql-editor .ql-indent-6.ql-direction-rtl.ql-align-right,.ql-editor li.ql-indent-6.ql-direction-rtl.ql-align-right{padding-right:12em}.ql-editor .ql-indent-7:not(.ql-direction-rtl){padding-left:14em}.ql-editor li.ql-indent-7:not(.ql-direction-rtl){padding-left:14em}.ql-editor .ql-indent-7.ql-direction-rtl.ql-align-right,.ql-editor li.ql-indent-7.ql-direction-rtl.ql-align-right{padding-right:14em}.ql-editor .ql-indent-8:not(.ql-direction-rtl){padding-left:16em}.ql-editor li.ql-indent-8:not(.ql-direction-rtl){padding-left:16em}.ql-editor .ql-indent-8.ql-direction-rtl.ql-align-right,.ql-editor li.ql-indent-8.ql-direction-rtl.ql-align-right{padding-right:16em}.ql-editor .ql-indent-9:not(.ql-direction-rtl){padding-left:18em}.ql-editor li.ql-indent-9:not(.ql-direction-rtl){padding-left:18em}.ql-editor .ql-indent-9.ql-direction-rtl.ql-align-right,.ql-editor li.ql-indent-9.ql-direction-rtl.ql-align-right{padding-right:18em}.ql-editor .ql-direction-rtl{direction:rtl;text-align:inherit}.ql-editor .ql-align-center{text-align:center}.ql-editor .ql-align-justify{text-align:justify}.ql-editor .ql-align-right{text-align:right}.ql-editor.ql-blank:before{color:rgba(0,0,0,.6);content:attr(data-placeholder);font-style:italic;pointer-events:none;position:absolute}.ql-container.ql-disabled .ql-editor ul[data-checked]>li:before{pointer-events:none}.ql-clipboard{left:-100000px;height:1px;overflow-y:hidden;position:absolute;top:50%}uni-icon{display:inline-block;font-size:0;box-sizing:border-box}uni-icon[hidden]{display:none}uni-image{width:320px;height:240px;display:inline-block;overflow:hidden;position:relative}uni-image[hidden]{display:none}uni-image>div{width:100%;height:100%;background-repeat:no-repeat}uni-image>img{-webkit-touch-callout:none;user-select:none;display:block;position:absolute;top:0;left:0;width:100%;height:100%;opacity:0}uni-image>.uni-image-will-change{will-change:transform}uni-input{display:block;font-size:16px;line-height:1.4em;height:1.4em;min-height:1.4em;overflow:hidden}uni-input[hidden]{display:none}.uni-input-wrapper,.uni-input-placeholder,.uni-input-form,.uni-input-input{outline:none;border:none;padding:0;margin:0;text-decoration:inherit}.uni-input-wrapper,.uni-input-form{display:flex;position:relative;width:100%;height:100%;flex-direction:column;justify-content:center}.uni-input-placeholder,.uni-input-input{width:100%}.uni-input-placeholder{position:absolute;top:auto!important;left:0;color:gray;overflow:hidden;text-overflow:clip;white-space:pre;word-break:keep-all;pointer-events:none;line-height:inherit}.uni-input-input{position:relative;display:block;height:100%;background:none;color:inherit;opacity:1;font:inherit;line-height:inherit;letter-spacing:inherit;text-align:inherit;text-indent:inherit;text-transform:inherit;text-shadow:inherit}.uni-input-input[type=search]::-webkit-search-cancel-button,.uni-input-input[type=search]::-webkit-search-decoration{display:none}.uni-input-input::-webkit-outer-spin-button,.uni-input-input::-webkit-inner-spin-button{-webkit-appearance:none;appearance:none;margin:0}.uni-input-input[type=number]{-moz-appearance:textfield}.uni-input-input:disabled{-webkit-text-fill-color:currentcolor}.uni-label-pointer{cursor:pointer}uni-list-item{display:block}uni-list-view{display:block;width:100%}.uni-list-view-container{position:relative;-webkit-overflow-scrolling:touch;width:100%;height:100%}.uni-list-view-content{position:relative}.uni-list-view-visible{position:absolute}.uni-list-view-scrollbar-hidden::-webkit-scrollbar{display:none}.uni-list-view-scrollbar-hidden{-moz-scrollbars:none;scrollbar-width:none}uni-movable-area{display:block;position:relative;width:10px;height:10px}uni-movable-area[hidden]{display:none}uni-movable-view{display:inline-block;width:10px;height:10px;top:0;left:0;position:absolute;cursor:grab}uni-movable-view[hidden]{display:none}uni-navigator{height:auto;width:auto;display:block;cursor:pointer}uni-navigator[hidden]{display:none}.navigator-hover{background-color:rgba(0,0,0,.1);opacity:.7}.navigator-wrap,.navigator-wrap:link,.navigator-wrap:visited,.navigator-wrap:hover,.navigator-wrap:active{text-decoration:none;color:inherit;cursor:pointer}uni-picker-view-column{flex:1;position:relative;height:100%;overflow:hidden}uni-picker-view-column[hidden]{display:none}.uni-picker-view-group{height:100%;overflow:hidden}.uni-picker-view-mask{transform:translateZ(0)}.uni-picker-view-indicator,.uni-picker-view-mask{position:absolute;left:0;width:100%;z-index:3;pointer-events:none}.uni-picker-view-mask{top:0;height:100%;margin:0 auto;background-image:linear-gradient(180deg,rgba(255,255,255,.95),rgba(255,255,255,.6)),linear-gradient(0deg,rgba(255,255,255,.95),rgba(255,255,255,.6));background-position:top,bottom;background-size:100% 102px;background-repeat:no-repeat;transform:translateZ(0)}.uni-picker-view-indicator{height:34px;top:50%;transform:translateY(-50%)}.uni-picker-view-content{position:absolute;top:0;left:0;width:100%;will-change:transform;padding:102px 0;cursor:pointer}.uni-picker-view-content>*{height:var(--picker-view-column-indicator-height);overflow:hidden}.uni-picker-view-indicator:before{top:0;border-top:1px solid #e5e5e5;transform-origin:0 0;transform:scaleY(.5)}.uni-picker-view-indicator:after{bottom:0;border-bottom:1px solid #e5e5e5;transform-origin:0 100%;transform:scaleY(.5)}.uni-picker-view-indicator:after,.uni-picker-view-indicator:before{content:" ";position:absolute;left:0;right:0;height:1px;color:#e5e5e5}@media (prefers-color-scheme: dark){.uni-picker-view-indicator:before{border-top-color:var(--UI-FG-3)}.uni-picker-view-indicator:after{border-bottom-color:var(--UI-FG-3)}.uni-picker-view-mask{background-image:linear-gradient(180deg,rgba(35,35,35,.95),rgba(35,35,35,.6)),linear-gradient(0deg,rgba(35,35,35,.95),rgba(35,35,35,.6))}}uni-picker-view{display:block}.uni-picker-view-wrapper{display:flex;position:relative;overflow:hidden;height:100%}uni-picker-view[hidden]{display:none}uni-progress{display:flex;align-items:center}uni-progress[hidden]{display:none}.uni-progress-bar{flex:1}.uni-progress-inner-bar{width:0;height:100%}.uni-progress-info{margin-top:0;margin-bottom:0;min-width:2em;margin-left:15px;font-size:16px}uni-radio-group{display:block}uni-radio-group[hidden]{display:none}uni-radio{-webkit-tap-highlight-color:transparent;display:inline-block;cursor:pointer}uni-radio[hidden]{display:none}uni-radio[disabled]{cursor:not-allowed}.uni-radio-wrapper{display:inline-flex;align-items:center;vertical-align:middle}.uni-radio-input{-webkit-appearance:none;appearance:none;margin-right:5px;outline:0;border:1px solid #d1d1d1;background-color:#fff;border-radius:50%;width:22px;height:22px;position:relative}@media (hover: hover){uni-radio:not([disabled]) .uni-radio-input:hover{border-color:var(--HOVER-BD-COLOR, #007aff)!important}}.uni-radio-input svg{color:#fff;font-size:18px;position:absolute;top:50%;left:50%;transform:translate(-50%,-48%) scale(.73)}.uni-radio-input.uni-radio-input-disabled{background-color:#e1e1e1;border-color:#d1d1d1}.uni-radio-input.uni-radio-input-disabled svg{color:#adadad}.uni-scroll-view-refresher{position:relative;overflow:hidden;flex-shrink:0}.uni-scroll-view-refresher-container{position:absolute;width:100%;bottom:0;display:flex;flex-direction:column-reverse}.uni-scroll-view-refresh{position:absolute;top:0;left:0;right:0;bottom:0;display:flex;flex-direction:row;justify-content:center;align-items:center}.uni-scroll-view-refresh-inner{display:flex;align-items:center;justify-content:center;line-height:0;width:40px;height:40px;border-radius:50%;background-color:#fff;box-shadow:0 1px 6px rgba(0,0,0,.118),0 1px 4px rgba(0,0,0,.118)}.uni-scroll-view-refresh__spinner{transform-origin:center center;animation:uni-scroll-view-refresh-rotate 2s linear infinite}.uni-scroll-view-refresh__spinner>circle{stroke:currentColor;stroke-linecap:round;animation:uni-scroll-view-refresh-dash 2s linear infinite}@keyframes uni-scroll-view-refresh-rotate{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes uni-scroll-view-refresh-dash{0%{stroke-dasharray:1,200;stroke-dashoffset:0}50%{stroke-dasharray:89,200;stroke-dashoffset:-35px}to{stroke-dasharray:89,200;stroke-dashoffset:-124px}}@keyframes once-show{0%{top:0}}uni-resize-sensor,uni-resize-sensor>div{position:absolute;left:0;top:0;right:0;bottom:0;overflow:hidden}uni-resize-sensor{display:block;z-index:-1;visibility:hidden;animation:once-show 1ms}uni-resize-sensor>div>div{position:absolute;left:0;top:0}uni-resize-sensor>div:first-child>div{width:100000px;height:100000px}uni-resize-sensor>div:last-child>div{width:200%;height:200%}uni-scroll-view{display:block;width:100%}uni-scroll-view[hidden]{display:none}.uni-scroll-view{position:relative;-webkit-overflow-scrolling:touch;width:100%;height:100%;max-height:inherit}.uni-scroll-view-scrollbar-hidden::-webkit-scrollbar{display:none}.uni-scroll-view-scrollbar-hidden{-moz-scrollbars:none;scrollbar-width:none}.uni-scroll-view-content{width:100%;height:100%}uni-slider{margin:10px 18px;padding:0;display:block}uni-slider[hidden]{display:none}uni-slider .uni-slider-wrapper{display:-webkit-flex;display:flex;-webkit-align-items:center;align-items:center;min-height:16px}uni-slider .uni-slider-tap-area{-webkit-flex:1;flex:1;padding:8px 0}uni-slider .uni-slider-handle-wrapper{position:relative;height:2px;border-radius:5px;background-color:#e9e9e9;cursor:pointer;transition:background-color .3s ease;-webkit-tap-highlight-color:transparent}uni-slider .uni-slider-track{height:100%;border-radius:6px;background-color:#007aff;transition:background-color .3s ease}uni-slider .uni-slider-handle,uni-slider .uni-slider-thumb{position:absolute;left:50%;top:50%;cursor:pointer;border-radius:50%;transition:border-color .3s ease}uni-slider .uni-slider-handle{width:28px;height:28px;margin-top:-14px;margin-left:-14px;background-color:transparent;z-index:3;cursor:grab}uni-slider .uni-slider-thumb{z-index:2;box-shadow:0 0 4px rgba(0,0,0,.2)}uni-slider .uni-slider-step{position:absolute;width:100%;height:2px;background:transparent;z-index:1}uni-slider .uni-slider-value{width:3ch;color:#888;font-size:14px;margin-left:1em}uni-slider .uni-slider-disabled .uni-slider-track{background-color:#ccc}uni-slider .uni-slider-disabled .uni-slider-thumb{background-color:#fff;border-color:#ccc}uni-sticky-header{position:-webkit-sticky!important;position:sticky!important;top:0;z-index:1}uni-sticky-section{display:flex}uni-swiper-item{display:block;overflow:hidden;will-change:transform;position:absolute;width:100%;height:100%;cursor:grab}uni-swiper-item[hidden]{display:none}uni-swiper{display:block;height:150px}uni-swiper[hidden]{display:none}.uni-swiper-wrapper{overflow:hidden;position:relative;width:100%;height:100%;transform:translateZ(0)}.uni-swiper-slides{position:absolute;left:0;top:0;right:0;bottom:0}.uni-swiper-slide-frame{position:absolute;left:0;top:0;width:100%;height:100%;will-change:transform}.uni-swiper-dots{position:absolute;font-size:0}.uni-swiper-dots-horizontal{left:50%;bottom:10px;text-align:center;white-space:nowrap;transform:translate(-50%)}.uni-swiper-dots-horizontal .uni-swiper-dot{margin-right:8px}.uni-swiper-dots-horizontal .uni-swiper-dot:last-child{margin-right:0}.uni-swiper-dots-vertical{right:10px;top:50%;text-align:right;transform:translateY(-50%)}.uni-swiper-dots-vertical .uni-swiper-dot{display:block;margin-bottom:9px}.uni-swiper-dots-vertical .uni-swiper-dot:last-child{margin-bottom:0}.uni-swiper-dot{display:inline-block;width:8px;height:8px;cursor:pointer;transition-property:background-color;transition-timing-function:ease;background:rgba(0,0,0,.3);border-radius:50%}.uni-swiper-dot-active{background-color:#000}.uni-swiper-navigation{width:26px;height:26px;cursor:pointer;position:absolute;top:50%;margin-top:-13px;display:flex;align-items:center;transition:all .2s;border-radius:50%;opacity:1}.uni-swiper-navigation-disabled{opacity:.35;cursor:not-allowed}.uni-swiper-navigation-hide{opacity:0;cursor:auto;pointer-events:none}.uni-swiper-navigation-prev{left:10px}.uni-swiper-navigation-prev svg{margin-left:-1px;left:10px}.uni-swiper-navigation-prev.uni-swiper-navigation-vertical{top:18px;left:50%;margin-left:-13px}.uni-swiper-navigation-prev.uni-swiper-navigation-vertical svg{transform:rotate(90deg);margin-left:auto;margin-top:-2px}.uni-swiper-navigation-next{right:10px}.uni-swiper-navigation-next svg{transform:rotate(180deg)}.uni-swiper-navigation-next.uni-swiper-navigation-vertical{top:auto;bottom:5px;left:50%;margin-left:-13px}.uni-swiper-navigation-next.uni-swiper-navigation-vertical svg{margin-top:2px;transform:rotate(270deg)}uni-switch{-webkit-tap-highlight-color:transparent;display:inline-block;cursor:pointer}uni-switch[hidden]{display:none}uni-switch[disabled]{cursor:not-allowed}uni-switch[disabled] .uni-switch-input{opacity:.7}.uni-switch-wrapper{display:inline-flex;align-items:center;vertical-align:middle}.uni-switch-input{-webkit-appearance:none;appearance:none;position:relative;width:52px;height:32px;margin-right:5px;border:1px solid #dfdfdf;outline:0;border-radius:16px;box-sizing:border-box;background-color:#dfdfdf;transition:background-color .1s,border .1s}.uni-switch-input:before{content:" ";position:absolute;top:0;left:0;width:50px;height:30px;border-radius:15px;background-color:#fdfdfd;transition:transform .3s}.uni-switch-input:after{content:" ";position:absolute;top:0;left:0;width:30px;height:30px;border-radius:15px;background-color:#fff;box-shadow:0 1px 3px rgba(0,0,0,.4);transition:-webkit-transform .3s;transition:transform .3s;transition:transform .3s,-webkit-transform .3s}.uni-switch-input.uni-switch-input-checked{border-color:#007aff;background-color:#007aff}.uni-switch-input.uni-switch-input-checked:before{transform:scale(0)}.uni-switch-input.uni-switch-input-checked:after{transform:translate(20px)}uni-switch .uni-checkbox-input{margin-right:5px;-webkit-appearance:none;appearance:none;outline:0;border:1px solid #d1d1d1;background-color:#fff;border-radius:3px;width:22px;height:22px;position:relative;color:#007aff}uni-switch:not([disabled]) .uni-checkbox-input:hover{border-color:#007aff}uni-switch .uni-checkbox-input svg{fill:#007aff;font-size:22px;position:absolute;top:50%;left:50%;transform:translate(-50%,-48%) scale(.73)}.uni-checkbox-input.uni-checkbox-input-disabled{background-color:#e1e1e1}.uni-checkbox-input.uni-checkbox-input-disabled:before{color:#adadad}@media (prefers-color-scheme: dark){uni-switch .uni-switch-input{border-color:#3b3b3f}uni-switch .uni-switch-input,uni-switch .uni-switch-input:before{background-color:#3b3b3f}uni-switch .uni-switch-input:after{background-color:#fff;box-shadow:0 1px 3px rgba(0,0,0,.4)}uni-switch .uni-checkbox-input{background-color:#2c2c2c;border:1px solid #656565}}uni-text[selectable]{cursor:auto;user-select:text}uni-text{white-space:pre-line}uni-textarea{width:300px;height:150px;display:block;position:relative;font-size:16px;line-height:normal;white-space:pre-wrap;word-break:break-all}uni-textarea[hidden]{display:none}.uni-textarea-wrapper,.uni-textarea-placeholder,.uni-textarea-line,.uni-textarea-compute,.uni-textarea-textarea{outline:none;border:none;padding:0;margin:0;text-decoration:inherit}.uni-textarea-wrapper{display:block;position:relative;width:100%;height:100%;min-height:inherit;overflow-y:hidden}.uni-textarea-placeholder,.uni-textarea-line,.uni-textarea-compute,.uni-textarea-textarea{position:absolute;width:100%;height:100%;left:0;top:0;white-space:inherit;word-break:inherit}.uni-textarea-placeholder{color:gray;overflow:hidden}.uni-textarea-line,.uni-textarea-compute{visibility:hidden;height:auto}.uni-textarea-line{width:1em}.uni-textarea-textarea{resize:none;background:none;color:inherit;opacity:1;font:inherit;line-height:inherit;letter-spacing:inherit;text-align:inherit;text-indent:inherit;text-transform:inherit;text-shadow:inherit}.uni-textarea-textarea-fix-margin{width:auto;right:0;margin:0 -3px}.uni-textarea-textarea:disabled{-webkit-text-fill-color:currentcolor}uni-view{display:block}uni-view[hidden]{display:none}
|
package/package.json
ADDED
@@ -0,0 +1,51 @@
|
|
1
|
+
{
|
2
|
+
"name": "@vtj/uni",
|
3
|
+
"private": false,
|
4
|
+
"version": "0.10.0",
|
5
|
+
"type": "module",
|
6
|
+
"sideEffects": false,
|
7
|
+
"dependencies": {
|
8
|
+
"@vtj/core": "~0.10.0",
|
9
|
+
"@vtj/icons": "~0.10.0",
|
10
|
+
"@vtj/renderer": "~0.10.0",
|
11
|
+
"@vtj/utils": "~0.10.0"
|
12
|
+
},
|
13
|
+
"devDependencies": {
|
14
|
+
"@dcloudio/uni-app": "3.0.0-4040520250104002",
|
15
|
+
"@dcloudio/uni-app-vue": "3.0.0-4040520250104002",
|
16
|
+
"@dcloudio/uni-components": "3.0.0-4040520250104002",
|
17
|
+
"@dcloudio/uni-h5": "3.0.0-4040520250104002",
|
18
|
+
"@dcloudio/vite-plugin-uni": "3.0.0-4040520250104002",
|
19
|
+
"@vtj/cli": "~0.10.0"
|
20
|
+
},
|
21
|
+
"exports": {
|
22
|
+
"./dist/style.css": "./dist/style.scss",
|
23
|
+
".": {
|
24
|
+
"types": "./types/index.d.ts",
|
25
|
+
"import": "./dist/index.mjs",
|
26
|
+
"require": "./dist/index.mjs"
|
27
|
+
},
|
28
|
+
"./*": [
|
29
|
+
"./*"
|
30
|
+
]
|
31
|
+
},
|
32
|
+
"main": "./dist/index.cjs",
|
33
|
+
"module": "./dist/index.mjs",
|
34
|
+
"types": "./types/index.d.ts",
|
35
|
+
"files": [
|
36
|
+
"dist",
|
37
|
+
"types"
|
38
|
+
],
|
39
|
+
"gitHead": "d03843144f07c2d98c1e0c72c8c6eb1117c01722",
|
40
|
+
"publishConfig": {
|
41
|
+
"access": "public"
|
42
|
+
},
|
43
|
+
"scripts": {
|
44
|
+
"version": "node ./scripts/compilerVersion.mjs",
|
45
|
+
"build": "npm run version && vue-tsc && vite build && npm run build:umd",
|
46
|
+
"build:umd": "cross-env UMD=true vite build",
|
47
|
+
"test": "vitest run",
|
48
|
+
"vitest": "vitest",
|
49
|
+
"coverage": "vitest run --coverage"
|
50
|
+
}
|
51
|
+
}
|
@@ -0,0 +1 @@
|
|
1
|
+
export declare const compilerVersion = "4.45";
|
@@ -0,0 +1,75 @@
|
|
1
|
+
declare const _default: {
|
2
|
+
"name": "VTJ",
|
3
|
+
"appid": "__UNI__1FC118B",
|
4
|
+
"description": "VTJ移动跨端项目",
|
5
|
+
"versionName": "1.0.0",
|
6
|
+
"versionCode": "100",
|
7
|
+
"transformPx": false,
|
8
|
+
"app-plus": {
|
9
|
+
"usingComponents": true,
|
10
|
+
"nvueStyleCompiler": "uni-app",
|
11
|
+
"compilerVersion": 3,
|
12
|
+
"splashscreen": {
|
13
|
+
"alwaysShowBeforeRender": true,
|
14
|
+
"waiting": true,
|
15
|
+
"autoclose": true,
|
16
|
+
"delay": 0
|
17
|
+
},
|
18
|
+
"modules": {},
|
19
|
+
"distribute": {
|
20
|
+
"android": {
|
21
|
+
"permissions": [
|
22
|
+
"<uses-permission android:name=\"android.permission.CHANGE_NETWORK_STATE\"/>",
|
23
|
+
"<uses-permission android:name=\"android.permission.MOUNT_UNMOUNT_FILESYSTEMS\"/>",
|
24
|
+
"<uses-permission android:name=\"android.permission.VIBRATE\"/>",
|
25
|
+
"<uses-permission android:name=\"android.permission.READ_LOGS\"/>",
|
26
|
+
"<uses-permission android:name=\"android.permission.ACCESS_WIFI_STATE\"/>",
|
27
|
+
"<uses-feature android:name=\"android.hardware.camera.autofocus\"/>",
|
28
|
+
"<uses-permission android:name=\"android.permission.ACCESS_NETWORK_STATE\"/>",
|
29
|
+
"<uses-permission android:name=\"android.permission.CAMERA\"/>",
|
30
|
+
"<uses-permission android:name=\"android.permission.GET_ACCOUNTS\"/>",
|
31
|
+
"<uses-permission android:name=\"android.permission.READ_PHONE_STATE\"/>",
|
32
|
+
"<uses-permission android:name=\"android.permission.CHANGE_WIFI_STATE\"/>",
|
33
|
+
"<uses-permission android:name=\"android.permission.WAKE_LOCK\"/>",
|
34
|
+
"<uses-permission android:name=\"android.permission.FLASHLIGHT\"/>",
|
35
|
+
"<uses-feature android:name=\"android.hardware.camera\"/>",
|
36
|
+
"<uses-permission android:name=\"android.permission.WRITE_SETTINGS\"/>"
|
37
|
+
]
|
38
|
+
},
|
39
|
+
"ios": {},
|
40
|
+
"sdkConfigs": {},
|
41
|
+
"icons": {
|
42
|
+
"android": {
|
43
|
+
"hdpi": "src/static/logo.png",
|
44
|
+
"xhdpi": "src/static/logo.png",
|
45
|
+
"xxhdpi": "src/static/logo.png",
|
46
|
+
"xxxhdpi": "src/static/logo.png"
|
47
|
+
}
|
48
|
+
}
|
49
|
+
}
|
50
|
+
},
|
51
|
+
"quickapp": {},
|
52
|
+
"mp-weixin": {
|
53
|
+
"appid": "",
|
54
|
+
"setting": {
|
55
|
+
"urlCheck": false
|
56
|
+
},
|
57
|
+
"usingComponents": true
|
58
|
+
},
|
59
|
+
"mp-alipay": {
|
60
|
+
"usingComponents": true
|
61
|
+
},
|
62
|
+
"mp-baidu": {
|
63
|
+
"usingComponents": true
|
64
|
+
},
|
65
|
+
"mp-toutiao": {
|
66
|
+
"usingComponents": true
|
67
|
+
},
|
68
|
+
"uniStatistics": {
|
69
|
+
"enable": false
|
70
|
+
},
|
71
|
+
"vueVersion": "3"
|
72
|
+
}
|
73
|
+
;
|
74
|
+
|
75
|
+
export default _default;
|
package/types/index.d.ts
ADDED
@@ -0,0 +1 @@
|
|
1
|
+
export declare function injectUniCSS(id: string | number, css: any, global?: any): void;
|
@@ -0,0 +1 @@
|
|
1
|
+
export declare function injectUniGlobal(UniH5: any, global?: any): void;
|
@@ -0,0 +1,6 @@
|
|
1
|
+
import { UniConfig, JSFunction } from '@vtj/core';
|
2
|
+
import { Provider } from '@vtj/renderer';
|
3
|
+
import { SetupUniAppOptions, UniRoute } from '../types';
|
4
|
+
export declare function setupUniApp(options: SetupUniAppOptions): any;
|
5
|
+
export declare function createUniAppComponent(uniConfig: UniConfig, parser: (script: JSFunction) => Function): Record<string, Function>;
|
6
|
+
export declare function createUniRoutes(provider: Provider, createRenderer: any, includeBlock?: boolean): Promise<UniRoute[]>;
|
@@ -0,0 +1,8 @@
|
|
1
|
+
declare global {
|
2
|
+
interface Window {
|
3
|
+
uni: any;
|
4
|
+
}
|
5
|
+
}
|
6
|
+
export declare function loading(): (() => void) | undefined;
|
7
|
+
export declare function notify(message: string, title?: string, _type?: 'primary' | 'warning' | 'danger' | 'success'): void;
|
8
|
+
export declare function alert(message: string): void;
|
package/types/types.d.ts
ADDED
@@ -0,0 +1,166 @@
|
|
1
|
+
import { DefineComponent } from 'vue';
|
2
|
+
export interface UniRoute {
|
3
|
+
id: string;
|
4
|
+
path: string;
|
5
|
+
component: DefineComponent | (() => Promise<DefineComponent>);
|
6
|
+
style?: PageStyle;
|
7
|
+
needLogin?: boolean;
|
8
|
+
meta?: Record<string, any>;
|
9
|
+
home?: boolean;
|
10
|
+
}
|
11
|
+
export type RouterMode = 'hash' | 'history';
|
12
|
+
export interface SetupUniAppOptions {
|
13
|
+
Vue: any;
|
14
|
+
App: any;
|
15
|
+
UniH5: any;
|
16
|
+
window?: any;
|
17
|
+
routes?: UniRoute[];
|
18
|
+
manifestJson?: ManifestJson;
|
19
|
+
pagesJson?: PagesJson;
|
20
|
+
css?: string;
|
21
|
+
}
|
22
|
+
export interface ManifestJson {
|
23
|
+
name?: string;
|
24
|
+
appid?: string;
|
25
|
+
description?: string;
|
26
|
+
locale?: string;
|
27
|
+
versionName?: string;
|
28
|
+
versionCode?: number;
|
29
|
+
transformPx?: boolean;
|
30
|
+
networkTimeout?: {
|
31
|
+
request?: number;
|
32
|
+
connectSocket?: number;
|
33
|
+
uploadFile?: number;
|
34
|
+
downloadFile?: number;
|
35
|
+
};
|
36
|
+
debug?: boolean;
|
37
|
+
uniStatistics?: Record<string, any>;
|
38
|
+
['app-plus']?: Record<string, any>;
|
39
|
+
h5?: {
|
40
|
+
title?: string;
|
41
|
+
template?: string;
|
42
|
+
router?: {
|
43
|
+
mode?: RouterMode;
|
44
|
+
base?: string;
|
45
|
+
};
|
46
|
+
async?: {
|
47
|
+
loading?: string;
|
48
|
+
error?: string;
|
49
|
+
delay?: number;
|
50
|
+
timeout?: number;
|
51
|
+
};
|
52
|
+
sdkConfigs?: Record<string, any>;
|
53
|
+
};
|
54
|
+
quickapp?: Record<string, any>;
|
55
|
+
['mp-weixin']?: Record<string, any>;
|
56
|
+
['mp-alipay']?: Record<string, any>;
|
57
|
+
['mp-baidu']?: Record<string, any>;
|
58
|
+
['mp-toutiao']?: Record<string, any>;
|
59
|
+
['mp-lark']?: Record<string, any>;
|
60
|
+
['mp-qq']?: Record<string, any>;
|
61
|
+
['mp-kuaishou']?: Record<string, any>;
|
62
|
+
}
|
63
|
+
export interface GlobalStyle {
|
64
|
+
navigationBarBackgroundColor?: string;
|
65
|
+
navigationBarTextStyle?: 'black' | 'white';
|
66
|
+
navigationBarTitleText?: string;
|
67
|
+
navigationStyle?: 'default' | 'custom';
|
68
|
+
backgroundColor?: string;
|
69
|
+
backgroundTextStyle?: 'light' | 'dark';
|
70
|
+
enablePullDownRefresh?: boolean;
|
71
|
+
onReachBottomDistance?: number;
|
72
|
+
backgroundColorTop?: string;
|
73
|
+
backgroundColorBottom?: string;
|
74
|
+
titleImage?: string;
|
75
|
+
transparentTitle?: 'always' | 'auto' | 'none';
|
76
|
+
titlePenetrate?: 'YES' | 'NO';
|
77
|
+
pageOrientation?: 'auto' | 'portrait' | 'landscape';
|
78
|
+
animationType?: 'pop-in' | 'pop-out' | 'slide-in-top' | 'slide-out-top' | 'slide-in-bottom' | 'slide-out-bottom' | 'slide-in-left' | 'slide-out-left' | 'slide-in-right' | 'slide-out-right' | 'fade-in' | 'fade-out';
|
79
|
+
animationDuration?: number;
|
80
|
+
['app-plus']?: Record<string, any>;
|
81
|
+
h5?: Record<string, any>;
|
82
|
+
['mp-weixin']?: Record<string, any>;
|
83
|
+
['mp-alipay']?: Record<string, any>;
|
84
|
+
['mp-baidu']?: Record<string, any>;
|
85
|
+
['mp-toutiao']?: Record<string, any>;
|
86
|
+
['mp-lark']?: Record<string, any>;
|
87
|
+
['mp-qq']?: Record<string, any>;
|
88
|
+
['mp-kuaishou']?: Record<string, any>;
|
89
|
+
['mp-jd']?: Record<string, any>;
|
90
|
+
usingComponents?: Record<string, string>;
|
91
|
+
renderingMode?: 'webrtc' | 'seperated';
|
92
|
+
leftWindow?: boolean;
|
93
|
+
topWindow?: boolean;
|
94
|
+
rightWindow?: boolean;
|
95
|
+
rpxCalcMaxDeviceWidth?: number;
|
96
|
+
rpxCalcBaseDeviceWidth?: number;
|
97
|
+
rpxCalcIncludeWidth?: boolean;
|
98
|
+
dynamicRpx?: boolean;
|
99
|
+
maxWidth?: number;
|
100
|
+
}
|
101
|
+
export interface PageStyle extends GlobalStyle {
|
102
|
+
navigationBarShadow?: Record<string, string>;
|
103
|
+
disableScroll?: boolean;
|
104
|
+
disableSwipeBack?: boolean;
|
105
|
+
}
|
106
|
+
export interface TabBar {
|
107
|
+
color?: string;
|
108
|
+
selectedColor?: string;
|
109
|
+
backgroundColor?: string;
|
110
|
+
borderStyle?: 'black' | 'white';
|
111
|
+
blurEffect?: 'dark' | 'extralight' | 'light' | 'none';
|
112
|
+
list: TabBarItem[];
|
113
|
+
position?: 'top' | 'bottom';
|
114
|
+
fontSize?: string;
|
115
|
+
iconWidth?: string;
|
116
|
+
spacing?: string;
|
117
|
+
height?: string;
|
118
|
+
midButton?: {
|
119
|
+
width?: string;
|
120
|
+
height?: string;
|
121
|
+
text?: string;
|
122
|
+
iconPath?: string;
|
123
|
+
iconWidth?: string;
|
124
|
+
backgroundImage?: string;
|
125
|
+
iconfont?: Iconfont;
|
126
|
+
};
|
127
|
+
iconfontSrc?: string;
|
128
|
+
backgroundImage?: string;
|
129
|
+
backgroundRepeat?: 'repeat' | 'repeat-x' | 'repeat-y' | 'no-repeat';
|
130
|
+
redDotColor?: string;
|
131
|
+
}
|
132
|
+
export interface TabBarItem {
|
133
|
+
pagePath?: string;
|
134
|
+
text?: string;
|
135
|
+
iconPath?: string;
|
136
|
+
selectedIconPath?: string;
|
137
|
+
visible?: boolean;
|
138
|
+
iconfont?: Iconfont;
|
139
|
+
}
|
140
|
+
export interface Iconfont {
|
141
|
+
text?: string;
|
142
|
+
selectedText?: string;
|
143
|
+
fontSize?: string;
|
144
|
+
color?: string;
|
145
|
+
selectedColor?: string;
|
146
|
+
}
|
147
|
+
export interface PagesJson {
|
148
|
+
globalStyle?: GlobalStyle;
|
149
|
+
pages?: PageItem[];
|
150
|
+
easycom?: Record<string, string>;
|
151
|
+
tabBar?: TabBar;
|
152
|
+
condition?: Record<string, any>;
|
153
|
+
subPackages?: any;
|
154
|
+
preloadRule?: Record<string, any>;
|
155
|
+
workers?: string;
|
156
|
+
leftWindow?: PageItem;
|
157
|
+
topWindow?: PageItem;
|
158
|
+
rightWindow?: PageItem;
|
159
|
+
uniIdRouter?: any;
|
160
|
+
entryPagePath?: string;
|
161
|
+
}
|
162
|
+
export interface PageItem {
|
163
|
+
path?: string;
|
164
|
+
style?: PageStyle;
|
165
|
+
needLogin?: boolean;
|
166
|
+
}
|
package/types/utils.d.ts
ADDED
@@ -0,0 +1,7 @@
|
|
1
|
+
import { SetupUniAppOptions } from './types';
|
2
|
+
export declare function toKebabCase(str: string): string;
|
3
|
+
export declare function mergeOptions(options: SetupUniAppOptions): SetupUniAppOptions;
|
4
|
+
export declare const navigationBarMaps: Record<string, string>;
|
5
|
+
export declare function getNavigationBar(style: Record<string, any>): Record<string, any>;
|
6
|
+
export declare function getGobalStyle(style: Record<string, any>): Record<string, any>;
|
7
|
+
export declare function getFileId(hash: string): string;
|