af-mobile-client-vue3 1.3.12 → 1.3.13
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/.claude/settings.local.json +10 -0
- package/.cursorrules +60 -60
- package/.editorconfig +9 -9
- package/.env +10 -10
- package/.env.development +1 -1
- package/.env.production +1 -1
- package/.node-version +1 -1
- package/.vscode/extensions.json +12 -12
- package/.vscode/settings.json +66 -66
- package/CLAUDE.md +189 -184
- package/README.md +182 -181
- package/af-example-mobile-vue-web.iml +9 -9
- package/build/vite/index.ts +98 -98
- package/build/vite/optimize.ts +34 -34
- package/build/vite/vconsole.ts +47 -47
- package/commitlint.config.ts +32 -32
- package/compress.js +36 -36
- package/eslint.config.ts +30 -30
- package/index.html +23 -23
- package/mock/data.ts +20 -20
- package/mock/index.ts +7 -7
- package/mock/modules/prose.mock.ts +13 -13
- package/mock/modules/user.mock.ts +152 -152
- package/mock/util.ts +19 -19
- package/netlify.toml +12 -12
- package/package.json +114 -114
- package/postcss.config.ts +27 -27
- package/public/favicon.svg +4 -4
- package/public/safari-pinned-tab.svg +4 -4
- package/scripts/verifyCommit.js +19 -19
- package/src/App.vue +79 -79
- package/src/api/mock/index.ts +30 -30
- package/src/api/user/index.ts +40 -40
- package/src/assets/img/user/login/background-shadow-1.svg +20 -20
- package/src/assets/img/user/login/logo-background.svg +20 -20
- package/src/bootstrap.ts +26 -26
- package/src/components/core/BeautifulLoading/index.vue +52 -52
- package/src/components/core/ImageUploader/index.vue +244 -244
- package/src/components/core/NavBar/index.vue +53 -53
- package/src/components/core/Tabbar/index.vue +32 -32
- package/src/components/core/Uploader/index.vue +124 -124
- package/src/components/core/XGridDropOption/index.vue +154 -156
- package/src/components/core/XMultiSelect/index.vue +183 -183
- package/src/components/core/XSelect/index.vue +149 -149
- package/src/components/data/InfoDisplay/index.vue +132 -0
- package/src/components/data/UserDetail/api.ts +24 -0
- package/src/components/data/UserDetail/index.vue +539 -0
- package/src/components/data/UserDetail/recordEntries.ts +159 -0
- package/src/components/data/UserDetail/types.ts +26 -0
- package/src/components/data/XBadge/index.vue +82 -82
- package/src/components/data/XCellDetail/index.vue +105 -105
- package/src/components/data/XCellList/XCellList.md +313 -313
- package/src/components/data/XCellList/index.vue +1075 -1075
- package/src/components/data/XCellListFilter/QrScanner/index.vue +207 -207
- package/src/components/data/XCellListFilter/QrScanner/startScanAnimation.ts +53 -53
- package/src/components/data/XCellListFilter/VpnRecognition/index.vue +119 -119
- package/src/components/data/XCellListFilter/index.vue +705 -705
- package/src/components/data/XForm/index.vue +659 -659
- package/src/components/data/XFormGroup/doc/DeviceForm.vue +122 -122
- package/src/components/data/XFormGroup/doc/FormGroupDemo.vue +56 -56
- package/src/components/data/XFormGroup/doc/README.md +286 -273
- package/src/components/data/XFormGroup/doc/UserForm.vue +102 -102
- package/src/components/data/XFormGroup/index.vue +240 -240
- package/src/components/data/XFormItem/index.vue +1310 -1310
- package/src/components/data/XOlMap/README.md +227 -227
- package/src/components/data/XOlMap/XLocationPicker/index.vue +226 -225
- package/src/components/data/XOlMap/index.vue +1490 -1490
- package/src/components/data/XOlMap/types.ts +149 -149
- package/src/components/data/XOlMap/utils/wgs84ToGcj02.js +154 -154
- package/src/components/data/XReportForm/DateTimeSecondsPicker.vue +208 -208
- package/src/components/data/XReportForm/XReportFormJsonRender.vue +220 -220
- package/src/components/data/XReportForm/index.vue +1393 -1393
- package/src/components/data/XReportGrid/XAddReport/XAddReport.vue +198 -198
- package/src/components/data/XReportGrid/XAddReport/index.js +3 -3
- package/src/components/data/XReportGrid/XAddReport/index.md +53 -52
- package/src/components/data/XReportGrid/XAddReport/index.ts +10 -10
- package/src/components/data/XReportGrid/XReport.vue +960 -960
- package/src/components/data/XReportGrid/XReportDemo.vue +33 -33
- package/src/components/data/XReportGrid/XReportDesign.vue +597 -597
- package/src/components/data/XReportGrid/XReportDrawer/XReportDrawer.vue +148 -148
- package/src/components/data/XReportGrid/XReportDrawer/index.js +3 -3
- package/src/components/data/XReportGrid/XReportDrawer/index.ts +10 -10
- package/src/components/data/XReportGrid/XReportJsonRender.vue +399 -399
- package/src/components/data/XReportGrid/XReportTrGroup.vue +592 -592
- package/src/components/data/XReportGrid/index.md +46 -42
- package/src/components/data/XReportGrid/print.js +184 -184
- package/src/components/data/XSignature/index.vue +284 -285
- package/src/components/data/XTag/index.vue +10 -10
- package/src/components/layout/NormalDataLayout/index.vue +69 -69
- package/src/components/layout/TabBarLayout/index.vue +40 -40
- package/src/composables/dark.ts +5 -5
- package/src/config/routes.ts +9 -9
- package/src/constants/index.ts +2 -2
- package/src/enums/requestEnum.ts +25 -25
- package/src/expression/ExpressionRunner.ts +28 -28
- package/src/expression/TestExpression.ts +510 -510
- package/src/expression/core/Delegate.ts +116 -116
- package/src/expression/core/Expression.ts +1359 -1359
- package/src/expression/core/Program.ts +985 -985
- package/src/expression/core/Token.ts +29 -29
- package/src/expression/enums/ExpressionType.ts +81 -81
- package/src/expression/enums/TokenType.ts +11 -11
- package/src/expression/exception/BreakWayException.ts +2 -2
- package/src/expression/exception/ContinueWayException.ts +2 -2
- package/src/expression/exception/ExpressionException.ts +29 -29
- package/src/expression/exception/ReturnWayException.ts +14 -14
- package/src/expression/exception/ServiceException.ts +22 -22
- package/src/expression/instances/JSONArray.ts +52 -52
- package/src/expression/instances/JSONObject.ts +118 -118
- package/src/expression/instances/LogicConsole.ts +31 -31
- package/src/font-style/font.css +4 -4
- package/src/hooks/useBoolean.ts +26 -0
- package/src/hooks/useCommon.ts +9 -9
- package/src/hooks/useLogin.ts +97 -97
- package/src/icons/svg/check-in.svg +32 -32
- package/src/icons/svg/dark.svg +4 -4
- package/src/icons/svg/github.svg +4 -4
- package/src/icons/svg/light.svg +4 -4
- package/src/icons/svg/link.svg +4 -4
- package/src/icons/svgo.yml +22 -22
- package/src/layout/GridView/index.vue +16 -16
- package/src/layout/PageLayout.vue +9 -9
- package/src/layout/SingleLayout.vue +9 -9
- package/src/locales/en-US.json +128 -128
- package/src/locales/zh-CN.json +128 -128
- package/src/logic/LogicRunner.ts +67 -67
- package/src/logic/TestLogic.ts +13 -13
- package/src/logic/plugins/common/DateTools.ts +35 -35
- package/src/logic/plugins/common/VueTools.ts +30 -30
- package/src/logic/plugins/index.ts +7 -7
- package/src/main.ts +44 -44
- package/src/plugins/AppData.ts +38 -38
- package/src/plugins/GetLoginInfoService.ts +10 -10
- package/src/plugins/collectIcons.ts +10 -0
- package/src/plugins/index.ts +11 -11
- package/src/router/README.md +8 -8
- package/src/router/guards.ts +59 -59
- package/src/router/index.ts +35 -35
- package/src/router/invoiceRoutes.ts +33 -33
- package/src/router/routes.ts +341 -177
- package/src/router/types.ts +7 -7
- package/src/services/api/Login.ts +6 -6
- package/src/services/api/common.ts +109 -109
- package/src/services/api/index.ts +7 -7
- package/src/services/api/manage.ts +8 -8
- package/src/services/api/search.ts +16 -16
- package/src/services/api/user.ts +17 -17
- package/src/services/restTools.ts +56 -56
- package/src/services/v3Api.ts +147 -147
- package/src/stores/index.ts +11 -11
- package/src/stores/modules/counter.ts +19 -19
- package/src/stores/modules/routeCache.ts +23 -23
- package/src/stores/modules/setting.ts +76 -76
- package/src/stores/modules/user.ts +235 -235
- package/src/stores/mutation-type.ts +7 -7
- package/src/styles/app.less +36 -36
- package/src/styles/login.less +109 -109
- package/src/styles/var.less +16 -16
- package/src/types/env.d.ts +16 -16
- package/src/types/settings.ts +1 -1
- package/src/types/vue-router.d.ts +9 -9
- package/src/utils/Storage.ts +124 -124
- package/src/utils/authority-utils.ts +84 -84
- package/src/utils/common.ts +41 -41
- package/src/utils/crypto.ts +39 -39
- package/src/utils/dataUtil.ts +42 -42
- package/src/utils/dictUtil.ts +52 -52
- package/src/utils/http/index.ts +199 -199
- package/src/utils/i18n.ts +72 -72
- package/src/utils/indexedDB.ts +195 -195
- package/src/utils/inline-px-to-vw.ts +28 -28
- package/src/utils/mobileUtil.ts +34 -34
- package/src/utils/progress.ts +19 -19
- package/src/utils/routerUtil.ts +271 -271
- package/src/utils/runEvalFunction.ts +13 -13
- package/src/utils/secureStorage.ts +71 -71
- package/src/utils/set-page-title.ts +5 -5
- package/src/utils/validate.ts +6 -6
- package/src/utils/wechatUtil.ts +9 -9
- package/src/views/chat/index.vue +153 -153
- package/src/views/common/LoadError.vue +63 -63
- package/src/views/common/NotFound.vue +67 -67
- package/src/views/component/EvaluateRecordView/index.vue +40 -40
- package/src/views/component/IconifyView/index.vue +504 -507
- package/src/views/component/UserDetailView/UserDetailPage.vue +77 -0
- package/src/views/component/UserDetailView/index.vue +224 -0
- package/src/views/component/XCellDetailView/index.vue +217 -217
- package/src/views/component/XCellListView/index.vue +108 -157
- package/src/views/component/XFormAppraiseView/index.vue +174 -174
- package/src/views/component/XFormGroupView/index.vue +78 -82
- package/src/views/component/XFormView/index.vue +27 -27
- package/src/views/component/XOlMapView/XLocationPicker/index.vue +118 -118
- package/src/views/component/XOlMapView/index.vue +434 -434
- package/src/views/component/XOlMapView/testData.ts +64 -64
- package/src/views/component/XReportFormIframeView/index.vue +47 -47
- package/src/views/component/XReportFormView/index.vue +13 -13
- package/src/views/component/XReportGridView/index.vue +17 -17
- package/src/views/component/XRequestView/index.vue +234 -234
- package/src/views/component/XSignatureView/index.vue +50 -50
- package/src/views/component/index.vue +181 -177
- package/src/views/component/menu.vue +117 -117
- package/src/views/component/notice.vue +46 -46
- package/src/views/component/topNav.vue +36 -36
- package/src/views/invoiceShow/index.vue +61 -61
- package/src/views/user/login/ForgetPasswordForm.vue +94 -94
- package/src/views/user/login/LoginForm.vue +346 -346
- package/src/views/user/login/LoginTitle.vue +76 -76
- package/src/views/user/login/LoginWave.vue +109 -109
- package/src/views/user/login/index.vue +22 -22
- package/src/views/user/my/comm/ModifyPassword.vue +346 -346
- package/src/views/user/my/index.vue +340 -340
- package/src/views/userRecords/AbnormalAlarmRecords.vue +21 -0
- package/src/views/userRecords/CardReplacementRecords.vue +21 -0
- package/src/views/userRecords/ChangeRecords.vue +19 -0
- package/src/views/userRecords/CommandViewRecords.vue +20 -0
- package/src/views/userRecords/GasCompensationRecords.vue +20 -0
- package/src/views/userRecords/InstrumentCollectionRecords.vue +21 -0
- package/src/views/userRecords/MeterRecords.vue +20 -0
- package/src/views/userRecords/OperateRecords.vue +51 -0
- package/src/views/userRecords/OtherChargeRecords.vue +19 -0
- package/src/views/userRecords/PaymentRecords.vue +28 -0
- package/src/views/userRecords/PriceAdjustmentRecords.vue +19 -0
- package/src/views/userRecords/ReplacementRecords.vue +19 -0
- package/src/views/userRecords/SafetyRecords.vue +19 -0
- package/src/views/userRecords/TransactionRecords.vue +21 -0
- package/src/views/userRecords/TransferRecords.vue +19 -0
- package/src/views/userRecords/operateRecordDetail/index.vue +316 -0
- package/src/views/userRecords/operateRecordDetail/operateRecordDetails/AddUserDetail.vue +124 -0
- package/src/views/userRecords/operateRecordDetail/operateRecordDetails/AdvanceDeliveryDetail.vue +88 -0
- package/src/views/userRecords/operateRecordDetail/operateRecordDetails/AutoAccountsCancelDetail.vue +205 -0
- package/src/views/userRecords/operateRecordDetail/operateRecordDetails/AutoAccountsDetail.vue +192 -0
- package/src/views/userRecords/operateRecordDetail/operateRecordDetails/BankDkDetail.vue +192 -0
- package/src/views/userRecords/operateRecordDetail/operateRecordDetails/BankPayDetail.vue +192 -0
- package/src/views/userRecords/operateRecordDetail/operateRecordDetails/BlacklistDetail.vue +153 -0
- package/src/views/userRecords/operateRecordDetail/operateRecordDetails/CancellationDetail.vue +101 -0
- package/src/views/userRecords/operateRecordDetail/operateRecordDetails/CardMeterCenterCancelDetail.vue +127 -0
- package/src/views/userRecords/operateRecordDetail/operateRecordDetails/CardMeterCenterDetail.vue +153 -0
- package/src/views/userRecords/operateRecordDetail/operateRecordDetails/CardOverUserDetail.vue +153 -0
- package/src/views/userRecords/operateRecordDetail/operateRecordDetails/ChangeMeterCancelDetail.vue +166 -0
- package/src/views/userRecords/operateRecordDetail/operateRecordDetails/ChangeMeterDetail.vue +205 -0
- package/src/views/userRecords/operateRecordDetail/operateRecordDetails/DisableManageDetail.vue +127 -0
- package/src/views/userRecords/operateRecordDetail/operateRecordDetails/EnableManageDetail.vue +114 -0
- package/src/views/userRecords/operateRecordDetail/operateRecordDetails/FaZheChangeDetail.vue +124 -0
- package/src/views/userRecords/operateRecordDetail/operateRecordDetails/FeeDeductionDetail.vue +153 -0
- package/src/views/userRecords/operateRecordDetail/operateRecordDetails/GasPriceChangeDetail.vue +126 -0
- package/src/views/userRecords/operateRecordDetail/operateRecordDetails/InputtorChangeDetail.vue +126 -0
- package/src/views/userRecords/operateRecordDetail/operateRecordDetails/IotMeterCenterCancelDetail.vue +114 -0
- package/src/views/userRecords/operateRecordDetail/operateRecordDetails/IotMeterCenterDetail.vue +127 -0
- package/src/views/userRecords/operateRecordDetail/operateRecordDetails/IotOpenDetail.vue +88 -0
- package/src/views/userRecords/operateRecordDetail/operateRecordDetails/MachineCardDetail.vue +101 -0
- package/src/views/userRecords/operateRecordDetail/operateRecordDetails/MachineMeterCenterCancelDetail.vue +218 -0
- package/src/views/userRecords/operateRecordDetail/operateRecordDetails/MachineMeterCenterDetail.vue +153 -0
- package/src/views/userRecords/operateRecordDetail/operateRecordDetails/OffGasAddGasDetail.vue +140 -0
- package/src/views/userRecords/operateRecordDetail/operateRecordDetails/OtherChargeCancelDetail.vue +127 -0
- package/src/views/userRecords/operateRecordDetail/operateRecordDetails/OtherChargeDetail.vue +114 -0
- package/src/views/userRecords/operateRecordDetail/operateRecordDetails/OverUserChangeDetail.vue +127 -0
- package/src/views/userRecords/operateRecordDetail/operateRecordDetails/ReBillDetail.vue +127 -0
- package/src/views/userRecords/operateRecordDetail/operateRecordDetails/RefundDetail.vue +114 -0
- package/src/views/userRecords/operateRecordDetail/operateRecordDetails/ReplaceCardManageCancelDetail.vue +127 -0
- package/src/views/userRecords/operateRecordDetail/operateRecordDetails/ReplaceCardManageDetail.vue +114 -0
- package/src/views/userRecords/operateRecordDetail/operateRecordDetails/SaleCardGasDetail.vue +140 -0
- package/src/views/userRecords/operateRecordDetail/operateRecordDetails/TransferManageCancelDetail.vue +152 -0
- package/src/views/userRecords/operateRecordDetail/operateRecordDetails/TransferManageDetail.vue +178 -0
- package/src/views/userRecords/operateRecordDetail/operateRecordDetails/UserChangeDetail.vue +123 -0
- package/src/views/userRecords/operateRecordDetail/operateRecordDetails/WechatPayDetail.vue +192 -0
- package/src/views/userRecords/types.ts +66 -0
- package/tsconfig.json +39 -39
- package/uno.config.ts +82 -78
- package/vite.config.ts +118 -118
- package/src/views/component/XFormGroupView/xformgroup222.vue +0 -97
|
@@ -1,69 +1,69 @@
|
|
|
1
|
-
<script setup lang="ts">
|
|
2
|
-
import {
|
|
3
|
-
Col as VanCol,
|
|
4
|
-
Icon as VanIcon,
|
|
5
|
-
Row as VanRow,
|
|
6
|
-
} from 'vant'
|
|
7
|
-
|
|
8
|
-
const { title } = defineProps<{
|
|
9
|
-
// 标题
|
|
10
|
-
title: string
|
|
11
|
-
}>()
|
|
12
|
-
|
|
13
|
-
// back
|
|
14
|
-
const onClickLeft = () => history.back()
|
|
15
|
-
</script>
|
|
16
|
-
|
|
17
|
-
<template>
|
|
18
|
-
<!-- 常规数据布局 -->
|
|
19
|
-
<main class="layout_main">
|
|
20
|
-
<!-- 布局头部 -->
|
|
21
|
-
<div class="layout_header">
|
|
22
|
-
<VanRow class="header_row" justify="space-between">
|
|
23
|
-
<VanCol class="header_row_left_col">
|
|
24
|
-
<VanIcon class="header_row_icon" name="arrow-left" @click="onClickLeft" />
|
|
25
|
-
<span class="header_row_title">{{ title }}</span>
|
|
26
|
-
</VanCol>
|
|
27
|
-
<VanCol class="header_row_right_col">
|
|
28
|
-
<!-- 右侧区域 -->
|
|
29
|
-
<slot name="layout_header_row_right_col" />
|
|
30
|
-
</VanCol>
|
|
31
|
-
</VanRow>
|
|
32
|
-
</div>
|
|
33
|
-
<!-- 布局主体 -->
|
|
34
|
-
<div class="layout_content">
|
|
35
|
-
<slot name="layout_content" />
|
|
36
|
-
</div>
|
|
37
|
-
</main>
|
|
38
|
-
</template>
|
|
39
|
-
|
|
40
|
-
<style scoped lang="less">
|
|
41
|
-
.layout_main {
|
|
42
|
-
display: flex;
|
|
43
|
-
flex-flow: column;
|
|
44
|
-
width: 100%;
|
|
45
|
-
height: 100vh;
|
|
46
|
-
.layout_header {
|
|
47
|
-
padding: var(--base-interval-1);
|
|
48
|
-
.header_row {
|
|
49
|
-
align-items: center;
|
|
50
|
-
.header_row_left_col {
|
|
51
|
-
flex-grow: 1;
|
|
52
|
-
.header_row_title {
|
|
53
|
-
margin-left: var(--van-padding-xs);
|
|
54
|
-
font-size: 20px;
|
|
55
|
-
font-weight: bold;
|
|
56
|
-
}
|
|
57
|
-
}
|
|
58
|
-
.header_row_icon {
|
|
59
|
-
font-size: 18px;
|
|
60
|
-
}
|
|
61
|
-
}
|
|
62
|
-
}
|
|
63
|
-
.layout_content {
|
|
64
|
-
flex: 1;
|
|
65
|
-
margin-top: var(--van-padding-base);
|
|
66
|
-
height: 0;
|
|
67
|
-
}
|
|
68
|
-
}
|
|
69
|
-
</style>
|
|
1
|
+
<script setup lang="ts">
|
|
2
|
+
import {
|
|
3
|
+
Col as VanCol,
|
|
4
|
+
Icon as VanIcon,
|
|
5
|
+
Row as VanRow,
|
|
6
|
+
} from 'vant'
|
|
7
|
+
|
|
8
|
+
const { title } = defineProps<{
|
|
9
|
+
// 标题
|
|
10
|
+
title: string
|
|
11
|
+
}>()
|
|
12
|
+
|
|
13
|
+
// back
|
|
14
|
+
const onClickLeft = () => history.back()
|
|
15
|
+
</script>
|
|
16
|
+
|
|
17
|
+
<template>
|
|
18
|
+
<!-- 常规数据布局 -->
|
|
19
|
+
<main class="layout_main">
|
|
20
|
+
<!-- 布局头部 -->
|
|
21
|
+
<div class="layout_header">
|
|
22
|
+
<VanRow class="header_row" justify="space-between">
|
|
23
|
+
<VanCol class="header_row_left_col">
|
|
24
|
+
<VanIcon class="header_row_icon" name="arrow-left" @click="onClickLeft" />
|
|
25
|
+
<span class="header_row_title">{{ title }}</span>
|
|
26
|
+
</VanCol>
|
|
27
|
+
<VanCol class="header_row_right_col">
|
|
28
|
+
<!-- 右侧区域 -->
|
|
29
|
+
<slot name="layout_header_row_right_col" />
|
|
30
|
+
</VanCol>
|
|
31
|
+
</VanRow>
|
|
32
|
+
</div>
|
|
33
|
+
<!-- 布局主体 -->
|
|
34
|
+
<div class="layout_content">
|
|
35
|
+
<slot name="layout_content" />
|
|
36
|
+
</div>
|
|
37
|
+
</main>
|
|
38
|
+
</template>
|
|
39
|
+
|
|
40
|
+
<style scoped lang="less">
|
|
41
|
+
.layout_main {
|
|
42
|
+
display: flex;
|
|
43
|
+
flex-flow: column;
|
|
44
|
+
width: 100%;
|
|
45
|
+
height: 100vh;
|
|
46
|
+
.layout_header {
|
|
47
|
+
padding: var(--base-interval-1);
|
|
48
|
+
.header_row {
|
|
49
|
+
align-items: center;
|
|
50
|
+
.header_row_left_col {
|
|
51
|
+
flex-grow: 1;
|
|
52
|
+
.header_row_title {
|
|
53
|
+
margin-left: var(--van-padding-xs);
|
|
54
|
+
font-size: 20px;
|
|
55
|
+
font-weight: bold;
|
|
56
|
+
}
|
|
57
|
+
}
|
|
58
|
+
.header_row_icon {
|
|
59
|
+
font-size: 18px;
|
|
60
|
+
}
|
|
61
|
+
}
|
|
62
|
+
}
|
|
63
|
+
.layout_content {
|
|
64
|
+
flex: 1;
|
|
65
|
+
margin-top: var(--van-padding-base);
|
|
66
|
+
height: 0;
|
|
67
|
+
}
|
|
68
|
+
}
|
|
69
|
+
</style>
|
|
@@ -1,40 +1,40 @@
|
|
|
1
|
-
<script setup lang="ts">
|
|
2
|
-
import {
|
|
3
|
-
Tabbar as VanTabbar,
|
|
4
|
-
TabbarItem as VanTabbarItem,
|
|
5
|
-
} from 'vant'
|
|
6
|
-
import { defineProps } from 'vue'
|
|
7
|
-
|
|
8
|
-
const { barList, callbacks } = defineProps<{
|
|
9
|
-
barList?: Array<{ icon: string, text: string, method: string }>
|
|
10
|
-
callbacks?: object
|
|
11
|
-
}>()
|
|
12
|
-
|
|
13
|
-
function handleClick(index) {
|
|
14
|
-
const methodName = (barList[index] as any).method
|
|
15
|
-
callbacks[methodName]()
|
|
16
|
-
}
|
|
17
|
-
</script>
|
|
18
|
-
|
|
19
|
-
<template>
|
|
20
|
-
<VanTabbar class="van-bar">
|
|
21
|
-
<VanTabbarItem v-for="(item, index) in barList" :key="index" :icon="(item as any).icon" @click="handleClick(index)">
|
|
22
|
-
{{ (item as any).text }}
|
|
23
|
-
</VanTabbarItem>
|
|
24
|
-
</VanTabbar>
|
|
25
|
-
</template>
|
|
26
|
-
|
|
27
|
-
<style scoped lang="less">
|
|
28
|
-
.van-bar {
|
|
29
|
-
height: 8vh;
|
|
30
|
-
background-color: #f7f8fa;
|
|
31
|
-
color: black;
|
|
32
|
-
}
|
|
33
|
-
.van-tabbar-item:hover {
|
|
34
|
-
color: var(--van-text-color-2);
|
|
35
|
-
}
|
|
36
|
-
:deep(.van-tabbar-item--active) {
|
|
37
|
-
background-color: #f7f8fa;
|
|
38
|
-
color: black;
|
|
39
|
-
}
|
|
40
|
-
</style>
|
|
1
|
+
<script setup lang="ts">
|
|
2
|
+
import {
|
|
3
|
+
Tabbar as VanTabbar,
|
|
4
|
+
TabbarItem as VanTabbarItem,
|
|
5
|
+
} from 'vant'
|
|
6
|
+
import { defineProps } from 'vue'
|
|
7
|
+
|
|
8
|
+
const { barList, callbacks } = defineProps<{
|
|
9
|
+
barList?: Array<{ icon: string, text: string, method: string }>
|
|
10
|
+
callbacks?: object
|
|
11
|
+
}>()
|
|
12
|
+
|
|
13
|
+
function handleClick(index) {
|
|
14
|
+
const methodName = (barList[index] as any).method
|
|
15
|
+
callbacks[methodName]()
|
|
16
|
+
}
|
|
17
|
+
</script>
|
|
18
|
+
|
|
19
|
+
<template>
|
|
20
|
+
<VanTabbar class="van-bar">
|
|
21
|
+
<VanTabbarItem v-for="(item, index) in barList" :key="index" :icon="(item as any).icon" @click="handleClick(index)">
|
|
22
|
+
{{ (item as any).text }}
|
|
23
|
+
</VanTabbarItem>
|
|
24
|
+
</VanTabbar>
|
|
25
|
+
</template>
|
|
26
|
+
|
|
27
|
+
<style scoped lang="less">
|
|
28
|
+
.van-bar {
|
|
29
|
+
height: 8vh;
|
|
30
|
+
background-color: #f7f8fa;
|
|
31
|
+
color: black;
|
|
32
|
+
}
|
|
33
|
+
.van-tabbar-item:hover {
|
|
34
|
+
color: var(--van-text-color-2);
|
|
35
|
+
}
|
|
36
|
+
:deep(.van-tabbar-item--active) {
|
|
37
|
+
background-color: #f7f8fa;
|
|
38
|
+
color: black;
|
|
39
|
+
}
|
|
40
|
+
</style>
|
package/src/composables/dark.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { useDark, usePreferredDark, useToggle } from '@vueuse/core'
|
|
2
|
-
|
|
3
|
-
export const isDark = useDark()
|
|
4
|
-
export const toggleDark = useToggle(isDark)
|
|
5
|
-
export const preferredDark = usePreferredDark()
|
|
1
|
+
import { useDark, usePreferredDark, useToggle } from '@vueuse/core'
|
|
2
|
+
|
|
3
|
+
export const isDark = useDark()
|
|
4
|
+
export const toggleDark = useToggle(isDark)
|
|
5
|
+
export const preferredDark = usePreferredDark()
|
package/src/config/routes.ts
CHANGED
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* List of root-level route names.
|
|
3
|
-
* In the Navbar component, the left arrow is hidden for these routes.
|
|
4
|
-
* However, the Tabbar is shown on these routes.
|
|
5
|
-
*/
|
|
6
|
-
export const rootRouteList: readonly string[] = [
|
|
7
|
-
'ComponentView', // 首页
|
|
8
|
-
'userProfile', // 个人中心
|
|
9
|
-
]
|
|
1
|
+
/**
|
|
2
|
+
* List of root-level route names.
|
|
3
|
+
* In the Navbar component, the left arrow is hidden for these routes.
|
|
4
|
+
* However, the Tabbar is shown on these routes.
|
|
5
|
+
*/
|
|
6
|
+
export const rootRouteList: readonly string[] = [
|
|
7
|
+
'ComponentView', // 首页
|
|
8
|
+
'userProfile', // 个人中心
|
|
9
|
+
]
|
package/src/constants/index.ts
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export const appName = 'Vue3-Client'
|
|
2
|
-
export const appDescription = '基于Vant4的移动端组件库扩展'
|
|
1
|
+
export const appName = 'Vue3-Client'
|
|
2
|
+
export const appDescription = '基于Vant4的移动端组件库扩展'
|
package/src/enums/requestEnum.ts
CHANGED
|
@@ -1,25 +1,25 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* @description: ContentType
|
|
3
|
-
*/
|
|
4
|
-
export enum ContentTypeEnum {
|
|
5
|
-
// form-data qs
|
|
6
|
-
FORM_URLENCODED = 'application/x-www-form-urlencoded;charset=UTF-8',
|
|
7
|
-
// form-data upload
|
|
8
|
-
FORM_DATA = 'multipart/form-data;charset=UTF-8',
|
|
9
|
-
// json
|
|
10
|
-
JSON = 'application/json;charset=UTF-8',
|
|
11
|
-
}
|
|
12
|
-
|
|
13
|
-
/**
|
|
14
|
-
* @description: 与后端协定的状态 code
|
|
15
|
-
*/
|
|
16
|
-
export enum ResultEnum {
|
|
17
|
-
SUCCESS = 200,
|
|
18
|
-
INTERNAL_SERVER_ERROR = 500,
|
|
19
|
-
UNAUTHORIZED = 401,
|
|
20
|
-
BAD_REQUEST = 400,
|
|
21
|
-
NOT_FOUND = 404,
|
|
22
|
-
BAD_GATEWAY = 502,
|
|
23
|
-
SERVICE_UNAVAILABLE = 503,
|
|
24
|
-
GATEWAY_TIME_OUT = 504,
|
|
25
|
-
}
|
|
1
|
+
/**
|
|
2
|
+
* @description: ContentType
|
|
3
|
+
*/
|
|
4
|
+
export enum ContentTypeEnum {
|
|
5
|
+
// form-data qs
|
|
6
|
+
FORM_URLENCODED = 'application/x-www-form-urlencoded;charset=UTF-8',
|
|
7
|
+
// form-data upload
|
|
8
|
+
FORM_DATA = 'multipart/form-data;charset=UTF-8',
|
|
9
|
+
// json
|
|
10
|
+
JSON = 'application/json;charset=UTF-8',
|
|
11
|
+
}
|
|
12
|
+
|
|
13
|
+
/**
|
|
14
|
+
* @description: 与后端协定的状态 code
|
|
15
|
+
*/
|
|
16
|
+
export enum ResultEnum {
|
|
17
|
+
SUCCESS = 200,
|
|
18
|
+
INTERNAL_SERVER_ERROR = 500,
|
|
19
|
+
UNAUTHORIZED = 401,
|
|
20
|
+
BAD_REQUEST = 400,
|
|
21
|
+
NOT_FOUND = 404,
|
|
22
|
+
BAD_GATEWAY = 502,
|
|
23
|
+
SERVICE_UNAVAILABLE = 503,
|
|
24
|
+
GATEWAY_TIME_OUT = 504,
|
|
25
|
+
}
|
|
@@ -1,28 +1,28 @@
|
|
|
1
|
-
import type Delegate from './core/Delegate'
|
|
2
|
-
import type JSONObject from './instances/JSONObject'
|
|
3
|
-
import Program from './core/Program'
|
|
4
|
-
|
|
5
|
-
export default class ExpressionRunner {
|
|
6
|
-
/**
|
|
7
|
-
* Runs an expression with parameters
|
|
8
|
-
*
|
|
9
|
-
* @param source Expression source
|
|
10
|
-
* @param params Expression parameters
|
|
11
|
-
* @returns The result of the expression
|
|
12
|
-
*/
|
|
13
|
-
public static run(source: string, params: JSONObject): any {
|
|
14
|
-
const delegate: Delegate = this.getDelegate(source)
|
|
15
|
-
return delegate.invoke(params)
|
|
16
|
-
}
|
|
17
|
-
|
|
18
|
-
/**
|
|
19
|
-
* Gets the delegate for the expression
|
|
20
|
-
*
|
|
21
|
-
* @param source Expression source
|
|
22
|
-
* @returns A delegate to invoke
|
|
23
|
-
*/
|
|
24
|
-
public static getDelegate(source: string): Delegate {
|
|
25
|
-
// Parse the source and return a delegate
|
|
26
|
-
return new Program(source).parse()
|
|
27
|
-
}
|
|
28
|
-
}
|
|
1
|
+
import type Delegate from './core/Delegate'
|
|
2
|
+
import type JSONObject from './instances/JSONObject'
|
|
3
|
+
import Program from './core/Program'
|
|
4
|
+
|
|
5
|
+
export default class ExpressionRunner {
|
|
6
|
+
/**
|
|
7
|
+
* Runs an expression with parameters
|
|
8
|
+
*
|
|
9
|
+
* @param source Expression source
|
|
10
|
+
* @param params Expression parameters
|
|
11
|
+
* @returns The result of the expression
|
|
12
|
+
*/
|
|
13
|
+
public static run(source: string, params: JSONObject): any {
|
|
14
|
+
const delegate: Delegate = this.getDelegate(source)
|
|
15
|
+
return delegate.invoke(params)
|
|
16
|
+
}
|
|
17
|
+
|
|
18
|
+
/**
|
|
19
|
+
* Gets the delegate for the expression
|
|
20
|
+
*
|
|
21
|
+
* @param source Expression source
|
|
22
|
+
* @returns A delegate to invoke
|
|
23
|
+
*/
|
|
24
|
+
public static getDelegate(source: string): Delegate {
|
|
25
|
+
// Parse the source and return a delegate
|
|
26
|
+
return new Program(source).parse()
|
|
27
|
+
}
|
|
28
|
+
}
|