af-mobile-client-vue3 1.1.41 → 1.1.42

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/index.html CHANGED
@@ -9,7 +9,6 @@
9
9
  <body>
10
10
  <div id="system-app"></div>
11
11
  <script type="module" src="/src/main.ts"></script>
12
- <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.5.1/css/all.min.css">
13
12
  <noscript>
14
13
  This website requires JavaScript to function properly.
15
14
  Please enable JavaScript to continue.
package/package.json CHANGED
@@ -1,112 +1,115 @@
1
- {
2
- "name": "af-mobile-client-vue3",
3
- "type": "module",
4
- "version": "1.1.41",
5
- "description": "Vue + Vite component lib",
6
- "license": "MIT",
7
- "engines": {
8
- "node": ">=18.12.0",
9
- "pnpm": ">=8.15.0"
10
- },
11
- "scripts": {
12
- "dev": "cross-env MOCK_SERVER_PORT=8086 vite",
13
- "build": "vue-tsc --noEmit && vite build",
14
- "build:dev": "vue-tsc --noEmit && vite build --mode=development",
15
- "preview": "vite preview",
16
- "lint": "eslint . && vue-tsc --noEmit",
17
- "lint:fix": "eslint . --fix",
18
- "test": "vitest",
19
- "release": "bumpp --commit --push --tag"
20
- },
21
- "dependencies": {
22
- "@iconify/vue": "4.3.0",
23
- "@micro-zoe/micro-app": "1.0.0-rc.24",
24
- "@unhead/vue": "^2.0.5",
25
- "@vant/area-data": "^2.0.0",
26
- "@vant/touch-emulator": "^1.4.0",
27
- "@vant/use": "^1.6.0",
28
- "@vueuse/core": "^13.1.0",
29
- "animate.css": "^4.1.1",
30
- "axios": "^1.8.4",
31
- "crypto-js": "^4.2.0",
32
- "echarts": "^5.6.0",
33
- "lodash-es": "^4.17.21",
34
- "nprogress": "^0.2.0",
35
- "ol": "^10.5.0",
36
- "pinia": "^3.0.2",
37
- "pinia-plugin-persistedstate": "^4.2.0",
38
- "qs": "^6.14.0",
39
- "resize-detector": "^0.3.0",
40
- "store": "^2.0.12",
41
- "vant": "^4.9.18",
42
- "vconsole": "^3.15.1",
43
- "vue": "^3.5.13",
44
- "vue-router": "^4.5.0",
45
- "vue3-hash-calendar": "^1.1.3"
46
- },
47
- "devDependencies": {
48
- "@antfu/eslint-config": "^4.12.0",
49
- "@iconify/json": "2.2.318",
50
- "@types/crypto-js": "^4.2.2",
51
- "@types/lodash-es": "^4.17.12",
52
- "@types/node": "^22.14.1",
53
- "@types/nprogress": "^0.2.3",
54
- "@types/store": "^2.0.5",
55
- "@unocss/eslint-plugin": "^66.1.0-beta.11",
56
- "@unocss/preset-rem-to-px": "66.1.0-beta.11",
57
- "@vitejs/plugin-legacy": "^6.0.2",
58
- "@vitejs/plugin-vue": "^5.2.3",
59
- "autoprefixer": "^10.4.21",
60
- "bumpp": "^10.1.0",
61
- "commitizen": "^4.3.1",
62
- "consola": "^3.4.2",
63
- "cross-env": "^7.0.3",
64
- "cz-emoji-chinese": "^0.3.1",
65
- "eslint": "^9.24.0",
66
- "eslint-ts-patch": "^8.57.0-0",
67
- "husky": "^9.1.7",
68
- "less": "^4.3.0",
69
- "mockjs": "^1.1.0",
70
- "postcss-mobile-forever": "^5.0.0",
71
- "rollup": "^4.40.0",
72
- "terser": "^5.39.0",
73
- "typescript": "^5.8.3",
74
- "unocss": "^66.1.0-beta.11",
75
- "unplugin-auto-import": "^19.1.2",
76
- "unplugin-vue-components": "^28.4.1",
77
- "unplugin-vue-router": "^0.12.0",
78
- "vite": "^6.2.6",
79
- "vite-plugin-compression": "^0.5.1",
80
- "vite-plugin-mock-dev-server": "^1.8.5",
81
- "vite-plugin-pwa": "^1.0.0",
82
- "vite-plugin-sitemap": "^0.7.1",
83
- "vite-plugin-svg-icons": "^2.0.1",
84
- "vite-plugin-vconsole": "^2.1.1",
85
- "vite-plugin-vue-devtools": "^7.7.2",
86
- "vite-plugin-vue-layouts": "^0.11.0",
87
- "vitest": "^3.1.1",
88
- "vue-tsc": "^2.2.8"
89
- },
90
- "pnpm": {
91
- "peerDependencyRules": {
92
- "ignoreMissing": [
93
- "postcss",
94
- "esbuild"
95
- ],
96
- "allowedVersions": {
97
- "rollup": "^4.x"
98
- }
99
- }
100
- },
101
- "config": {
102
- "commitizen": {
103
- "path": "./node_modules/cz-emoji-chinese"
104
- },
105
- "cz-emoji-chinese": {
106
- "skipQuestions": [
107
- "body",
108
- "scope"
109
- ]
110
- }
111
- }
112
- }
1
+ {
2
+ "name": "af-mobile-client-vue3",
3
+ "type": "module",
4
+ "version": "1.1.42",
5
+ "description": "Vue + Vite component lib",
6
+ "license": "MIT",
7
+ "engines": {
8
+ "node": ">=18.12.0",
9
+ "pnpm": ">=8.15.0"
10
+ },
11
+ "scripts": {
12
+ "dev": "cross-env MOCK_SERVER_PORT=8086 vite",
13
+ "build": "vue-tsc --noEmit && vite build",
14
+ "build:dev": "vue-tsc --noEmit && vite build --mode=development",
15
+ "preview": "vite preview",
16
+ "lint": "eslint . && vue-tsc --noEmit",
17
+ "lint:fix": "eslint . --fix",
18
+ "test": "vitest",
19
+ "release": "bumpp --commit --push --tag"
20
+ },
21
+ "dependencies": {
22
+ "@fortawesome/fontawesome-svg-core": "^6.7.2",
23
+ "@fortawesome/free-solid-svg-icons": "^6.7.2",
24
+ "@fortawesome/vue-fontawesome": "^3.0.8",
25
+ "@iconify/vue": "4.3.0",
26
+ "@micro-zoe/micro-app": "1.0.0-rc.24",
27
+ "@unhead/vue": "^2.0.5",
28
+ "@vant/area-data": "^2.0.0",
29
+ "@vant/touch-emulator": "^1.4.0",
30
+ "@vant/use": "^1.6.0",
31
+ "@vueuse/core": "^13.1.0",
32
+ "animate.css": "^4.1.1",
33
+ "axios": "^1.8.4",
34
+ "crypto-js": "^4.2.0",
35
+ "echarts": "^5.6.0",
36
+ "lodash-es": "^4.17.21",
37
+ "nprogress": "^0.2.0",
38
+ "ol": "^10.5.0",
39
+ "pinia": "^3.0.2",
40
+ "pinia-plugin-persistedstate": "^4.2.0",
41
+ "qs": "^6.14.0",
42
+ "resize-detector": "^0.3.0",
43
+ "store": "^2.0.12",
44
+ "vant": "^4.9.18",
45
+ "vconsole": "^3.15.1",
46
+ "vue": "^3.5.13",
47
+ "vue-router": "^4.5.0",
48
+ "vue3-hash-calendar": "^1.1.3"
49
+ },
50
+ "devDependencies": {
51
+ "@antfu/eslint-config": "^4.12.0",
52
+ "@iconify/json": "2.2.318",
53
+ "@types/crypto-js": "^4.2.2",
54
+ "@types/lodash-es": "^4.17.12",
55
+ "@types/node": "^22.14.1",
56
+ "@types/nprogress": "^0.2.3",
57
+ "@types/store": "^2.0.5",
58
+ "@unocss/eslint-plugin": "^66.1.0-beta.11",
59
+ "@unocss/preset-rem-to-px": "66.1.0-beta.11",
60
+ "@vitejs/plugin-legacy": "^6.0.2",
61
+ "@vitejs/plugin-vue": "^5.2.3",
62
+ "autoprefixer": "^10.4.21",
63
+ "bumpp": "^10.1.0",
64
+ "commitizen": "^4.3.1",
65
+ "consola": "^3.4.2",
66
+ "cross-env": "^7.0.3",
67
+ "cz-emoji-chinese": "^0.3.1",
68
+ "eslint": "^9.24.0",
69
+ "eslint-ts-patch": "^8.57.0-0",
70
+ "husky": "^9.1.7",
71
+ "less": "^4.3.0",
72
+ "mockjs": "^1.1.0",
73
+ "postcss-mobile-forever": "^5.0.0",
74
+ "rollup": "^4.40.0",
75
+ "terser": "^5.39.0",
76
+ "typescript": "^5.8.3",
77
+ "unocss": "^66.1.0-beta.11",
78
+ "unplugin-auto-import": "^19.1.2",
79
+ "unplugin-vue-components": "^28.4.1",
80
+ "unplugin-vue-router": "^0.12.0",
81
+ "vite": "^6.2.6",
82
+ "vite-plugin-compression": "^0.5.1",
83
+ "vite-plugin-mock-dev-server": "^1.8.5",
84
+ "vite-plugin-pwa": "^1.0.0",
85
+ "vite-plugin-sitemap": "^0.7.1",
86
+ "vite-plugin-svg-icons": "^2.0.1",
87
+ "vite-plugin-vconsole": "^2.1.1",
88
+ "vite-plugin-vue-devtools": "^7.7.2",
89
+ "vite-plugin-vue-layouts": "^0.11.0",
90
+ "vitest": "^3.1.1",
91
+ "vue-tsc": "^2.2.8"
92
+ },
93
+ "pnpm": {
94
+ "peerDependencyRules": {
95
+ "ignoreMissing": [
96
+ "postcss",
97
+ "esbuild"
98
+ ],
99
+ "allowedVersions": {
100
+ "rollup": "^4.x"
101
+ }
102
+ }
103
+ },
104
+ "config": {
105
+ "commitizen": {
106
+ "path": "./node_modules/cz-emoji-chinese"
107
+ },
108
+ "cz-emoji-chinese": {
109
+ "skipQuestions": [
110
+ "body",
111
+ "scope"
112
+ ]
113
+ }
114
+ }
115
+ }
@@ -586,7 +586,7 @@ defineExpose({
586
586
  @load="onLoad"
587
587
  >
588
588
  <div v-for="(item, index) in list" :key="`card_${index}`" class="card_item_main">
589
- <VanRow gutter="20" class="card_item_header" align="center">
589
+ <VanRow gutter="20" class="card_item_header" align="center" @click="emit('toDetail', item)">
590
590
  <VanCol :span="24">
591
591
  <div class="title-row">
592
592
  <div v-for="(column) in mainColumns" :key="`main_${column.dataIndex}`" class="main-title">
@@ -622,7 +622,7 @@ defineExpose({
622
622
  </div>
623
623
  </VanCol>
624
624
  </VanRow>
625
- <VanRow gutter="20" class="card_item_details">
625
+ <VanRow gutter="20" class="card_item_details" @click="emit('toDetail', item)">
626
626
  <VanCol v-for="column of detailColumns" :key="`details_${column.dataIndex}`" :span="column.span">
627
627
  <p>
628
628
  {{ `${column.title}: ` }}
@@ -634,7 +634,7 @@ defineExpose({
634
634
  </p>
635
635
  </VanCol>
636
636
  </VanRow>
637
- <VanRow v-if="tagList.length > 0" gutter="20" class="tag-row">
637
+ <VanRow v-if="tagList.length > 0" gutter="20" class="tag-row" @click="emit('toDetail', item)">
638
638
  <VanCol :span="24">
639
639
  <div class="tag-container">
640
640
  <div class="tag-wrapper">
@@ -670,6 +670,7 @@ defineExpose({
670
670
  v-if="footColumns && footColumns.length > 0"
671
671
  gutter="20"
672
672
  class="card_item_footer"
673
+ @click="emit('toDetail', item)"
673
674
  >
674
675
  <VanCol v-for="column of footColumns" :key="`foot_${column.dataIndex}`" :span="12">
675
676
  <p>
@@ -284,7 +284,7 @@ function handleCloseScanButton() {
284
284
  <VanDropdownItem v-if="showScanButton" v-model="scanMenuShow" @change="handleScanMenuChange">
285
285
  <template #title>
286
286
  <div class="filter-icon-box">
287
- <i class="fas fa-qrcode"></i>
287
+ <font-awesome-icon :icon="['fas', 'fa-qrcode']" />
288
288
  </div>
289
289
  </template>
290
290
 
@@ -334,7 +334,7 @@ function handleCloseScanButton() {
334
334
  <VanDropdownItem v-if="!props.buttonState || props.buttonState.filter !== false" v-model="filterMenuShow" @change="handleFilterMenuChange">
335
335
  <template #title>
336
336
  <div class="filter-icon-box">
337
- <i class="fas fa-filter"></i>
337
+ <font-awesome-icon :icon="['fas', 'fa-filter']" />
338
338
  </div>
339
339
  </template>
340
340
  <div class="dropdown-title">
package/src/main.ts CHANGED
@@ -3,18 +3,16 @@ import bootstrap from '@af-mobile-client-vue3/bootstrap'
3
3
  import Plugins from '@af-mobile-client-vue3/plugins'
4
4
  import router from '@af-mobile-client-vue3/router'
5
5
  import pinia from '@af-mobile-client-vue3/stores'
6
+ import FontAwesomeIcon from '@af-mobile-client-vue3/styles/fontawesome-icons'
6
7
  import { createHead } from '@unhead/vue/client'
7
8
  import { createApp } from 'vue'
8
9
  import 'virtual:uno.css'
9
10
  import '@af-mobile-client-vue3/styles/app.less'
10
11
  import 'vant/lib/index.css'
11
12
  import 'vant/lib/tabbar/index.css'
12
-
13
13
  import 'vant/lib/tabbar-item/index.css'
14
-
15
14
  // svg icon
16
15
  import 'virtual:svg-icons-register'
17
-
18
16
  // Vant 桌面端适配
19
17
  import '@vant/touch-emulator'
20
18
  /* --------------------------------
@@ -30,6 +28,7 @@ import 'vant/es/image-preview/style'
30
28
 
31
29
  (async () => {
32
30
  const app = createApp(App)
31
+ .component('font-awesome-icon', FontAwesomeIcon)
33
32
  const head = createHead()
34
33
 
35
34
  app.use(head)
@@ -0,0 +1,7 @@
1
+ import { library } from '@fortawesome/fontawesome-svg-core'
2
+ import { faFilter, faFlag, faPhone, faQrcode, faUser } from '@fortawesome/free-solid-svg-icons'
3
+ import { FontAwesomeIcon } from '@fortawesome/vue-fontawesome'
4
+
5
+ library.add(faPhone, faUser, faFlag, faFilter, faQrcode)
6
+
7
+ export default FontAwesomeIcon