af-mobile-client-vue3 1.3.44 → 1.3.46
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 +40 -40
- package/src/components/data/XCellList/index.vue +5 -0
- package/src/router/external-routes.ts +60 -60
- package/src/router/guards.ts +131 -131
- package/src/router/routes.ts +421 -421
- package/src/services/api/Login.ts +6 -6
- package/src/stores/modules/user.ts +1 -1
- package/src/styles/login.less +109 -109
- package/src/types/platform.ts +194 -194
- package/src/utils/environment.ts +10 -10
- 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 +32 -6
- package/src/views/component/XFormGroupView/index.vue +11 -7
- package/src/views/component/XFormView/index.vue +19 -4
- package/src/views/loading/AuthLoading.vue +1 -1
- package/src/views/user/register/index.vue +1 -1
- package/vite.config.ts +114 -114
- package/certs/127.0.0.1+2-key.pem +0 -28
- 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.
|
|
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.46",
|
|
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,40 +1,40 @@
|
|
|
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() {
|
|
27
|
-
return get(
|
|
28
|
-
'/getUserInfo',
|
|
29
|
-
)
|
|
30
|
-
}
|
|
31
|
-
|
|
32
|
-
/**
|
|
33
|
-
* @description: 用户登出
|
|
34
|
-
*/
|
|
35
|
-
export function doLogout() {
|
|
36
|
-
return http.request({
|
|
37
|
-
url: loginApi.Logout,
|
|
38
|
-
method: 'DELETE',
|
|
39
|
-
})
|
|
40
|
-
}
|
|
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() {
|
|
27
|
+
return get(
|
|
28
|
+
'/getUserInfo',
|
|
29
|
+
)
|
|
30
|
+
}
|
|
31
|
+
|
|
32
|
+
/**
|
|
33
|
+
* @description: 用户登出
|
|
34
|
+
*/
|
|
35
|
+
export function doLogout() {
|
|
36
|
+
return http.request({
|
|
37
|
+
url: loginApi.Logout,
|
|
38
|
+
method: 'DELETE',
|
|
39
|
+
})
|
|
40
|
+
}
|
|
@@ -75,6 +75,8 @@ const emit = defineEmits<{
|
|
|
75
75
|
// 多选相关事件
|
|
76
76
|
(e: 'multiSelectAction', action: string, selectedItems: any[], selectedItemsArray: any[]): void
|
|
77
77
|
(e: 'selectionChange', selectedItems: any[]): void
|
|
78
|
+
// 查询参数
|
|
79
|
+
(e: 'queryParams', params: any): void
|
|
78
80
|
}>()
|
|
79
81
|
|
|
80
82
|
const userState = useUserStore().getLogin()
|
|
@@ -358,6 +360,9 @@ function onLoad(defaultParams = {}) {
|
|
|
358
360
|
},
|
|
359
361
|
})
|
|
360
362
|
|
|
363
|
+
// 加载完成后,触发afterLoad事件
|
|
364
|
+
emit('queryParams', { searchVal, ...fixQueryForm, ...mergedParams })
|
|
365
|
+
|
|
361
366
|
query({
|
|
362
367
|
queryParamsName: configName,
|
|
363
368
|
pageNo: pageNo.value,
|
|
@@ -1,60 +1,60 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* 外部用户路由配置(简化版示例)
|
|
3
|
-
* 为外部用户提供基本的示例页面
|
|
4
|
-
*/
|
|
5
|
-
|
|
6
|
-
import type { RouteRecordRaw } from 'vue-router'
|
|
7
|
-
|
|
8
|
-
// 导入外部用户专用组件
|
|
9
|
-
import ExternalHome from '@af-mobile-client-vue3/views/external/index.vue'
|
|
10
|
-
import my from '@af-mobile-client-vue3/views/user/my/index.vue'
|
|
11
|
-
|
|
12
|
-
/**
|
|
13
|
-
* 外部用户路由元信息的默认配置
|
|
14
|
-
*/
|
|
15
|
-
const externalUserMeta = {
|
|
16
|
-
requiresAuth: true,
|
|
17
|
-
allowExternalUser: true,
|
|
18
|
-
}
|
|
19
|
-
|
|
20
|
-
/**
|
|
21
|
-
* 外部用户专用路由(简化版示例)
|
|
22
|
-
*/
|
|
23
|
-
const externalUserRoutes: Array<RouteRecordRaw> = [
|
|
24
|
-
// 外部用户首页
|
|
25
|
-
{
|
|
26
|
-
path: '/wechat',
|
|
27
|
-
name: 'ExternalHome',
|
|
28
|
-
component: ExternalHome,
|
|
29
|
-
meta: {
|
|
30
|
-
...externalUserMeta,
|
|
31
|
-
title: '外部用户首页',
|
|
32
|
-
},
|
|
33
|
-
},
|
|
34
|
-
// 用户个人中心
|
|
35
|
-
{
|
|
36
|
-
path: '/wechat/my',
|
|
37
|
-
name: 'ExternalUserProfile',
|
|
38
|
-
component: my,
|
|
39
|
-
meta: {
|
|
40
|
-
...externalUserMeta,
|
|
41
|
-
title: '个人中心',
|
|
42
|
-
},
|
|
43
|
-
},
|
|
44
|
-
]
|
|
45
|
-
|
|
46
|
-
/**
|
|
47
|
-
* 获取外部用户可访问的路由列表
|
|
48
|
-
*/
|
|
49
|
-
export function getExternalUserRoutes(): RouteRecordRaw[] {
|
|
50
|
-
return externalUserRoutes
|
|
51
|
-
}
|
|
52
|
-
|
|
53
|
-
/**
|
|
54
|
-
* 检查路由是否为外部用户路由
|
|
55
|
-
*/
|
|
56
|
-
export function isExternalUserRoute(path: string): boolean {
|
|
57
|
-
return path.startsWith('/ex/')
|
|
58
|
-
}
|
|
59
|
-
|
|
60
|
-
export default externalUserRoutes
|
|
1
|
+
/**
|
|
2
|
+
* 外部用户路由配置(简化版示例)
|
|
3
|
+
* 为外部用户提供基本的示例页面
|
|
4
|
+
*/
|
|
5
|
+
|
|
6
|
+
import type { RouteRecordRaw } from 'vue-router'
|
|
7
|
+
|
|
8
|
+
// 导入外部用户专用组件
|
|
9
|
+
import ExternalHome from '@af-mobile-client-vue3/views/external/index.vue'
|
|
10
|
+
import my from '@af-mobile-client-vue3/views/user/my/index.vue'
|
|
11
|
+
|
|
12
|
+
/**
|
|
13
|
+
* 外部用户路由元信息的默认配置
|
|
14
|
+
*/
|
|
15
|
+
const externalUserMeta = {
|
|
16
|
+
requiresAuth: true,
|
|
17
|
+
allowExternalUser: true,
|
|
18
|
+
}
|
|
19
|
+
|
|
20
|
+
/**
|
|
21
|
+
* 外部用户专用路由(简化版示例)
|
|
22
|
+
*/
|
|
23
|
+
const externalUserRoutes: Array<RouteRecordRaw> = [
|
|
24
|
+
// 外部用户首页
|
|
25
|
+
{
|
|
26
|
+
path: '/wechat',
|
|
27
|
+
name: 'ExternalHome',
|
|
28
|
+
component: ExternalHome,
|
|
29
|
+
meta: {
|
|
30
|
+
...externalUserMeta,
|
|
31
|
+
title: '外部用户首页',
|
|
32
|
+
},
|
|
33
|
+
},
|
|
34
|
+
// 用户个人中心
|
|
35
|
+
{
|
|
36
|
+
path: '/wechat/my',
|
|
37
|
+
name: 'ExternalUserProfile',
|
|
38
|
+
component: my,
|
|
39
|
+
meta: {
|
|
40
|
+
...externalUserMeta,
|
|
41
|
+
title: '个人中心',
|
|
42
|
+
},
|
|
43
|
+
},
|
|
44
|
+
]
|
|
45
|
+
|
|
46
|
+
/**
|
|
47
|
+
* 获取外部用户可访问的路由列表
|
|
48
|
+
*/
|
|
49
|
+
export function getExternalUserRoutes(): RouteRecordRaw[] {
|
|
50
|
+
return externalUserRoutes
|
|
51
|
+
}
|
|
52
|
+
|
|
53
|
+
/**
|
|
54
|
+
* 检查路由是否为外部用户路由
|
|
55
|
+
*/
|
|
56
|
+
export function isExternalUserRoute(path: string): boolean {
|
|
57
|
+
return path.startsWith('/ex/')
|
|
58
|
+
}
|
|
59
|
+
|
|
60
|
+
export default externalUserRoutes
|