af-mobile-client-vue3 1.3.12 → 1.3.14

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (271) hide show
  1. package/.claude/settings.local.json +10 -0
  2. package/.cursorrules +60 -60
  3. package/.editorconfig +9 -9
  4. package/.env +10 -10
  5. package/.env.development +1 -1
  6. package/.env.production +1 -1
  7. package/.node-version +1 -1
  8. package/.vscode/extensions.json +12 -12
  9. package/.vscode/settings.json +66 -66
  10. package/CLAUDE.md +189 -184
  11. package/README.md +182 -181
  12. package/af-example-mobile-vue-web.iml +9 -9
  13. package/build/vite/index.ts +98 -98
  14. package/build/vite/optimize.ts +34 -34
  15. package/build/vite/vconsole.ts +47 -47
  16. package/commitlint.config.ts +32 -32
  17. package/compress.js +36 -36
  18. package/eslint.config.ts +30 -30
  19. package/index.html +23 -23
  20. package/mock/data.ts +20 -20
  21. package/mock/index.ts +7 -7
  22. package/mock/modules/prose.mock.ts +13 -13
  23. package/mock/modules/user.mock.ts +152 -152
  24. package/mock/util.ts +19 -19
  25. package/netlify.toml +12 -12
  26. package/package.json +114 -114
  27. package/postcss.config.ts +27 -27
  28. package/public/favicon.svg +4 -4
  29. package/public/safari-pinned-tab.svg +4 -4
  30. package/scripts/verifyCommit.js +19 -19
  31. package/src/App.vue +79 -79
  32. package/src/api/mock/index.ts +30 -30
  33. package/src/api/user/index.ts +40 -40
  34. package/src/assets/img/user/login/background-shadow-1.svg +20 -20
  35. package/src/assets/img/user/login/logo-background.svg +20 -20
  36. package/src/bootstrap.ts +26 -26
  37. package/src/components/core/BeautifulLoading/index.vue +52 -52
  38. package/src/components/core/ImageUploader/index.vue +244 -244
  39. package/src/components/core/NavBar/index.vue +53 -53
  40. package/src/components/core/Tabbar/index.vue +32 -32
  41. package/src/components/core/Uploader/index.vue +124 -124
  42. package/src/components/core/XGridDropOption/index.vue +154 -156
  43. package/src/components/core/XMultiSelect/index.vue +183 -183
  44. package/src/components/core/XSelect/index.vue +149 -149
  45. package/src/components/data/InfoDisplay/index.vue +132 -0
  46. package/src/components/data/UserDetail/api.ts +24 -0
  47. package/src/components/data/UserDetail/index.vue +620 -0
  48. package/src/components/data/UserDetail/recordEntries.ts +159 -0
  49. package/src/components/data/UserDetail/types.ts +26 -0
  50. package/src/components/data/XBadge/index.vue +82 -82
  51. package/src/components/data/XCellDetail/index.vue +105 -105
  52. package/src/components/data/XCellList/XCellList.md +313 -313
  53. package/src/components/data/XCellList/index.vue +1075 -1075
  54. package/src/components/data/XCellListFilter/QrScanner/index.vue +207 -207
  55. package/src/components/data/XCellListFilter/QrScanner/startScanAnimation.ts +53 -53
  56. package/src/components/data/XCellListFilter/VpnRecognition/index.vue +119 -119
  57. package/src/components/data/XCellListFilter/index.vue +705 -705
  58. package/src/components/data/XForm/index.vue +659 -659
  59. package/src/components/data/XFormGroup/doc/DeviceForm.vue +122 -122
  60. package/src/components/data/XFormGroup/doc/FormGroupDemo.vue +56 -56
  61. package/src/components/data/XFormGroup/doc/README.md +286 -273
  62. package/src/components/data/XFormGroup/doc/UserForm.vue +102 -102
  63. package/src/components/data/XFormGroup/index.vue +240 -240
  64. package/src/components/data/XFormItem/index.vue +1310 -1310
  65. package/src/components/data/XOlMap/README.md +227 -227
  66. package/src/components/data/XOlMap/XLocationPicker/index.vue +226 -225
  67. package/src/components/data/XOlMap/index.vue +1490 -1490
  68. package/src/components/data/XOlMap/types.ts +149 -149
  69. package/src/components/data/XOlMap/utils/wgs84ToGcj02.js +154 -154
  70. package/src/components/data/XReportForm/DateTimeSecondsPicker.vue +208 -208
  71. package/src/components/data/XReportForm/XReportFormJsonRender.vue +220 -220
  72. package/src/components/data/XReportForm/index.vue +1393 -1393
  73. package/src/components/data/XReportGrid/XAddReport/XAddReport.vue +198 -198
  74. package/src/components/data/XReportGrid/XAddReport/index.js +3 -3
  75. package/src/components/data/XReportGrid/XAddReport/index.md +53 -52
  76. package/src/components/data/XReportGrid/XAddReport/index.ts +10 -10
  77. package/src/components/data/XReportGrid/XReport.vue +960 -960
  78. package/src/components/data/XReportGrid/XReportDemo.vue +33 -33
  79. package/src/components/data/XReportGrid/XReportDesign.vue +597 -597
  80. package/src/components/data/XReportGrid/XReportDrawer/XReportDrawer.vue +148 -148
  81. package/src/components/data/XReportGrid/XReportDrawer/index.js +3 -3
  82. package/src/components/data/XReportGrid/XReportDrawer/index.ts +10 -10
  83. package/src/components/data/XReportGrid/XReportJsonRender.vue +399 -399
  84. package/src/components/data/XReportGrid/XReportTrGroup.vue +592 -592
  85. package/src/components/data/XReportGrid/index.md +46 -42
  86. package/src/components/data/XReportGrid/print.js +184 -184
  87. package/src/components/data/XSignature/index.vue +284 -285
  88. package/src/components/data/XTag/index.vue +10 -10
  89. package/src/components/layout/NormalDataLayout/index.vue +69 -69
  90. package/src/components/layout/TabBarLayout/index.vue +40 -40
  91. package/src/composables/dark.ts +5 -5
  92. package/src/config/routes.ts +9 -9
  93. package/src/constants/index.ts +2 -2
  94. package/src/enums/requestEnum.ts +25 -25
  95. package/src/expression/ExpressionRunner.ts +28 -28
  96. package/src/expression/TestExpression.ts +510 -510
  97. package/src/expression/core/Delegate.ts +116 -116
  98. package/src/expression/core/Expression.ts +1359 -1359
  99. package/src/expression/core/Program.ts +985 -985
  100. package/src/expression/core/Token.ts +29 -29
  101. package/src/expression/enums/ExpressionType.ts +81 -81
  102. package/src/expression/enums/TokenType.ts +11 -11
  103. package/src/expression/exception/BreakWayException.ts +2 -2
  104. package/src/expression/exception/ContinueWayException.ts +2 -2
  105. package/src/expression/exception/ExpressionException.ts +29 -29
  106. package/src/expression/exception/ReturnWayException.ts +14 -14
  107. package/src/expression/exception/ServiceException.ts +22 -22
  108. package/src/expression/instances/JSONArray.ts +52 -52
  109. package/src/expression/instances/JSONObject.ts +118 -118
  110. package/src/expression/instances/LogicConsole.ts +31 -31
  111. package/src/font-style/font.css +4 -4
  112. package/src/hooks/useBoolean.ts +26 -0
  113. package/src/hooks/useCommon.ts +9 -9
  114. package/src/hooks/useLoading.ts +16 -0
  115. package/src/hooks/useLogin.ts +97 -97
  116. package/src/icons/svg/check-in.svg +32 -32
  117. package/src/icons/svg/dark.svg +4 -4
  118. package/src/icons/svg/github.svg +4 -4
  119. package/src/icons/svg/light.svg +4 -4
  120. package/src/icons/svg/link.svg +4 -4
  121. package/src/icons/svgo.yml +22 -22
  122. package/src/layout/GridView/index.vue +16 -16
  123. package/src/layout/PageLayout.vue +9 -9
  124. package/src/layout/SingleLayout.vue +9 -9
  125. package/src/locales/en-US.json +128 -128
  126. package/src/locales/zh-CN.json +128 -128
  127. package/src/logic/LogicRunner.ts +67 -67
  128. package/src/logic/TestLogic.ts +13 -13
  129. package/src/logic/plugins/common/DateTools.ts +35 -35
  130. package/src/logic/plugins/common/VueTools.ts +30 -30
  131. package/src/logic/plugins/index.ts +7 -7
  132. package/src/main.ts +44 -44
  133. package/src/plugins/AppData.ts +38 -38
  134. package/src/plugins/GetLoginInfoService.ts +10 -10
  135. package/src/plugins/collectIcons.ts +10 -0
  136. package/src/plugins/index.ts +11 -11
  137. package/src/router/README.md +8 -8
  138. package/src/router/guards.ts +59 -59
  139. package/src/router/index.ts +35 -35
  140. package/src/router/invoiceRoutes.ts +33 -33
  141. package/src/router/routes.ts +341 -177
  142. package/src/router/types.ts +7 -7
  143. package/src/services/api/Login.ts +6 -6
  144. package/src/services/api/common.ts +109 -109
  145. package/src/services/api/index.ts +7 -7
  146. package/src/services/api/manage.ts +8 -8
  147. package/src/services/api/search.ts +16 -16
  148. package/src/services/api/user.ts +17 -17
  149. package/src/services/restTools.ts +56 -56
  150. package/src/services/v3Api.ts +147 -147
  151. package/src/stores/index.ts +11 -11
  152. package/src/stores/modules/counter.ts +19 -19
  153. package/src/stores/modules/routeCache.ts +23 -23
  154. package/src/stores/modules/setting.ts +76 -76
  155. package/src/stores/modules/user.ts +235 -235
  156. package/src/stores/mutation-type.ts +7 -7
  157. package/src/styles/app.less +36 -36
  158. package/src/styles/login.less +109 -109
  159. package/src/styles/var.less +16 -16
  160. package/src/types/env.d.ts +16 -16
  161. package/src/types/settings.ts +1 -1
  162. package/src/types/vue-router.d.ts +9 -9
  163. package/src/utils/Storage.ts +124 -124
  164. package/src/utils/authority-utils.ts +84 -84
  165. package/src/utils/common.ts +41 -41
  166. package/src/utils/crypto.ts +39 -39
  167. package/src/utils/dataUtil.ts +42 -42
  168. package/src/utils/dictUtil.ts +52 -52
  169. package/src/utils/http/index.ts +199 -199
  170. package/src/utils/i18n.ts +72 -72
  171. package/src/utils/indexedDB.ts +195 -195
  172. package/src/utils/inline-px-to-vw.ts +28 -28
  173. package/src/utils/mobileUtil.ts +34 -34
  174. package/src/utils/progress.ts +19 -19
  175. package/src/utils/routerUtil.ts +271 -271
  176. package/src/utils/runEvalFunction.ts +13 -13
  177. package/src/utils/secureStorage.ts +71 -71
  178. package/src/utils/set-page-title.ts +5 -5
  179. package/src/utils/validate.ts +6 -6
  180. package/src/utils/wechatUtil.ts +9 -9
  181. package/src/views/chat/index.vue +153 -153
  182. package/src/views/common/LoadError.vue +63 -63
  183. package/src/views/common/NotFound.vue +67 -67
  184. package/src/views/component/EvaluateRecordView/index.vue +40 -40
  185. package/src/views/component/IconifyView/index.vue +504 -507
  186. package/src/views/component/UserDetailView/UserDetailPage.vue +77 -0
  187. package/src/views/component/UserDetailView/index.vue +234 -0
  188. package/src/views/component/XCellDetailView/index.vue +217 -217
  189. package/src/views/component/XCellListView/index.vue +108 -157
  190. package/src/views/component/XFormAppraiseView/index.vue +174 -174
  191. package/src/views/component/XFormGroupView/index.vue +78 -82
  192. package/src/views/component/XFormView/index.vue +27 -27
  193. package/src/views/component/XOlMapView/XLocationPicker/index.vue +118 -118
  194. package/src/views/component/XOlMapView/index.vue +434 -434
  195. package/src/views/component/XOlMapView/testData.ts +64 -64
  196. package/src/views/component/XReportFormIframeView/index.vue +47 -47
  197. package/src/views/component/XReportFormView/index.vue +13 -13
  198. package/src/views/component/XReportGridView/index.vue +17 -17
  199. package/src/views/component/XRequestView/index.vue +234 -234
  200. package/src/views/component/XSignatureView/index.vue +50 -50
  201. package/src/views/component/index.vue +181 -177
  202. package/src/views/component/menu.vue +117 -117
  203. package/src/views/component/notice.vue +46 -46
  204. package/src/views/component/topNav.vue +36 -36
  205. package/src/views/invoiceShow/index.vue +61 -61
  206. package/src/views/user/login/ForgetPasswordForm.vue +94 -94
  207. package/src/views/user/login/LoginForm.vue +346 -346
  208. package/src/views/user/login/LoginTitle.vue +76 -76
  209. package/src/views/user/login/LoginWave.vue +109 -109
  210. package/src/views/user/login/index.vue +22 -22
  211. package/src/views/user/my/comm/ModifyPassword.vue +346 -346
  212. package/src/views/user/my/index.vue +340 -340
  213. package/src/views/userRecords/AbnormalAlarmRecords.vue +21 -0
  214. package/src/views/userRecords/CardReplacementRecords.vue +21 -0
  215. package/src/views/userRecords/ChangeRecords.vue +19 -0
  216. package/src/views/userRecords/CommandViewRecords.vue +20 -0
  217. package/src/views/userRecords/GasCompensationRecords.vue +20 -0
  218. package/src/views/userRecords/InstrumentCollectionRecords.vue +21 -0
  219. package/src/views/userRecords/MeterRecords.vue +20 -0
  220. package/src/views/userRecords/OperateRecords.vue +51 -0
  221. package/src/views/userRecords/OtherChargeRecords.vue +19 -0
  222. package/src/views/userRecords/PaymentRecords.vue +28 -0
  223. package/src/views/userRecords/PriceAdjustmentRecords.vue +19 -0
  224. package/src/views/userRecords/ReplacementRecords.vue +19 -0
  225. package/src/views/userRecords/SafetyRecords.vue +19 -0
  226. package/src/views/userRecords/TransactionRecords.vue +21 -0
  227. package/src/views/userRecords/TransferRecords.vue +19 -0
  228. package/src/views/userRecords/operateRecordDetail/index.vue +316 -0
  229. package/src/views/userRecords/operateRecordDetail/operateRecordDetails/AddUserDetail.vue +124 -0
  230. package/src/views/userRecords/operateRecordDetail/operateRecordDetails/AdvanceDeliveryDetail.vue +88 -0
  231. package/src/views/userRecords/operateRecordDetail/operateRecordDetails/AutoAccountsCancelDetail.vue +205 -0
  232. package/src/views/userRecords/operateRecordDetail/operateRecordDetails/AutoAccountsDetail.vue +192 -0
  233. package/src/views/userRecords/operateRecordDetail/operateRecordDetails/BankDkDetail.vue +192 -0
  234. package/src/views/userRecords/operateRecordDetail/operateRecordDetails/BankPayDetail.vue +192 -0
  235. package/src/views/userRecords/operateRecordDetail/operateRecordDetails/BlacklistDetail.vue +153 -0
  236. package/src/views/userRecords/operateRecordDetail/operateRecordDetails/CancellationDetail.vue +101 -0
  237. package/src/views/userRecords/operateRecordDetail/operateRecordDetails/CardMeterCenterCancelDetail.vue +127 -0
  238. package/src/views/userRecords/operateRecordDetail/operateRecordDetails/CardMeterCenterDetail.vue +153 -0
  239. package/src/views/userRecords/operateRecordDetail/operateRecordDetails/CardOverUserDetail.vue +153 -0
  240. package/src/views/userRecords/operateRecordDetail/operateRecordDetails/ChangeMeterCancelDetail.vue +166 -0
  241. package/src/views/userRecords/operateRecordDetail/operateRecordDetails/ChangeMeterDetail.vue +205 -0
  242. package/src/views/userRecords/operateRecordDetail/operateRecordDetails/DisableManageDetail.vue +127 -0
  243. package/src/views/userRecords/operateRecordDetail/operateRecordDetails/EnableManageDetail.vue +114 -0
  244. package/src/views/userRecords/operateRecordDetail/operateRecordDetails/FaZheChangeDetail.vue +124 -0
  245. package/src/views/userRecords/operateRecordDetail/operateRecordDetails/FeeDeductionDetail.vue +153 -0
  246. package/src/views/userRecords/operateRecordDetail/operateRecordDetails/GasPriceChangeDetail.vue +126 -0
  247. package/src/views/userRecords/operateRecordDetail/operateRecordDetails/InputtorChangeDetail.vue +126 -0
  248. package/src/views/userRecords/operateRecordDetail/operateRecordDetails/IotMeterCenterCancelDetail.vue +114 -0
  249. package/src/views/userRecords/operateRecordDetail/operateRecordDetails/IotMeterCenterDetail.vue +127 -0
  250. package/src/views/userRecords/operateRecordDetail/operateRecordDetails/IotOpenDetail.vue +88 -0
  251. package/src/views/userRecords/operateRecordDetail/operateRecordDetails/MachineCardDetail.vue +101 -0
  252. package/src/views/userRecords/operateRecordDetail/operateRecordDetails/MachineMeterCenterCancelDetail.vue +218 -0
  253. package/src/views/userRecords/operateRecordDetail/operateRecordDetails/MachineMeterCenterDetail.vue +153 -0
  254. package/src/views/userRecords/operateRecordDetail/operateRecordDetails/OffGasAddGasDetail.vue +140 -0
  255. package/src/views/userRecords/operateRecordDetail/operateRecordDetails/OtherChargeCancelDetail.vue +127 -0
  256. package/src/views/userRecords/operateRecordDetail/operateRecordDetails/OtherChargeDetail.vue +114 -0
  257. package/src/views/userRecords/operateRecordDetail/operateRecordDetails/OverUserChangeDetail.vue +127 -0
  258. package/src/views/userRecords/operateRecordDetail/operateRecordDetails/ReBillDetail.vue +127 -0
  259. package/src/views/userRecords/operateRecordDetail/operateRecordDetails/RefundDetail.vue +114 -0
  260. package/src/views/userRecords/operateRecordDetail/operateRecordDetails/ReplaceCardManageCancelDetail.vue +127 -0
  261. package/src/views/userRecords/operateRecordDetail/operateRecordDetails/ReplaceCardManageDetail.vue +114 -0
  262. package/src/views/userRecords/operateRecordDetail/operateRecordDetails/SaleCardGasDetail.vue +140 -0
  263. package/src/views/userRecords/operateRecordDetail/operateRecordDetails/TransferManageCancelDetail.vue +152 -0
  264. package/src/views/userRecords/operateRecordDetail/operateRecordDetails/TransferManageDetail.vue +178 -0
  265. package/src/views/userRecords/operateRecordDetail/operateRecordDetails/UserChangeDetail.vue +123 -0
  266. package/src/views/userRecords/operateRecordDetail/operateRecordDetails/WechatPayDetail.vue +192 -0
  267. package/src/views/userRecords/types.ts +66 -0
  268. package/tsconfig.json +39 -39
  269. package/uno.config.ts +82 -78
  270. package/vite.config.ts +118 -118
  271. package/src/views/component/XFormGroupView/xformgroup222.vue +0 -97
@@ -1,38 +1,38 @@
1
- import type { App } from 'vue'
2
- import { manageApi } from '@af-mobile-client-vue3/services/api/manage'
3
- import { APP_WEB_CONFIG_KEY } from '@af-mobile-client-vue3/stores/mutation-type'
4
- import { handleTree } from '@af-mobile-client-vue3/utils/dataUtil'
5
- import { indexedDB } from '@af-mobile-client-vue3/utils/indexedDB'
6
- import { createStorage } from '@af-mobile-client-vue3/utils/Storage'
7
-
8
- const Storage = createStorage({ storage: localStorage })
9
-
10
- export const GetAppDataService = {
11
- install(app: App<Element>) {
12
- app.provide('$appdata', GetAppDataService)
13
- },
14
- async load() {
15
- },
16
- // 返回树形省市区
17
- async getDivisionsOhChinaForTree() {
18
- // 获取省市区数据
19
- return new Promise((resolve, reject) => {
20
- try {
21
- indexedDB.getByWeb('divisionsOhChina', manageApi.getDivisionsOhChina, {}, (res) => {
22
- resolve(res)
23
- }, (processRes) => {
24
- return handleTree(processRes, 'code', 'parentcode', null)
25
- })
26
- }
27
- catch (e) {
28
- reject(e)
29
- }
30
- })
31
- },
32
- getWebConfigByKey(key: string) {
33
- const object = Storage.get(APP_WEB_CONFIG_KEY)
34
- return object[key]
35
- },
36
- }
37
-
38
- export default GetAppDataService
1
+ import type { App } from 'vue'
2
+ import { manageApi } from '@af-mobile-client-vue3/services/api/manage'
3
+ import { APP_WEB_CONFIG_KEY } from '@af-mobile-client-vue3/stores/mutation-type'
4
+ import { handleTree } from '@af-mobile-client-vue3/utils/dataUtil'
5
+ import { indexedDB } from '@af-mobile-client-vue3/utils/indexedDB'
6
+ import { createStorage } from '@af-mobile-client-vue3/utils/Storage'
7
+
8
+ const Storage = createStorage({ storage: localStorage })
9
+
10
+ export const GetAppDataService = {
11
+ install(app: App<Element>) {
12
+ app.provide('$appdata', GetAppDataService)
13
+ },
14
+ async load() {
15
+ },
16
+ // 返回树形省市区
17
+ async getDivisionsOhChinaForTree() {
18
+ // 获取省市区数据
19
+ return new Promise((resolve, reject) => {
20
+ try {
21
+ indexedDB.getByWeb('divisionsOhChina', manageApi.getDivisionsOhChina, {}, (res) => {
22
+ resolve(res)
23
+ }, (processRes) => {
24
+ return handleTree(processRes, 'code', 'parentcode', null)
25
+ })
26
+ }
27
+ catch (e) {
28
+ reject(e)
29
+ }
30
+ })
31
+ },
32
+ getWebConfigByKey(key: string) {
33
+ const object = Storage.get(APP_WEB_CONFIG_KEY)
34
+ return object[key]
35
+ },
36
+ }
37
+
38
+ export default GetAppDataService
@@ -1,10 +1,10 @@
1
- import type { App } from 'vue'
2
-
3
- const GetLoginInfoService = {
4
- install(app: App<Element>) {
5
- app.provide('$login', GetLoginInfoService)
6
- },
7
- f: {},
8
- }
9
-
10
- export default GetLoginInfoService
1
+ import type { App } from 'vue'
2
+
3
+ const GetLoginInfoService = {
4
+ install(app: App<Element>) {
5
+ app.provide('$login', GetLoginInfoService)
6
+ },
7
+ f: {},
8
+ }
9
+
10
+ export default GetLoginInfoService
@@ -0,0 +1,10 @@
1
+ import { defaultRecordEntries } from '../components/data/UserDetail/recordEntries'
2
+
3
+ const collectUsedIcons = [
4
+ ...defaultRecordEntries.map(entry => entry.icon),
5
+ ...defaultRecordEntries.map(entry => entry.bgColor),
6
+ ...defaultRecordEntries.map(entry => entry.textColor),
7
+ ]
8
+
9
+ // 默认导出
10
+ export default collectUsedIcons
@@ -1,11 +1,11 @@
1
- import type { App } from 'vue'
2
- import GetAppDataService from '@af-mobile-client-vue3/plugins/AppData'
3
- import GetLoginInfoService from '@af-mobile-client-vue3/plugins/GetLoginInfoService'
4
-
5
- const Plugins = {
6
- install(app: App<Element>) {
7
- app.use(GetLoginInfoService)
8
- app.use(GetAppDataService)
9
- },
10
- }
11
- export default Plugins
1
+ import type { App } from 'vue'
2
+ import GetAppDataService from '@af-mobile-client-vue3/plugins/AppData'
3
+ import GetLoginInfoService from '@af-mobile-client-vue3/plugins/GetLoginInfoService'
4
+
5
+ const Plugins = {
6
+ install(app: App<Element>) {
7
+ app.use(GetLoginInfoService)
8
+ app.use(GetAppDataService)
9
+ },
10
+ }
11
+ export default Plugins
@@ -1,8 +1,8 @@
1
- # `File-based Routing`
2
-
3
- Routes will be auto-generated for Vue files in the **src/views** dir with the same file structure.
4
- Check out [`unplugin-vue-router`](https://github.com/posva/unplugin-vue-router) for more details.
5
-
6
- 在 **src/views** 目录下的 Vue 文件会自动生成相同结构的路由。
7
-
8
- 查看[`unplugin-vue-router`](https://github.com/posva/unplugin-vue-router)了解更多细节。
1
+ # `File-based Routing`
2
+
3
+ Routes will be auto-generated for Vue files in the **src/views** dir with the same file structure.
4
+ Check out [`unplugin-vue-router`](https://github.com/posva/unplugin-vue-router) for more details.
5
+
6
+ 在 **src/views** 目录下的 Vue 文件会自动生成相同结构的路由。
7
+
8
+ 查看[`unplugin-vue-router`](https://github.com/posva/unplugin-vue-router)了解更多细节。
@@ -1,59 +1,59 @@
1
- import useUserStore from '@af-mobile-client-vue3/stores/modules/user'
2
- import { hasAuthority } from '@af-mobile-client-vue3/utils/authority-utils'
3
- import { showToast } from 'vant'
4
-
5
- // 不需要登录拦截的路由配置
6
- const loginIgnore = {
7
- names: ['404', '403', 'user-appointment', 'appointment-form', 'appointment-history'], // 根据路由名称匹配
8
- paths: ['/login', '/XReportFormIframeView', '/invoiceShow'], // 根据路由fullPath匹配
9
- /**
10
- * 判断路由是否包含在该配置中
11
- * @param route vue-router 的 route 对象
12
- */
13
- includes(route) {
14
- return this.names.includes(route.name) || this.paths.includes(route.path)
15
- },
16
- }
17
-
18
- /**
19
- * 登录守卫
20
- * @param to
21
- * @param from
22
- * @param next
23
- */
24
- function loginGuard(to, from, next?) {
25
- if (!loginIgnore.includes(to) && !useUserStore().getToken()) {
26
- showToast({
27
- message: '登录状态已失效,请重新登录!',
28
- position: 'bottom',
29
- })
30
- next({ path: '/login' })
31
- }
32
- else {
33
- if (to.path === '/login' && useUserStore().getToken())
34
- next({ path: '/' })
35
-
36
- next()
37
- }
38
- }
39
-
40
- /**
41
- * 权限守卫
42
- * @param to
43
- * @param from
44
- * @param next
45
- */
46
- function authorityGuard(to, from, next?) {
47
- const permissions = useUserStore().getPermissions()
48
- const roles = useUserStore().getRoles()
49
- if (!hasAuthority(to, permissions, roles))
50
- next({ path: '/' })
51
-
52
- else
53
- next()
54
- }
55
-
56
- export default {
57
- beforeEach: [loginGuard, authorityGuard],
58
- afterEach: [],
59
- }
1
+ import useUserStore from '@af-mobile-client-vue3/stores/modules/user'
2
+ import { hasAuthority } from '@af-mobile-client-vue3/utils/authority-utils'
3
+ import { showToast } from 'vant'
4
+
5
+ // 不需要登录拦截的路由配置
6
+ const loginIgnore = {
7
+ names: ['404', '403', 'user-appointment', 'appointment-form', 'appointment-history'], // 根据路由名称匹配
8
+ paths: ['/login', '/XReportFormIframeView', '/invoiceShow'], // 根据路由fullPath匹配
9
+ /**
10
+ * 判断路由是否包含在该配置中
11
+ * @param route vue-router 的 route 对象
12
+ */
13
+ includes(route) {
14
+ return this.names.includes(route.name) || this.paths.includes(route.path)
15
+ },
16
+ }
17
+
18
+ /**
19
+ * 登录守卫
20
+ * @param to
21
+ * @param from
22
+ * @param next
23
+ */
24
+ function loginGuard(to, from, next?) {
25
+ if (!loginIgnore.includes(to) && !useUserStore().getToken()) {
26
+ showToast({
27
+ message: '登录状态已失效,请重新登录!',
28
+ position: 'bottom',
29
+ })
30
+ next({ path: '/login' })
31
+ }
32
+ else {
33
+ if (to.path === '/login' && useUserStore().getToken())
34
+ next({ path: '/' })
35
+
36
+ next()
37
+ }
38
+ }
39
+
40
+ /**
41
+ * 权限守卫
42
+ * @param to
43
+ * @param from
44
+ * @param next
45
+ */
46
+ function authorityGuard(to, from, next?) {
47
+ const permissions = useUserStore().getPermissions()
48
+ const roles = useUserStore().getRoles()
49
+ if (!hasAuthority(to, permissions, roles))
50
+ next({ path: '/' })
51
+
52
+ else
53
+ next()
54
+ }
55
+
56
+ export default {
57
+ beforeEach: [loginGuard, authorityGuard],
58
+ afterEach: [],
59
+ }
@@ -1,35 +1,35 @@
1
- import type { EnhancedRouteLocation } from '@af-mobile-client-vue3/router/types'
2
- import routes from '@af-mobile-client-vue3/router/routes'
3
- import useRouteCacheStore from '@af-mobile-client-vue3/stores/modules/routeCache'
4
- import setPageTitle from '@af-mobile-client-vue3/utils/set-page-title'
5
- import NProgress from 'nprogress'
6
- // https://router.vuejs.org/zh/
7
- import { createRouter, createWebHashHistory, createWebHistory } from 'vue-router'
8
- import 'nprogress/nprogress.css'
9
-
10
- NProgress.configure({ showSpinner: true, parent: '#system-app' })
11
-
12
- const baseUrl = import.meta.env.VITE_APP_PUBLIC_PATH
13
- // 创建路由实例并传递 `routes` 配置
14
- const router = createRouter({
15
- history: import.meta.env.NODE_ENV === 'development' ? createWebHistory(baseUrl) : createWebHashHistory(baseUrl),
16
- routes,
17
- })
18
-
19
- router.beforeEach((to: EnhancedRouteLocation) => {
20
- NProgress.start()
21
-
22
- // 路由缓存
23
- const routeCacheStore = useRouteCacheStore()
24
- routeCacheStore.addRoute(to)
25
-
26
- // 页面 title
27
- setPageTitle(to.meta.title as string)
28
- })
29
-
30
- router.afterEach(() => {
31
- NProgress.done()
32
- })
33
-
34
- // 导出路由实例,并在 `main.ts` 挂载
35
- export default router
1
+ import type { EnhancedRouteLocation } from '@af-mobile-client-vue3/router/types'
2
+ import routes from '@af-mobile-client-vue3/router/routes'
3
+ import useRouteCacheStore from '@af-mobile-client-vue3/stores/modules/routeCache'
4
+ import setPageTitle from '@af-mobile-client-vue3/utils/set-page-title'
5
+ import NProgress from 'nprogress'
6
+ // https://router.vuejs.org/zh/
7
+ import { createRouter, createWebHashHistory, createWebHistory } from 'vue-router'
8
+ import 'nprogress/nprogress.css'
9
+
10
+ NProgress.configure({ showSpinner: true, parent: '#system-app' })
11
+
12
+ const baseUrl = import.meta.env.VITE_APP_PUBLIC_PATH
13
+ // 创建路由实例并传递 `routes` 配置
14
+ const router = createRouter({
15
+ history: import.meta.env.NODE_ENV === 'development' ? createWebHistory(baseUrl) : createWebHashHistory(baseUrl),
16
+ routes,
17
+ })
18
+
19
+ router.beforeEach((to: EnhancedRouteLocation) => {
20
+ NProgress.start()
21
+
22
+ // 路由缓存
23
+ const routeCacheStore = useRouteCacheStore()
24
+ routeCacheStore.addRoute(to)
25
+
26
+ // 页面 title
27
+ setPageTitle(to.meta.title as string)
28
+ })
29
+
30
+ router.afterEach(() => {
31
+ NProgress.done()
32
+ })
33
+
34
+ // 导出路由实例,并在 `main.ts` 挂载
35
+ export default router
@@ -1,33 +1,33 @@
1
- import type { RouteRecordRaw } from 'vue-router'
2
- import PageLayout from '@af-mobile-client-vue3/layout/PageLayout.vue'
3
- import NotFound from '@af-mobile-client-vue3/views/common/NotFound.vue'
4
- import invoiceShow from '@af-mobile-client-vue3/views/invoiceShow/index.vue'
5
-
6
- const routes: Array<RouteRecordRaw> = [
7
- {
8
- path: '/',
9
- name: 'root',
10
- component: PageLayout,
11
- redirect: { name: 'Component' },
12
- children: [
13
- {
14
- path: '/invoiceShow',
15
- name: 'invoiceShow',
16
- component: invoiceShow,
17
- },
18
- ],
19
- },
20
- {
21
- path: '/404',
22
- name: '404',
23
- component: NotFound,
24
- },
25
- {
26
- path: '/:pathMatch(.*)',
27
- redirect: {
28
- name: '404',
29
- },
30
- },
31
- ]
32
-
33
- export default routes
1
+ import type { RouteRecordRaw } from 'vue-router'
2
+ import PageLayout from '@af-mobile-client-vue3/layout/PageLayout.vue'
3
+ import NotFound from '@af-mobile-client-vue3/views/common/NotFound.vue'
4
+ import invoiceShow from '@af-mobile-client-vue3/views/invoiceShow/index.vue'
5
+
6
+ const routes: Array<RouteRecordRaw> = [
7
+ {
8
+ path: '/',
9
+ name: 'root',
10
+ component: PageLayout,
11
+ redirect: { name: 'Component' },
12
+ children: [
13
+ {
14
+ path: '/invoiceShow',
15
+ name: 'invoiceShow',
16
+ component: invoiceShow,
17
+ },
18
+ ],
19
+ },
20
+ {
21
+ path: '/404',
22
+ name: '404',
23
+ component: NotFound,
24
+ },
25
+ {
26
+ path: '/:pathMatch(.*)',
27
+ redirect: {
28
+ name: '404',
29
+ },
30
+ },
31
+ ]
32
+
33
+ export default routes