af-mobile-client-vue3 1.4.1 → 1.4.3
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/package.json +115 -115
- package/src/api/user/index.ts +45 -45
- package/src/components/data/XCellList/index.vue +8 -0
- package/src/components/data/XCellListFilter/index.vue +8 -0
- package/src/components/data/XFormItem/index.vue +1601 -1581
- package/src/router/guards.ts +131 -131
- package/src/router/routes.ts +1 -1
- package/src/services/api/Login.ts +6 -6
- package/src/services/v3Api.ts +170 -170
- package/src/stores/modules/user.ts +362 -362
- package/src/styles/login.less +109 -109
- package/src/types/platform.ts +194 -194
- package/src/utils/platform-auth.ts +150 -150
- package/src/utils/queryFormDefaultRangePicker.ts +57 -57
- package/src/utils/wechat.ts +297 -297
- package/src/views/component/XCellListView/index.vue +138 -107
- package/src/views/component/XFormGroupView/index.vue +82 -78
- package/src/views/component/XFormView/index.vue +46 -41
- package/src/views/external/index.vue +158 -158
- package/src/views/loading/AuthLoading.vue +395 -395
- package/src/views/user/register/index.vue +958 -958
- package/vite.config.ts +115 -115
- package/certs/127.0.0.1+2-key.pem +0 -28
- package/certs/127.0.0.1+2.pem +0 -27
- package/mock/modules/prose.mock.ts.timestamp-1758877157774.mjs +0 -53
- package/mock/modules/user.mock.ts.timestamp-1758877157774.mjs +0 -97
package/package.json
CHANGED
|
@@ -1,115 +1,115 @@
|
|
|
1
|
-
{
|
|
2
|
-
"name": "af-mobile-client-vue3",
|
|
3
|
-
"type": "module",
|
|
4
|
-
"version": "1.4.
|
|
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.4.3",
|
|
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
|
+
}
|
package/src/api/user/index.ts
CHANGED
|
@@ -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
|
+
}
|
|
@@ -78,6 +78,8 @@ const emit = defineEmits<{
|
|
|
78
78
|
(e: 'selectionChange', selectedItems: any[]): void
|
|
79
79
|
// 查询参数
|
|
80
80
|
(e: 'queryParams', params: any): void
|
|
81
|
+
// XFormItem 触发的事件(查询表单)
|
|
82
|
+
(e: 'xFormItemEmitFunc', func: any, data: any, value: any): void
|
|
81
83
|
}>()
|
|
82
84
|
|
|
83
85
|
const userState = useUserStore().getLogin()
|
|
@@ -788,6 +790,11 @@ function handleCheckboxChange(item: any, checked: boolean) {
|
|
|
788
790
|
|
|
789
791
|
emit('selectionChange', selectedItemsArray.value)
|
|
790
792
|
}
|
|
793
|
+
|
|
794
|
+
// 处理 XFormItem 触发的事件
|
|
795
|
+
function emitFunc(func: any, data: any, value: any) {
|
|
796
|
+
emit('xFormItemEmitFunc', func, data, value)
|
|
797
|
+
}
|
|
791
798
|
</script>
|
|
792
799
|
|
|
793
800
|
<template>
|
|
@@ -844,6 +851,7 @@ function handleCheckboxChange(item: any, checked: boolean) {
|
|
|
844
851
|
:button-permissions="buttonPermissions"
|
|
845
852
|
:scan-options="scanOptions"
|
|
846
853
|
@on-refresh="onRefresh"
|
|
854
|
+
@x-form-item-emit-func="emitFunc"
|
|
847
855
|
/>
|
|
848
856
|
</VanCol>
|
|
849
857
|
</VanRow>
|
|
@@ -41,6 +41,7 @@ const emit = defineEmits([
|
|
|
41
41
|
'toggleView',
|
|
42
42
|
'onScan',
|
|
43
43
|
'onNFC',
|
|
44
|
+
'xFormItemEmitFunc',
|
|
44
45
|
])
|
|
45
46
|
|
|
46
47
|
const userState = useUserStore().getLogin()
|
|
@@ -356,6 +357,12 @@ function handleCloseScanButton() {
|
|
|
356
357
|
function filterButtonPermissions(btn) {
|
|
357
358
|
return props.buttonPermissions.find(item => item.btnName === btn)
|
|
358
359
|
}
|
|
360
|
+
|
|
361
|
+
// 处理 XFormItem 触发的事件
|
|
362
|
+
function emitFunc(func: any, data: any, value: any) {
|
|
363
|
+
emit(func, data, value)
|
|
364
|
+
emit('xFormItemEmitFunc', func, data, value)
|
|
365
|
+
}
|
|
359
366
|
</script>
|
|
360
367
|
|
|
361
368
|
<template>
|
|
@@ -465,6 +472,7 @@ function filterButtonPermissions(btn) {
|
|
|
465
472
|
:attr="item"
|
|
466
473
|
:service-name="props.serviceName"
|
|
467
474
|
:show-label="false"
|
|
475
|
+
@x-form-item-emit-func="emitFunc"
|
|
468
476
|
/>
|
|
469
477
|
</template>
|
|
470
478
|
</div>
|