af-mobile-client-vue3 1.3.54 → 1.3.57

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 (56) hide show
  1. package/package.json +115 -115
  2. package/public/favicon.svg +4 -4
  3. package/scripts/verifyCommit.js +19 -19
  4. package/src/App.vue +1 -1
  5. package/src/api/user/index.ts +45 -45
  6. package/src/components/data/UserDetail/types.ts +1 -1
  7. package/src/components/data/XReportGrid/XAddReport/index.ts +1 -1
  8. package/src/components/data/XReportGrid/XReportDrawer/index.ts +1 -1
  9. package/src/components/data/XTag/index.vue +10 -10
  10. package/src/components/layout/TabBarLayout/index.vue +40 -40
  11. package/src/font-style/Inter-Bold.woff2 +0 -0
  12. package/src/font-style/Inter-Medium.woff2 +0 -0
  13. package/src/font-style/Inter-Regular.woff2 +0 -0
  14. package/src/font-style/Inter-SemiBold.woff2 +0 -0
  15. package/src/font-style/PingFangSC-Medium.subset.woff2 +0 -0
  16. package/src/font-style/PingFangSC-Medium.woff2 +0 -0
  17. package/src/font-style/PingFangSC-Regular.subset.woff2 +0 -0
  18. package/src/font-style/PingFangSC-Semibold.subset.woff2 +0 -0
  19. package/src/font-style/PingFangSC-Semibold.woff2 +0 -0
  20. package/src/font-style/font.css +59 -2
  21. package/src/hooks/useCommon.ts +9 -9
  22. package/src/plugins/AppData.ts +38 -38
  23. package/src/router/external-routes.ts +69 -69
  24. package/src/router/guards.ts +131 -131
  25. package/src/router/invoiceRoutes.ts +33 -33
  26. package/src/router/routes.ts +421 -421
  27. package/src/services/api/Login.ts +6 -6
  28. package/src/services/api/common.ts +109 -109
  29. package/src/services/api/manage.ts +8 -8
  30. package/src/services/api/search.ts +16 -16
  31. package/src/services/restTools.ts +56 -56
  32. package/src/services/v3Api.ts +11 -11
  33. package/src/stores/modules/user.ts +1 -1
  34. package/src/styles/login.less +109 -109
  35. package/src/types/platform.ts +194 -194
  36. package/src/utils/authority-utils.ts +84 -84
  37. package/src/utils/crypto.ts +39 -39
  38. package/src/utils/environment.ts +10 -10
  39. package/src/utils/platform-auth.ts +150 -150
  40. package/src/utils/routerUtil.ts +81 -2
  41. package/src/utils/runEvalFunction.ts +13 -13
  42. package/src/utils/wechat.ts +297 -297
  43. package/src/views/component/EvaluateRecordView/index.vue +40 -40
  44. package/src/views/component/XCellDetailView/index.vue +217 -217
  45. package/src/views/component/XReportFormIframeView/index.vue +47 -47
  46. package/src/views/component/XReportFormView/index.vue +13 -13
  47. package/src/views/component/XSignatureView/index.vue +50 -50
  48. package/src/views/component/notice.vue +46 -46
  49. package/src/views/component/topNav.vue +36 -36
  50. package/src/views/invoiceShow/index.vue +61 -61
  51. package/src/views/loading/AuthLoading.vue +378 -378
  52. package/src/views/user/login/index.vue +22 -22
  53. package/src/views/user/register/index.vue +1 -1
  54. package/vite.config.ts +114 -114
  55. package/certs/127.0.0.1+2-key.pem +0 -28
  56. package/certs/127.0.0.1+2.pem +0 -27
package/package.json CHANGED
@@ -1,115 +1,115 @@
1
- {
2
- "name": "af-mobile-client-vue3",
3
- "type": "module",
4
- "version": "1.3.54",
5
- "packageManager": "pnpm@10.13.1",
6
- "description": "Vue + Vite component lib",
7
- "engines": {
8
- "node": ">=20.19.0"
9
- },
10
- "scripts": {
11
- "dev": "cross-env MOCK_SERVER_PORT=8086 vite",
12
- "compress": "node ./compress.js",
13
- "build:dev": "vue-tsc --noEmit && vite build --mode development && pnpm run compress",
14
- "build:pro": "vue-tsc --noEmit && vite build --mode production && pnpm run compress",
15
- "preview": "vite preview",
16
- "lint": "eslint .",
17
- "lint:fix": "eslint . --fix",
18
- "release": "bumpp --commit --push --tag",
19
- "typecheck": "vue-tsc --noEmit",
20
- "commitlint": "commitlint --edit",
21
- "prepare": "simple-git-hooks"
22
- },
23
- "dependencies": {
24
- "@iconify/vue": "4.3.0",
25
- "@micro-zoe/micro-app": "1.0.0-rc.26",
26
- "@unhead/vue": "2.0.12",
27
- "@vant/area-data": "^2.0.0",
28
- "@vant/touch-emulator": "^1.4.0",
29
- "@vant/use": "^1.6.0",
30
- "@vueuse/core": "^13.5.0",
31
- "axios": "^1.10.0",
32
- "crypto-js": "^4.2.0",
33
- "dayjs": "^1.11.13",
34
- "echarts": "^5.6.0",
35
- "lodash-es": "^4.17.21",
36
- "nprogress": "^0.2.0",
37
- "ol": "^10.5.0",
38
- "pinia": "^3.0.3",
39
- "pinia-plugin-persistedstate": "^4.4.1",
40
- "resize-detector": "^0.3.0",
41
- "vant": "^4.9.21",
42
- "vconsole": "^3.15.1",
43
- "vue": "^3.5.17",
44
- "vue-i18n": "^11.1.10",
45
- "vue-router": "^4.5.1",
46
- "vue3-hash-calendar": "^1.1.3",
47
- "weixin-js-sdk": "^1.6.5"
48
- },
49
- "devDependencies": {
50
- "@antfu/eslint-config": "4.17.0",
51
- "@commitlint/cli": "^19.8.1",
52
- "@commitlint/config-conventional": "^19.8.1",
53
- "@commitlint/types": "^19.8.1",
54
- "@iconify/json": "2.2.318",
55
- "@iconify/utils": "^2.3.0",
56
- "@intlify/unplugin-vue-i18n": "^6.0.8",
57
- "@types/crypto-js": "^4.2.2",
58
- "@types/lodash-es": "^4.17.12",
59
- "@types/node": "^24.0.14",
60
- "@types/nprogress": "^0.2.3",
61
- "@unocss/eslint-config": "66.3.3",
62
- "@vitejs/plugin-legacy": "^7.0.1",
63
- "@vitejs/plugin-vue": "^6.0.0",
64
- "autoprefixer": "^10.4.21",
65
- "bumpp": "^10.2.0",
66
- "consola": "^3.4.2",
67
- "cross-env": "^7.0.3",
68
- "eslint": "^9.31.0",
69
- "eslint-plugin-format": "^1.0.1",
70
- "less": "^4.4.0",
71
- "lint-staged": "^16.1.2",
72
- "mockjs": "^1.1.0",
73
- "postcss-mobile-forever": "^5.0.0",
74
- "rollup": "^4.45.1",
75
- "simple-git-hooks": "^2.13.0",
76
- "tar": "^7.4.3",
77
- "terser": "^5.43.1",
78
- "typescript": "^5.8.3",
79
- "unocss": "66.3.3",
80
- "vite": "^7.0.5",
81
- "vite-plugin-compression": "^0.5.1",
82
- "vite-plugin-mock-dev-server": "^1.9.1",
83
- "vite-plugin-pwa": "^1.0.1",
84
- "vite-plugin-sitemap": "^0.8.2",
85
- "vite-plugin-vconsole": "^2.1.1",
86
- "vite-plugin-vue-devtools": "^7.7.7",
87
- "vue-tsc": "^3.0.2"
88
- },
89
- "pnpm": {
90
- "allowedDeprecatedVersions": {
91
- "glob": "7.2.3",
92
- "inflight": "1.0.6",
93
- "sourcemap-codec": "1.4.8"
94
- },
95
- "peerDependencyRules": {
96
- "allowedVersions": {}
97
- },
98
- "onlyBuiltDependencies": [
99
- "core-js",
100
- "esbuild",
101
- "simple-git-hooks",
102
- "unrs-resolver"
103
- ]
104
- },
105
- "resolutions": {
106
- "vite": "^7.0.5"
107
- },
108
- "simple-git-hooks": {
109
- "pre-commit": "pnpm lint-staged",
110
- "commit-msg": "pnpm commitlint $1"
111
- },
112
- "lint-staged": {
113
- "*": "eslint --fix"
114
- }
115
- }
1
+ {
2
+ "name": "af-mobile-client-vue3",
3
+ "type": "module",
4
+ "version": "1.3.57",
5
+ "packageManager": "pnpm@10.13.1",
6
+ "description": "Vue + Vite component lib",
7
+ "engines": {
8
+ "node": ">=20.19.0"
9
+ },
10
+ "scripts": {
11
+ "dev": "cross-env MOCK_SERVER_PORT=8086 vite",
12
+ "compress": "node ./compress.js",
13
+ "build:dev": "vue-tsc --noEmit && vite build --mode development && pnpm run compress",
14
+ "build:pro": "vue-tsc --noEmit && vite build --mode production && pnpm run compress",
15
+ "preview": "vite preview",
16
+ "lint": "eslint .",
17
+ "lint:fix": "eslint . --fix",
18
+ "release": "bumpp --commit --push --tag",
19
+ "typecheck": "vue-tsc --noEmit",
20
+ "commitlint": "commitlint --edit",
21
+ "prepare": "simple-git-hooks"
22
+ },
23
+ "dependencies": {
24
+ "@iconify/vue": "4.3.0",
25
+ "@micro-zoe/micro-app": "1.0.0-rc.26",
26
+ "@unhead/vue": "2.0.12",
27
+ "@vant/area-data": "^2.0.0",
28
+ "@vant/touch-emulator": "^1.4.0",
29
+ "@vant/use": "^1.6.0",
30
+ "@vueuse/core": "^13.5.0",
31
+ "axios": "^1.10.0",
32
+ "crypto-js": "^4.2.0",
33
+ "dayjs": "^1.11.13",
34
+ "echarts": "^5.6.0",
35
+ "lodash-es": "^4.17.21",
36
+ "nprogress": "^0.2.0",
37
+ "ol": "^10.5.0",
38
+ "pinia": "^3.0.3",
39
+ "pinia-plugin-persistedstate": "^4.4.1",
40
+ "resize-detector": "^0.3.0",
41
+ "vant": "^4.9.21",
42
+ "vconsole": "^3.15.1",
43
+ "vue": "^3.5.17",
44
+ "vue-i18n": "^11.1.10",
45
+ "vue-router": "^4.5.1",
46
+ "vue3-hash-calendar": "^1.1.3",
47
+ "weixin-js-sdk": "^1.6.5"
48
+ },
49
+ "devDependencies": {
50
+ "@antfu/eslint-config": "4.17.0",
51
+ "@commitlint/cli": "^19.8.1",
52
+ "@commitlint/config-conventional": "^19.8.1",
53
+ "@commitlint/types": "^19.8.1",
54
+ "@iconify/json": "2.2.318",
55
+ "@iconify/utils": "^2.3.0",
56
+ "@intlify/unplugin-vue-i18n": "^6.0.8",
57
+ "@types/crypto-js": "^4.2.2",
58
+ "@types/lodash-es": "^4.17.12",
59
+ "@types/node": "^24.0.14",
60
+ "@types/nprogress": "^0.2.3",
61
+ "@unocss/eslint-config": "66.3.3",
62
+ "@vitejs/plugin-legacy": "^7.0.1",
63
+ "@vitejs/plugin-vue": "^6.0.0",
64
+ "autoprefixer": "^10.4.21",
65
+ "bumpp": "^10.2.0",
66
+ "consola": "^3.4.2",
67
+ "cross-env": "^7.0.3",
68
+ "eslint": "^9.31.0",
69
+ "eslint-plugin-format": "^1.0.1",
70
+ "less": "^4.4.0",
71
+ "lint-staged": "^16.1.2",
72
+ "mockjs": "^1.1.0",
73
+ "postcss-mobile-forever": "^5.0.0",
74
+ "rollup": "^4.45.1",
75
+ "simple-git-hooks": "^2.13.0",
76
+ "tar": "^7.4.3",
77
+ "terser": "^5.43.1",
78
+ "typescript": "^5.8.3",
79
+ "unocss": "66.3.3",
80
+ "vite": "^7.0.5",
81
+ "vite-plugin-compression": "^0.5.1",
82
+ "vite-plugin-mock-dev-server": "^1.9.1",
83
+ "vite-plugin-pwa": "^1.0.1",
84
+ "vite-plugin-sitemap": "^0.8.2",
85
+ "vite-plugin-vconsole": "^2.1.1",
86
+ "vite-plugin-vue-devtools": "^7.7.7",
87
+ "vue-tsc": "^3.0.2"
88
+ },
89
+ "pnpm": {
90
+ "allowedDeprecatedVersions": {
91
+ "glob": "7.2.3",
92
+ "inflight": "1.0.6",
93
+ "sourcemap-codec": "1.4.8"
94
+ },
95
+ "peerDependencyRules": {
96
+ "allowedVersions": {}
97
+ },
98
+ "onlyBuiltDependencies": [
99
+ "core-js",
100
+ "esbuild",
101
+ "simple-git-hooks",
102
+ "unrs-resolver"
103
+ ]
104
+ },
105
+ "resolutions": {
106
+ "vite": "^7.0.5"
107
+ },
108
+ "simple-git-hooks": {
109
+ "pre-commit": "pnpm lint-staged",
110
+ "commit-msg": "pnpm commitlint $1"
111
+ },
112
+ "lint-staged": {
113
+ "*": "eslint --fix"
114
+ }
115
+ }
@@ -1,4 +1,4 @@
1
- <svg t="1709866807903" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="4913" width="32" height="32">
2
- <path d="M512 598.528a111.232 111.232 0 0 0-111.232 111.2064V870.4h222.464v-160.6656c0-61.44-49.792-111.232-111.232-111.232z m0 58.0608c-30.72 0-55.6032 24.9088-55.6032 55.6288v105.0368h111.2064v-105.0368c0-30.72-24.8832-55.6288-55.6032-55.6288z" fill="#FB4D31" p-id="4914"></path>
3
- <path d="M542.08 270.208l45.2608-78.5408a24.5248 24.5248 0 0 0 0-25.6A26.4448 26.4448 0 0 0 564.1472 153.6a26.3424 26.3424 0 0 0-22.5792 13.44L512 217.6256l-29.5424-50.5344c-4.5824-8.192-13.184-13.312-22.5536-13.4912a26.4448 26.4448 0 0 0-23.2448 12.4928 24.5248 24.5248 0 0 0 0 25.6l45.2352 78.5152L156.928 832.768a24.4736 24.4736 0 0 0 0.3328 25.088c4.8384 7.8336 13.3888 12.544 22.5792 12.5184h664.3456c9.3184 0 17.92-4.7616 22.6304-12.4672a24.4736 24.4736 0 0 0 0.3072-25.088l-325.0176-562.688v0.0512zM619.52 816.64h-33.3568c-12.3648 0-9.6768 0.1024-65.0496 0H512c-55.3728 0.1024-24.704 0-61.7984 0H225.28L512 322.1248 798.72 816.64h-179.2z" fill="#000000" p-id="4915"></path>
4
- </svg>
1
+ <svg t="1709866807903" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="4913" width="32" height="32">
2
+ <path d="M512 598.528a111.232 111.232 0 0 0-111.232 111.2064V870.4h222.464v-160.6656c0-61.44-49.792-111.232-111.232-111.232z m0 58.0608c-30.72 0-55.6032 24.9088-55.6032 55.6288v105.0368h111.2064v-105.0368c0-30.72-24.8832-55.6288-55.6032-55.6288z" fill="#FB4D31" p-id="4914"></path>
3
+ <path d="M542.08 270.208l45.2608-78.5408a24.5248 24.5248 0 0 0 0-25.6A26.4448 26.4448 0 0 0 564.1472 153.6a26.3424 26.3424 0 0 0-22.5792 13.44L512 217.6256l-29.5424-50.5344c-4.5824-8.192-13.184-13.312-22.5536-13.4912a26.4448 26.4448 0 0 0-23.2448 12.4928 24.5248 24.5248 0 0 0 0 25.6l45.2352 78.5152L156.928 832.768a24.4736 24.4736 0 0 0 0.3328 25.088c4.8384 7.8336 13.3888 12.544 22.5792 12.5184h664.3456c9.3184 0 17.92-4.7616 22.6304-12.4672a24.4736 24.4736 0 0 0 0.3072-25.088l-325.0176-562.688v0.0512zM619.52 816.64h-33.3568c-12.3648 0-9.6768 0.1024-65.0496 0H512c-55.3728 0.1024-24.704 0-61.7984 0H225.28L512 322.1248 798.72 816.64h-179.2z" fill="#000000" p-id="4915"></path>
4
+ </svg>
@@ -1,19 +1,19 @@
1
- import fs from 'node:fs'
2
-
3
- // import process from 'node:process'
4
-
5
- const msg = fs.readFileSync('.git/COMMIT_EDITMSG', 'utf-8').trim()
6
-
7
- const commitRE = /^(?:revert: )?(?:feat|fix|docs|dx|style|refactor|perf|test|workflow|build|ci|chore|types|wip|release)(?:\(.+\))?: .{1,50}/
8
- // const mergeRe = /^(Merge pull request|Merge branch)/
9
-
10
- if (!commitRE.test(msg)) {
11
- // if (!mergeRe.test(msg)) {
12
- // console.log('git commit unpass')
13
- // console.error('git commit error, needs title(scope): desc')
14
- // process.exit(1)
15
- // }
16
- }
17
- else {
18
- console.log('git commit pass')
19
- }
1
+ import fs from 'node:fs'
2
+
3
+ // import process from 'node:process'
4
+
5
+ const msg = fs.readFileSync('.git/COMMIT_EDITMSG', 'utf-8').trim()
6
+
7
+ const commitRE = /^(?:revert: )?(?:feat|fix|docs|dx|style|refactor|perf|test|workflow|build|ci|chore|types|wip|release)(?:\(.+\))?: .{1,50}/
8
+ // const mergeRe = /^(Merge pull request|Merge branch)/
9
+
10
+ if (!commitRE.test(msg)) {
11
+ // if (!mergeRe.test(msg)) {
12
+ // console.log('git commit unpass')
13
+ // console.error('git commit error, needs title(scope): desc')
14
+ // process.exit(1)
15
+ // }
16
+ }
17
+ else {
18
+ console.log('git commit pass')
19
+ }
package/src/App.vue CHANGED
@@ -43,7 +43,7 @@ const mode = computed(() => {
43
43
  })
44
44
 
45
45
  const themeVars: ConfigProviderThemeVars = reactive({
46
- baseFont: 'PingFangSC-Regular-woff2, serif',
46
+ baseFont: 'Inter, PingFang SC, serif',
47
47
  })
48
48
  </script>
49
49
 
@@ -1,45 +1,45 @@
1
- import { loginApi } from '@af-mobile-client-vue3/services/api/Login'
2
-
3
- import { get, post } from '@af-mobile-client-vue3/services/restTools'
4
- import { http } from '@af-mobile-client-vue3/utils/http'
5
-
6
- export interface BasicResponseModel<T = any> {
7
- code: number
8
- msg: string
9
- data: T
10
- }
11
-
12
- export function login(data: any) {
13
- return post(
14
- loginApi.Login,
15
- data,
16
- )
17
- }
18
-
19
- export function OALogin(data: any) {
20
- return get(`/af-system/user/${data.username}/${data.password}/智慧OA`)
21
- }
22
-
23
- /**
24
- * @description: 获取用户信息
25
- */
26
- export function getUserInfo(data: any) {
27
- const params = {
28
- resourceName: data.resourceName,
29
- isMobile: true,
30
- }
31
- return get(
32
- `/af-system/user/info/${data.username}`,
33
- params,
34
- )
35
- }
36
-
37
- /**
38
- * @description: 用户登出
39
- */
40
- export function doLogout() {
41
- return http.request({
42
- url: loginApi.Logout,
43
- method: 'DELETE',
44
- })
45
- }
1
+ import { loginApi } from '@af-mobile-client-vue3/services/api/Login'
2
+
3
+ import { get, post } from '@af-mobile-client-vue3/services/restTools'
4
+ import { http } from '@af-mobile-client-vue3/utils/http'
5
+
6
+ export interface BasicResponseModel<T = any> {
7
+ code: number
8
+ msg: string
9
+ data: T
10
+ }
11
+
12
+ export function login(data: any) {
13
+ return post(
14
+ loginApi.Login,
15
+ data,
16
+ )
17
+ }
18
+
19
+ export function OALogin(data: any) {
20
+ return get(`/af-system/user/${data.username}/${data.password}/智慧OA`)
21
+ }
22
+
23
+ /**
24
+ * @description: 获取用户信息
25
+ */
26
+ export function getUserInfo(data: any) {
27
+ const params = {
28
+ resourceName: data.resourceName,
29
+ isMobile: true,
30
+ }
31
+ return get(
32
+ `/af-system/user/info/${data.username}`,
33
+ params,
34
+ )
35
+ }
36
+
37
+ /**
38
+ * @description: 用户登出
39
+ */
40
+ export function doLogout() {
41
+ return http.request({
42
+ url: loginApi.Logout,
43
+ method: 'DELETE',
44
+ })
45
+ }
@@ -23,4 +23,4 @@ export interface ConfigItem {
23
23
  format?: (value: string | number) => string
24
24
  template?: string
25
25
  condition?: (data: any) => boolean
26
- }
26
+ }
@@ -7,4 +7,4 @@ export default {
7
7
  install(app: App) {
8
8
  app.component('XAddReport', XAddReport)
9
9
  },
10
- }
10
+ }
@@ -7,4 +7,4 @@ export default {
7
7
  install(app: App) {
8
8
  app.component('XReportDrawer', XReportDrawer)
9
9
  },
10
- }
10
+ }
@@ -1,10 +1,10 @@
1
- <script setup lang="ts">
2
- </script>
3
-
4
- <template>
5
- <VanTag />
6
- </template>
7
-
8
- <style scoped lang="less">
9
-
10
- </style>
1
+ <script setup lang="ts">
2
+ </script>
3
+
4
+ <template>
5
+ <VanTag />
6
+ </template>
7
+
8
+ <style scoped lang="less">
9
+
10
+ </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>
Binary file
@@ -1,4 +1,61 @@
1
1
  @font-face {
2
- font-family: 'PingFangSC-Regular-woff2';
3
- src: url('./PingFangSC-Regular.woff2') format('woff2');
2
+ font-family: 'PingFang SC';
3
+ font-style: normal;
4
+ font-weight: 400;
5
+ font-display: swap;
6
+ src: url('./PingFangSC-Regular.subset.woff2') format('woff2');
4
7
  }
8
+
9
+ @font-face {
10
+ font-family: 'PingFang SC';
11
+ font-style: normal;
12
+ font-weight: 500;
13
+ font-display: swap;
14
+ src: url('./PingFangSC-Medium.subset.woff2') format('woff2');
15
+ }
16
+
17
+ @font-face {
18
+ font-family: 'PingFang SC';
19
+ font-style: normal;
20
+ font-weight: 600;
21
+ font-display: swap;
22
+ src: url('./PingFangSC-Semibold.subset.woff2') format('woff2');
23
+ }
24
+
25
+ /* fonts.css */
26
+ @font-face {
27
+ font-family: 'Inter';
28
+ font-style: normal;
29
+ font-weight: 400;
30
+ font-display: swap;
31
+ src: url('./Inter-Regular.woff2') format('woff2');
32
+ unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
33
+ }
34
+
35
+ @font-face {
36
+ font-family: 'Inter';
37
+ font-style: normal;
38
+ font-weight: 500;
39
+ font-display: swap;
40
+ src: url('./Inter-Medium.woff2') format('woff2');
41
+ unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
42
+ }
43
+
44
+ @font-face {
45
+ font-family: 'Inter';
46
+ font-style: normal;
47
+ font-weight: 600;
48
+ font-display: swap;
49
+ src: url('./Inter-SemiBold.woff2') format('woff2');
50
+ unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
51
+ }
52
+
53
+ @font-face {
54
+ font-family: 'Inter';
55
+ font-style: normal;
56
+ font-weight: 700;
57
+ font-display: swap;
58
+ src: url('./Inter-Bold.woff2') format('woff2');
59
+ unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
60
+ }
61
+
@@ -1,9 +1,9 @@
1
- export function formatDate(date) {
2
- const year = date.getFullYear()
3
- const month = (date.getMonth() + 1).toString().padStart(2, '0') // 月份加1,并补零
4
- const day = date.getDate().toString().padStart(2, '0') // 日期补零
5
- const hours = date.getHours().toString().padStart(2, '0') // 小时补零
6
- const minutes = date.getMinutes().toString().padStart(2, '0') // 分钟补零
7
- const seconds = date.getSeconds().toString().padStart(2, '0') // 秒数补零
8
- return `${year}-${month}-${day} ${hours}:${minutes}:${seconds}`
9
- }
1
+ export function formatDate(date) {
2
+ const year = date.getFullYear()
3
+ const month = (date.getMonth() + 1).toString().padStart(2, '0') // 月份加1,并补零
4
+ const day = date.getDate().toString().padStart(2, '0') // 日期补零
5
+ const hours = date.getHours().toString().padStart(2, '0') // 小时补零
6
+ const minutes = date.getMinutes().toString().padStart(2, '0') // 分钟补零
7
+ const seconds = date.getSeconds().toString().padStart(2, '0') // 秒数补零
8
+ return `${year}-${month}-${day} ${hours}:${minutes}:${seconds}`
9
+ }