Compare commits
20 Commits
Author | SHA1 | Date |
---|---|---|
|
1a30bfe81d | |
|
9c0c01a9ce | |
|
1566b0b463 | |
|
8578b80c65 | |
|
60e8654a95 | |
|
496ce62ffc | |
|
ebf51da655 | |
|
d3e9ae454d | |
|
ebdadd285c | |
|
e53bd35de5 | |
|
88c59ff076 | |
|
0f9f99063e | |
|
acbbbf3b1a | |
|
fe12af4284 | |
|
76e9abb537 | |
|
99f261117f | |
|
01f6ad20ed | |
|
36d63032e7 | |
|
a43e5eadae | |
|
2d60aa72f1 |
51
README.md
51
README.md
|
@ -1,24 +1,45 @@
|
||||||
# vue3.0-tpl
|
# 博云 CMP Web 前端项目
|
||||||
|
|
||||||
## Project setup
|
## 环境准备
|
||||||
```
|
|
||||||
yarn install
|
- Node.js 16+
|
||||||
|
- pnpm 7+
|
||||||
|
|
||||||
|
## 快速开始
|
||||||
|
|
||||||
|
1. 配置私有 NPM 源
|
||||||
|
|
||||||
|
```bash
|
||||||
|
# 设置 registry
|
||||||
|
npm config set registry http://223.112.233.194:13011/repository/bocloud-npm/
|
||||||
|
npm config set _auth Ym9jbG91ZDpjbXBAdjU4Nw==
|
||||||
|
|
||||||
|
# npm 相关配置
|
||||||
|
npm config set auto-install-peers=true
|
||||||
|
npm config set strict-peer-dependencies=false
|
||||||
|
npm config set shamefully-hoist=true
|
||||||
|
npm config set always-auth true
|
||||||
```
|
```
|
||||||
|
|
||||||
### Compiles and hot-reloads for development
|
2. 安装依赖
|
||||||
```
|
|
||||||
yarn serve
|
```bash
|
||||||
|
pnpm install
|
||||||
```
|
```
|
||||||
|
|
||||||
### Compiles and minifies for production
|
3. 本地开发
|
||||||
```
|
|
||||||
yarn build
|
```bash
|
||||||
|
pnpm run serve # 推荐:使用 vue-cli-service
|
||||||
```
|
```
|
||||||
|
|
||||||
### Lints and fixes files
|
4. 项目构建
|
||||||
```
|
|
||||||
yarn lint
|
```bash
|
||||||
|
pnpm run build
|
||||||
```
|
```
|
||||||
|
|
||||||
### Customize configuration
|
## 注意事项
|
||||||
See [Configuration Reference](https://cli.vuejs.org/config/).
|
|
||||||
|
- 不推荐使用 vite 进行开发,存在兼容性问题
|
||||||
|
- 建议使用 vue-cli-service serve 进行本地开发
|
||||||
|
|
|
@ -26,6 +26,7 @@ declare module 'vue' {
|
||||||
ASwitch: typeof import('ant-design-vue/es')['Switch']
|
ASwitch: typeof import('ant-design-vue/es')['Switch']
|
||||||
ATextarea: typeof import('ant-design-vue/es')['Textarea']
|
ATextarea: typeof import('ant-design-vue/es')['Textarea']
|
||||||
ATooltip: typeof import('ant-design-vue/es')['Tooltip']
|
ATooltip: typeof import('ant-design-vue/es')['Tooltip']
|
||||||
|
ElEmpty: typeof import('element-plus/es')['ElEmpty']
|
||||||
ElScrollbar: typeof import('element-plus/es')['ElScrollbar']
|
ElScrollbar: typeof import('element-plus/es')['ElScrollbar']
|
||||||
Empty: typeof import('./src/components/empty/Empty.vue')['default']
|
Empty: typeof import('./src/components/empty/Empty.vue')['default']
|
||||||
ImageCropper: typeof import('./src/components/image-cropper/index.vue')['default']
|
ImageCropper: typeof import('./src/components/image-cropper/index.vue')['default']
|
||||||
|
|
107
pnpm-lock.yaml
107
pnpm-lock.yaml
|
@ -1,4 +1,4 @@
|
||||||
lockfileVersion: 5.3
|
lockfileVersion: 5.4
|
||||||
|
|
||||||
specifiers:
|
specifiers:
|
||||||
'@ant-design/icons-vue': ^6.0.1
|
'@ant-design/icons-vue': ^6.0.1
|
||||||
|
@ -76,8 +76,8 @@ devDependencies:
|
||||||
'@types/qs': 6.9.7
|
'@types/qs': 6.9.7
|
||||||
'@vitejs/plugin-vue': 2.2.0_vite@2.8.3+vue@3.2.31
|
'@vitejs/plugin-vue': 2.2.0_vite@2.8.3+vue@3.2.31
|
||||||
'@vitejs/plugin-vue-jsx': 1.3.7
|
'@vitejs/plugin-vue-jsx': 1.3.7
|
||||||
'@vue/eslint-config-prettier': 7.0.0_eslint@8.9.0+prettier@2.5.1
|
'@vue/eslint-config-prettier': 7.0.0_o3yyxvqqntu2psyhklvnrymevm
|
||||||
'@vue/eslint-config-typescript': 10.0.0_cd100ca74b8c3cfb64acbb3ff997764b
|
'@vue/eslint-config-typescript': 10.0.0_zuiazj2lrq6pwzfmxm77tf3wjm
|
||||||
'@vue/tsconfig': 0.1.3_@types+node@16.11.25
|
'@vue/tsconfig': 0.1.3_@types+node@16.11.25
|
||||||
eslint: 8.9.0
|
eslint: 8.9.0
|
||||||
eslint-plugin-vue: 8.4.1_eslint@8.9.0
|
eslint-plugin-vue: 8.4.1_eslint@8.9.0
|
||||||
|
@ -315,7 +315,6 @@ packages:
|
||||||
/@babel/helper-validator-identifier/7.16.7:
|
/@babel/helper-validator-identifier/7.16.7:
|
||||||
resolution: {integrity: sha512-hsEnFemeiW4D08A5gUAZxLBTXpZ39P+a+DGDsHw1yxqyQ/jzFEnxf5uTEGp+3bzAbNOxU1paTgYS4ECU/IgfDw==}
|
resolution: {integrity: sha512-hsEnFemeiW4D08A5gUAZxLBTXpZ39P+a+DGDsHw1yxqyQ/jzFEnxf5uTEGp+3bzAbNOxU1paTgYS4ECU/IgfDw==}
|
||||||
engines: {node: '>=6.9.0'}
|
engines: {node: '>=6.9.0'}
|
||||||
dev: true
|
|
||||||
|
|
||||||
/@babel/helper-validator-option/7.16.7:
|
/@babel/helper-validator-option/7.16.7:
|
||||||
resolution: {integrity: sha512-TRtenOuRUVo9oIQGPC5G9DgK4743cdxvtOw0weQNpZXaS16SCBi5MNjZF8vba3ETURjZpTbVn7Vvcf2eAwFozQ==}
|
resolution: {integrity: sha512-TRtenOuRUVo9oIQGPC5G9DgK4743cdxvtOw0weQNpZXaS16SCBi5MNjZF8vba3ETURjZpTbVn7Vvcf2eAwFozQ==}
|
||||||
|
@ -346,6 +345,8 @@ packages:
|
||||||
resolution: {integrity: sha512-7yJPvPV+ESz2IUTPbOL+YkIGyCqOyNIzdguKQuJGnH7bg1WTIifuM21YqokFt/THWh1AkCRn9IgoykTRCBVpzA==}
|
resolution: {integrity: sha512-7yJPvPV+ESz2IUTPbOL+YkIGyCqOyNIzdguKQuJGnH7bg1WTIifuM21YqokFt/THWh1AkCRn9IgoykTRCBVpzA==}
|
||||||
engines: {node: '>=6.0.0'}
|
engines: {node: '>=6.0.0'}
|
||||||
hasBin: true
|
hasBin: true
|
||||||
|
dependencies:
|
||||||
|
'@babel/types': 7.17.0
|
||||||
|
|
||||||
/@babel/plugin-syntax-import-meta/7.10.4_@babel+core@7.17.5:
|
/@babel/plugin-syntax-import-meta/7.10.4_@babel+core@7.17.5:
|
||||||
resolution: {integrity: sha512-Yqfm+XDx0+Prh3VSeEQCPU81yC+JWZ2pDPFSS4ZdpfZhp4MkFMaDC1UqseovEKwSUpnIL7+vK+Clp7bfh0iD7g==}
|
resolution: {integrity: sha512-Yqfm+XDx0+Prh3VSeEQCPU81yC+JWZ2pDPFSS4ZdpfZhp4MkFMaDC1UqseovEKwSUpnIL7+vK+Clp7bfh0iD7g==}
|
||||||
|
@ -429,7 +430,6 @@ packages:
|
||||||
dependencies:
|
dependencies:
|
||||||
'@babel/helper-validator-identifier': 7.16.7
|
'@babel/helper-validator-identifier': 7.16.7
|
||||||
to-fast-properties: 2.0.0
|
to-fast-properties: 2.0.0
|
||||||
dev: true
|
|
||||||
|
|
||||||
/@commitlint/cli/11.0.0:
|
/@commitlint/cli/11.0.0:
|
||||||
resolution: {integrity: sha512-YWZWg1DuqqO5Zjh7vUOeSX76vm0FFyz4y0cpGMFhrhvUi5unc4IVfCXZ6337R9zxuBtmveiRuuhQqnRRer+13g==}
|
resolution: {integrity: sha512-YWZWg1DuqqO5Zjh7vUOeSX76vm0FFyz4y0cpGMFhrhvUi5unc4IVfCXZ6337R9zxuBtmveiRuuhQqnRRer+13g==}
|
||||||
|
@ -691,8 +691,10 @@ packages:
|
||||||
zen-observable:
|
zen-observable:
|
||||||
optional: true
|
optional: true
|
||||||
dependencies:
|
dependencies:
|
||||||
any-observable: 0.3.0
|
any-observable: 0.3.0_rxjs@6.6.7
|
||||||
rxjs: 6.6.7
|
rxjs: 6.6.7
|
||||||
|
transitivePeerDependencies:
|
||||||
|
- zenObservable
|
||||||
dev: true
|
dev: true
|
||||||
|
|
||||||
/@simonwep/pickr/1.8.2:
|
/@simonwep/pickr/1.8.2:
|
||||||
|
@ -758,7 +760,7 @@ packages:
|
||||||
resolution: {integrity: sha512-5eQEtSCoESnh2FsiLTxE121IiE60hnMqcb435fShf4bpLRjEu1Eoekht23y6zXS9Ts3l+Szu3TARnTsA0GkOkQ==}
|
resolution: {integrity: sha512-5eQEtSCoESnh2FsiLTxE121IiE60hnMqcb435fShf4bpLRjEu1Eoekht23y6zXS9Ts3l+Szu3TARnTsA0GkOkQ==}
|
||||||
dev: true
|
dev: true
|
||||||
|
|
||||||
/@typescript-eslint/eslint-plugin/5.12.0_c467cf9bb49b295941e83ce479a578b7:
|
/@typescript-eslint/eslint-plugin/5.12.0_yrt47g5utmuvsqpihtshtjlyw4:
|
||||||
resolution: {integrity: sha512-fwCMkDimwHVeIOKeBHiZhRUfJXU8n6xW1FL9diDxAyGAFvKcH4csy0v7twivOQdQdA0KC8TDr7GGRd3L4Lv0rQ==}
|
resolution: {integrity: sha512-fwCMkDimwHVeIOKeBHiZhRUfJXU8n6xW1FL9diDxAyGAFvKcH4csy0v7twivOQdQdA0KC8TDr7GGRd3L4Lv0rQ==}
|
||||||
engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
|
engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
|
||||||
peerDependencies:
|
peerDependencies:
|
||||||
|
@ -769,10 +771,10 @@ packages:
|
||||||
typescript:
|
typescript:
|
||||||
optional: true
|
optional: true
|
||||||
dependencies:
|
dependencies:
|
||||||
'@typescript-eslint/parser': 5.12.0_eslint@8.9.0+typescript@4.5.5
|
'@typescript-eslint/parser': 5.12.0_fhzmdq77bspfhxkfuzq4fbrdsy
|
||||||
'@typescript-eslint/scope-manager': 5.12.0
|
'@typescript-eslint/scope-manager': 5.12.0
|
||||||
'@typescript-eslint/type-utils': 5.12.0_eslint@8.9.0+typescript@4.5.5
|
'@typescript-eslint/type-utils': 5.12.0_fhzmdq77bspfhxkfuzq4fbrdsy
|
||||||
'@typescript-eslint/utils': 5.12.0_eslint@8.9.0+typescript@4.5.5
|
'@typescript-eslint/utils': 5.12.0_fhzmdq77bspfhxkfuzq4fbrdsy
|
||||||
debug: 4.3.3
|
debug: 4.3.3
|
||||||
eslint: 8.9.0
|
eslint: 8.9.0
|
||||||
functional-red-black-tree: 1.0.1
|
functional-red-black-tree: 1.0.1
|
||||||
|
@ -785,7 +787,7 @@ packages:
|
||||||
- supports-color
|
- supports-color
|
||||||
dev: true
|
dev: true
|
||||||
|
|
||||||
/@typescript-eslint/parser/5.12.0_eslint@8.9.0+typescript@4.5.5:
|
/@typescript-eslint/parser/5.12.0_fhzmdq77bspfhxkfuzq4fbrdsy:
|
||||||
resolution: {integrity: sha512-MfSwg9JMBojMUoGjUmX+D2stoQj1CBYTCP0qnnVtu9A+YQXVKNtLjasYh+jozOcrb/wau8TCfWOkQTiOAruBog==}
|
resolution: {integrity: sha512-MfSwg9JMBojMUoGjUmX+D2stoQj1CBYTCP0qnnVtu9A+YQXVKNtLjasYh+jozOcrb/wau8TCfWOkQTiOAruBog==}
|
||||||
engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
|
engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
|
||||||
peerDependencies:
|
peerDependencies:
|
||||||
|
@ -813,7 +815,7 @@ packages:
|
||||||
'@typescript-eslint/visitor-keys': 5.12.0
|
'@typescript-eslint/visitor-keys': 5.12.0
|
||||||
dev: true
|
dev: true
|
||||||
|
|
||||||
/@typescript-eslint/type-utils/5.12.0_eslint@8.9.0+typescript@4.5.5:
|
/@typescript-eslint/type-utils/5.12.0_fhzmdq77bspfhxkfuzq4fbrdsy:
|
||||||
resolution: {integrity: sha512-9j9rli3zEBV+ae7rlbBOotJcI6zfc6SHFMdKI9M3Nc0sy458LJ79Os+TPWeBBL96J9/e36rdJOfCuyRSgFAA0Q==}
|
resolution: {integrity: sha512-9j9rli3zEBV+ae7rlbBOotJcI6zfc6SHFMdKI9M3Nc0sy458LJ79Os+TPWeBBL96J9/e36rdJOfCuyRSgFAA0Q==}
|
||||||
engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
|
engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
|
||||||
peerDependencies:
|
peerDependencies:
|
||||||
|
@ -823,7 +825,7 @@ packages:
|
||||||
typescript:
|
typescript:
|
||||||
optional: true
|
optional: true
|
||||||
dependencies:
|
dependencies:
|
||||||
'@typescript-eslint/utils': 5.12.0_eslint@8.9.0+typescript@4.5.5
|
'@typescript-eslint/utils': 5.12.0_fhzmdq77bspfhxkfuzq4fbrdsy
|
||||||
debug: 4.3.3
|
debug: 4.3.3
|
||||||
eslint: 8.9.0
|
eslint: 8.9.0
|
||||||
tsutils: 3.21.0_typescript@4.5.5
|
tsutils: 3.21.0_typescript@4.5.5
|
||||||
|
@ -858,7 +860,7 @@ packages:
|
||||||
- supports-color
|
- supports-color
|
||||||
dev: true
|
dev: true
|
||||||
|
|
||||||
/@typescript-eslint/utils/5.12.0_eslint@8.9.0+typescript@4.5.5:
|
/@typescript-eslint/utils/5.12.0_fhzmdq77bspfhxkfuzq4fbrdsy:
|
||||||
resolution: {integrity: sha512-k4J2WovnMPGI4PzKgDtQdNrCnmBHpMUFy21qjX2CoPdoBcSBIMvVBr9P2YDP8jOqZOeK3ThOL6VO/sy6jtnvzw==}
|
resolution: {integrity: sha512-k4J2WovnMPGI4PzKgDtQdNrCnmBHpMUFy21qjX2CoPdoBcSBIMvVBr9P2YDP8jOqZOeK3ThOL6VO/sy6jtnvzw==}
|
||||||
engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
|
engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
|
||||||
peerDependencies:
|
peerDependencies:
|
||||||
|
@ -1019,20 +1021,18 @@ packages:
|
||||||
magic-string: 0.25.7
|
magic-string: 0.25.7
|
||||||
postcss: 8.4.6
|
postcss: 8.4.6
|
||||||
source-map: 0.6.1
|
source-map: 0.6.1
|
||||||
dev: false
|
|
||||||
|
|
||||||
/@vue/compiler-ssr/3.2.31:
|
/@vue/compiler-ssr/3.2.31:
|
||||||
resolution: {integrity: sha512-mjN0rqig+A8TVDnsGPYJM5dpbjlXeHUm2oZHZwGyMYiGT/F4fhJf/cXy8QpjnLQK4Y9Et4GWzHn9PS8AHUnSkw==}
|
resolution: {integrity: sha512-mjN0rqig+A8TVDnsGPYJM5dpbjlXeHUm2oZHZwGyMYiGT/F4fhJf/cXy8QpjnLQK4Y9Et4GWzHn9PS8AHUnSkw==}
|
||||||
dependencies:
|
dependencies:
|
||||||
'@vue/compiler-dom': 3.2.31
|
'@vue/compiler-dom': 3.2.31
|
||||||
'@vue/shared': 3.2.31
|
'@vue/shared': 3.2.31
|
||||||
dev: false
|
|
||||||
|
|
||||||
/@vue/devtools-api/6.0.12:
|
/@vue/devtools-api/6.0.12:
|
||||||
resolution: {integrity: sha512-iO/4FIezHKXhiDBdKySCvJVh8/mZPxHpiQrTy+PXVqJZgpTPTdHy4q8GXulaY+UKEagdkBb0onxNQZ0LNiqVhw==}
|
resolution: {integrity: sha512-iO/4FIezHKXhiDBdKySCvJVh8/mZPxHpiQrTy+PXVqJZgpTPTdHy4q8GXulaY+UKEagdkBb0onxNQZ0LNiqVhw==}
|
||||||
dev: false
|
dev: false
|
||||||
|
|
||||||
/@vue/eslint-config-prettier/7.0.0_eslint@8.9.0+prettier@2.5.1:
|
/@vue/eslint-config-prettier/7.0.0_o3yyxvqqntu2psyhklvnrymevm:
|
||||||
resolution: {integrity: sha512-/CTc6ML3Wta1tCe1gUeO0EYnVXfo3nJXsIhZ8WJr3sov+cGASr6yuiibJTL6lmIBm7GobopToOuB3B6AWyV0Iw==}
|
resolution: {integrity: sha512-/CTc6ML3Wta1tCe1gUeO0EYnVXfo3nJXsIhZ8WJr3sov+cGASr6yuiibJTL6lmIBm7GobopToOuB3B6AWyV0Iw==}
|
||||||
peerDependencies:
|
peerDependencies:
|
||||||
eslint: '>= 7.28.0'
|
eslint: '>= 7.28.0'
|
||||||
|
@ -1040,25 +1040,29 @@ packages:
|
||||||
dependencies:
|
dependencies:
|
||||||
eslint: 8.9.0
|
eslint: 8.9.0
|
||||||
eslint-config-prettier: 8.3.0_eslint@8.9.0
|
eslint-config-prettier: 8.3.0_eslint@8.9.0
|
||||||
eslint-plugin-prettier: 4.0.0_07b422646bb75d3db791621d4fdbc992
|
eslint-plugin-prettier: 4.0.0_a62cezdlw5ot3n4rmiou7w6jsi
|
||||||
prettier: 2.5.1
|
prettier: 2.5.1
|
||||||
dev: true
|
dev: true
|
||||||
|
|
||||||
/@vue/eslint-config-typescript/10.0.0_cd100ca74b8c3cfb64acbb3ff997764b:
|
/@vue/eslint-config-typescript/10.0.0_zuiazj2lrq6pwzfmxm77tf3wjm:
|
||||||
resolution: {integrity: sha512-F94cL8ug3FaYXlCfU5/wiGjk1qeadmoBpRGAOBq+qre3Smdupa59dd6ZJrsfRODpsMPyTG7330juMDsUvpZ3Rw==}
|
resolution: {integrity: sha512-F94cL8ug3FaYXlCfU5/wiGjk1qeadmoBpRGAOBq+qre3Smdupa59dd6ZJrsfRODpsMPyTG7330juMDsUvpZ3Rw==}
|
||||||
engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
|
engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
|
||||||
peerDependencies:
|
peerDependencies:
|
||||||
eslint: ^6.2.0 || ^7.0.0 || ^8.0.0
|
eslint: ^6.2.0 || ^7.0.0 || ^8.0.0
|
||||||
eslint-plugin-vue: ^8.0.1
|
eslint-plugin-vue: ^8.0.1
|
||||||
|
typescript: '*'
|
||||||
|
peerDependenciesMeta:
|
||||||
|
typescript:
|
||||||
|
optional: true
|
||||||
dependencies:
|
dependencies:
|
||||||
'@typescript-eslint/eslint-plugin': 5.12.0_c467cf9bb49b295941e83ce479a578b7
|
'@typescript-eslint/eslint-plugin': 5.12.0_yrt47g5utmuvsqpihtshtjlyw4
|
||||||
'@typescript-eslint/parser': 5.12.0_eslint@8.9.0+typescript@4.5.5
|
'@typescript-eslint/parser': 5.12.0_fhzmdq77bspfhxkfuzq4fbrdsy
|
||||||
eslint: 8.9.0
|
eslint: 8.9.0
|
||||||
eslint-plugin-vue: 8.4.1_eslint@8.9.0
|
eslint-plugin-vue: 8.4.1_eslint@8.9.0
|
||||||
|
typescript: 4.5.5
|
||||||
vue-eslint-parser: 8.2.0_eslint@8.9.0
|
vue-eslint-parser: 8.2.0_eslint@8.9.0
|
||||||
transitivePeerDependencies:
|
transitivePeerDependencies:
|
||||||
- supports-color
|
- supports-color
|
||||||
- typescript
|
|
||||||
dev: true
|
dev: true
|
||||||
|
|
||||||
/@vue/reactivity-transform/3.2.31:
|
/@vue/reactivity-transform/3.2.31:
|
||||||
|
@ -1069,7 +1073,6 @@ packages:
|
||||||
'@vue/shared': 3.2.31
|
'@vue/shared': 3.2.31
|
||||||
estree-walker: 2.0.2
|
estree-walker: 2.0.2
|
||||||
magic-string: 0.25.7
|
magic-string: 0.25.7
|
||||||
dev: false
|
|
||||||
|
|
||||||
/@vue/reactivity/3.2.31:
|
/@vue/reactivity/3.2.31:
|
||||||
resolution: {integrity: sha512-HVr0l211gbhpEKYr2hYe7hRsV91uIVGFYNHj73njbARVGHQvIojkImKMaZNDdoDZOIkMsBc9a1sMqR+WZwfSCw==}
|
resolution: {integrity: sha512-HVr0l211gbhpEKYr2hYe7hRsV91uIVGFYNHj73njbARVGHQvIojkImKMaZNDdoDZOIkMsBc9a1sMqR+WZwfSCw==}
|
||||||
|
@ -1081,7 +1084,6 @@ packages:
|
||||||
dependencies:
|
dependencies:
|
||||||
'@vue/reactivity': 3.2.31
|
'@vue/reactivity': 3.2.31
|
||||||
'@vue/shared': 3.2.31
|
'@vue/shared': 3.2.31
|
||||||
dev: false
|
|
||||||
|
|
||||||
/@vue/runtime-dom/3.2.31:
|
/@vue/runtime-dom/3.2.31:
|
||||||
resolution: {integrity: sha512-N+o0sICVLScUjfLG7u9u5XCjvmsexAiPt17GNnaWHJUfsKed5e85/A3SWgKxzlxx2SW/Hw7RQxzxbXez9PtY3g==}
|
resolution: {integrity: sha512-N+o0sICVLScUjfLG7u9u5XCjvmsexAiPt17GNnaWHJUfsKed5e85/A3SWgKxzlxx2SW/Hw7RQxzxbXez9PtY3g==}
|
||||||
|
@ -1089,7 +1091,6 @@ packages:
|
||||||
'@vue/runtime-core': 3.2.31
|
'@vue/runtime-core': 3.2.31
|
||||||
'@vue/shared': 3.2.31
|
'@vue/shared': 3.2.31
|
||||||
csstype: 2.6.19
|
csstype: 2.6.19
|
||||||
dev: false
|
|
||||||
|
|
||||||
/@vue/server-renderer/3.2.31_vue@3.2.31:
|
/@vue/server-renderer/3.2.31_vue@3.2.31:
|
||||||
resolution: {integrity: sha512-8CN3Zj2HyR2LQQBHZ61HexF5NReqngLT3oahyiVRfSSvak+oAvVmu8iNLSu6XR77Ili2AOpnAt1y8ywjjqtmkg==}
|
resolution: {integrity: sha512-8CN3Zj2HyR2LQQBHZ61HexF5NReqngLT3oahyiVRfSSvak+oAvVmu8iNLSu6XR77Ili2AOpnAt1y8ywjjqtmkg==}
|
||||||
|
@ -1099,7 +1100,6 @@ packages:
|
||||||
'@vue/compiler-ssr': 3.2.31
|
'@vue/compiler-ssr': 3.2.31
|
||||||
'@vue/shared': 3.2.31
|
'@vue/shared': 3.2.31
|
||||||
vue: 3.2.31
|
vue: 3.2.31
|
||||||
dev: false
|
|
||||||
|
|
||||||
/@vue/shared/3.2.31:
|
/@vue/shared/3.2.31:
|
||||||
resolution: {integrity: sha512-ymN2pj6zEjiKJZbrf98UM2pfDd6F2H7ksKw7NDt/ZZ1fh5Ei39X5tABugtT03ZRlWd9imccoK0hE8hpjpU7irQ==}
|
resolution: {integrity: sha512-ymN2pj6zEjiKJZbrf98UM2pfDd6F2H7ksKw7NDt/ZZ1fh5Ei39X5tABugtT03ZRlWd9imccoK0hE8hpjpU7irQ==}
|
||||||
|
@ -1247,9 +1247,19 @@ packages:
|
||||||
warning: 4.0.3
|
warning: 4.0.3
|
||||||
dev: false
|
dev: false
|
||||||
|
|
||||||
/any-observable/0.3.0:
|
/any-observable/0.3.0_rxjs@6.6.7:
|
||||||
resolution: {integrity: sha512-/FQM1EDkTsf63Ub2C6O7GuYFDsSXUwsaZDurV0np41ocwq0jthUAYCmhBX9f+KwlaCgIuWyr/4WlUQUBfKfZog==}
|
resolution: {integrity: sha512-/FQM1EDkTsf63Ub2C6O7GuYFDsSXUwsaZDurV0np41ocwq0jthUAYCmhBX9f+KwlaCgIuWyr/4WlUQUBfKfZog==}
|
||||||
engines: {node: '>=6'}
|
engines: {node: '>=6'}
|
||||||
|
peerDependencies:
|
||||||
|
rxjs: '*'
|
||||||
|
zenObservable: '*'
|
||||||
|
peerDependenciesMeta:
|
||||||
|
rxjs:
|
||||||
|
optional: true
|
||||||
|
zenObservable:
|
||||||
|
optional: true
|
||||||
|
dependencies:
|
||||||
|
rxjs: 6.6.7
|
||||||
dev: true
|
dev: true
|
||||||
|
|
||||||
/anymatch/3.1.2:
|
/anymatch/3.1.2:
|
||||||
|
@ -1422,6 +1432,8 @@ packages:
|
||||||
snapdragon-node: 2.1.1
|
snapdragon-node: 2.1.1
|
||||||
split-string: 3.1.0
|
split-string: 3.1.0
|
||||||
to-regex: 3.0.2
|
to-regex: 3.0.2
|
||||||
|
transitivePeerDependencies:
|
||||||
|
- supports-color
|
||||||
dev: true
|
dev: true
|
||||||
|
|
||||||
/braces/3.0.2:
|
/braces/3.0.2:
|
||||||
|
@ -1753,8 +1765,8 @@ packages:
|
||||||
engines: {node: '>=10'}
|
engines: {node: '>=10'}
|
||||||
hasBin: true
|
hasBin: true
|
||||||
dependencies:
|
dependencies:
|
||||||
is-text-path: 1.0.1
|
|
||||||
JSONStream: 1.3.5
|
JSONStream: 1.3.5
|
||||||
|
is-text-path: 1.0.1
|
||||||
lodash: 4.17.21
|
lodash: 4.17.21
|
||||||
meow: 8.1.2
|
meow: 8.1.2
|
||||||
split2: 3.2.2
|
split2: 3.2.2
|
||||||
|
@ -1867,7 +1879,6 @@ packages:
|
||||||
|
|
||||||
/csstype/2.6.19:
|
/csstype/2.6.19:
|
||||||
resolution: {integrity: sha512-ZVxXaNy28/k3kJg0Fou5MiYpp88j7H9hLZp8PDC3jV0WFjfH5E9xHb56L0W59cPbKbcHXeP4qyT8PrHp8t6LcQ==}
|
resolution: {integrity: sha512-ZVxXaNy28/k3kJg0Fou5MiYpp88j7H9hLZp8PDC3jV0WFjfH5E9xHb56L0W59cPbKbcHXeP4qyT8PrHp8t6LcQ==}
|
||||||
dev: false
|
|
||||||
|
|
||||||
/dargs/7.0.0:
|
/dargs/7.0.0:
|
||||||
resolution: {integrity: sha512-2iy1EkLdlBzQGvbweYRFxmFath8+K7+AKB0TlhHWkNuH+TmovaMH/Wp7V7R4u7f4SnX3OgLsU9t1NI9ioDnUpg==}
|
resolution: {integrity: sha512-2iy1EkLdlBzQGvbweYRFxmFath8+K7+AKB0TlhHWkNuH+TmovaMH/Wp7V7R4u7f4SnX3OgLsU9t1NI9ioDnUpg==}
|
||||||
|
@ -1884,12 +1895,22 @@ packages:
|
||||||
|
|
||||||
/debug/2.6.9:
|
/debug/2.6.9:
|
||||||
resolution: {integrity: sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==}
|
resolution: {integrity: sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==}
|
||||||
|
peerDependencies:
|
||||||
|
supports-color: '*'
|
||||||
|
peerDependenciesMeta:
|
||||||
|
supports-color:
|
||||||
|
optional: true
|
||||||
dependencies:
|
dependencies:
|
||||||
ms: 2.0.0
|
ms: 2.0.0
|
||||||
dev: true
|
dev: true
|
||||||
|
|
||||||
/debug/3.2.7:
|
/debug/3.2.7:
|
||||||
resolution: {integrity: sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==}
|
resolution: {integrity: sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==}
|
||||||
|
peerDependencies:
|
||||||
|
supports-color: '*'
|
||||||
|
peerDependenciesMeta:
|
||||||
|
supports-color:
|
||||||
|
optional: true
|
||||||
dependencies:
|
dependencies:
|
||||||
ms: 2.1.3
|
ms: 2.1.3
|
||||||
dev: true
|
dev: true
|
||||||
|
@ -2374,7 +2395,7 @@ packages:
|
||||||
eslint: 8.9.0
|
eslint: 8.9.0
|
||||||
dev: true
|
dev: true
|
||||||
|
|
||||||
/eslint-plugin-prettier/4.0.0_07b422646bb75d3db791621d4fdbc992:
|
/eslint-plugin-prettier/4.0.0_a62cezdlw5ot3n4rmiou7w6jsi:
|
||||||
resolution: {integrity: sha512-98MqmCJ7vJodoQK359bqQWaxOE0CS8paAz/GgjaZLyex4TTk3g9HugoO89EqWCrFiOqn9EVvcoo7gZzONCWVwQ==}
|
resolution: {integrity: sha512-98MqmCJ7vJodoQK359bqQWaxOE0CS8paAz/GgjaZLyex4TTk3g9HugoO89EqWCrFiOqn9EVvcoo7gZzONCWVwQ==}
|
||||||
engines: {node: '>=6.0.0'}
|
engines: {node: '>=6.0.0'}
|
||||||
peerDependencies:
|
peerDependencies:
|
||||||
|
@ -2562,6 +2583,8 @@ packages:
|
||||||
regex-not: 1.0.2
|
regex-not: 1.0.2
|
||||||
snapdragon: 0.8.2
|
snapdragon: 0.8.2
|
||||||
to-regex: 3.0.2
|
to-regex: 3.0.2
|
||||||
|
transitivePeerDependencies:
|
||||||
|
- supports-color
|
||||||
dev: true
|
dev: true
|
||||||
|
|
||||||
/extend-shallow/2.0.1:
|
/extend-shallow/2.0.1:
|
||||||
|
@ -2591,6 +2614,8 @@ packages:
|
||||||
regex-not: 1.0.2
|
regex-not: 1.0.2
|
||||||
snapdragon: 0.8.2
|
snapdragon: 0.8.2
|
||||||
to-regex: 3.0.2
|
to-regex: 3.0.2
|
||||||
|
transitivePeerDependencies:
|
||||||
|
- supports-color
|
||||||
dev: true
|
dev: true
|
||||||
|
|
||||||
/fast-deep-equal/3.1.3:
|
/fast-deep-equal/3.1.3:
|
||||||
|
@ -3518,6 +3543,8 @@ packages:
|
||||||
mime: 1.6.0
|
mime: 1.6.0
|
||||||
needle: 2.9.1
|
needle: 2.9.1
|
||||||
source-map: 0.6.1
|
source-map: 0.6.1
|
||||||
|
transitivePeerDependencies:
|
||||||
|
- supports-color
|
||||||
dev: true
|
dev: true
|
||||||
|
|
||||||
/levn/0.4.1:
|
/levn/0.4.1:
|
||||||
|
@ -3563,6 +3590,7 @@ packages:
|
||||||
transitivePeerDependencies:
|
transitivePeerDependencies:
|
||||||
- supports-color
|
- supports-color
|
||||||
- zen-observable
|
- zen-observable
|
||||||
|
- zenObservable
|
||||||
dev: true
|
dev: true
|
||||||
|
|
||||||
/listr-silent-renderer/1.1.1:
|
/listr-silent-renderer/1.1.1:
|
||||||
|
@ -3612,6 +3640,7 @@ packages:
|
||||||
rxjs: 6.6.7
|
rxjs: 6.6.7
|
||||||
transitivePeerDependencies:
|
transitivePeerDependencies:
|
||||||
- zen-observable
|
- zen-observable
|
||||||
|
- zenObservable
|
||||||
dev: true
|
dev: true
|
||||||
|
|
||||||
/loader-utils/1.4.0:
|
/loader-utils/1.4.0:
|
||||||
|
@ -3802,6 +3831,8 @@ packages:
|
||||||
regex-not: 1.0.2
|
regex-not: 1.0.2
|
||||||
snapdragon: 0.8.2
|
snapdragon: 0.8.2
|
||||||
to-regex: 3.0.2
|
to-regex: 3.0.2
|
||||||
|
transitivePeerDependencies:
|
||||||
|
- supports-color
|
||||||
dev: true
|
dev: true
|
||||||
|
|
||||||
/micromatch/3.1.10:
|
/micromatch/3.1.10:
|
||||||
|
@ -3821,6 +3852,8 @@ packages:
|
||||||
regex-not: 1.0.2
|
regex-not: 1.0.2
|
||||||
snapdragon: 0.8.2
|
snapdragon: 0.8.2
|
||||||
to-regex: 3.0.2
|
to-regex: 3.0.2
|
||||||
|
transitivePeerDependencies:
|
||||||
|
- supports-color
|
||||||
dev: true
|
dev: true
|
||||||
|
|
||||||
/micromatch/4.0.4:
|
/micromatch/4.0.4:
|
||||||
|
@ -3916,6 +3949,8 @@ packages:
|
||||||
regex-not: 1.0.2
|
regex-not: 1.0.2
|
||||||
snapdragon: 0.8.2
|
snapdragon: 0.8.2
|
||||||
to-regex: 3.0.2
|
to-regex: 3.0.2
|
||||||
|
transitivePeerDependencies:
|
||||||
|
- supports-color
|
||||||
dev: true
|
dev: true
|
||||||
|
|
||||||
/nanopop/2.1.0:
|
/nanopop/2.1.0:
|
||||||
|
@ -3935,6 +3970,8 @@ packages:
|
||||||
debug: 3.2.7
|
debug: 3.2.7
|
||||||
iconv-lite: 0.4.24
|
iconv-lite: 0.4.24
|
||||||
sax: 1.2.4
|
sax: 1.2.4
|
||||||
|
transitivePeerDependencies:
|
||||||
|
- supports-color
|
||||||
dev: true
|
dev: true
|
||||||
optional: true
|
optional: true
|
||||||
|
|
||||||
|
@ -4907,6 +4944,8 @@ packages:
|
||||||
source-map: 0.5.7
|
source-map: 0.5.7
|
||||||
source-map-resolve: 0.5.3
|
source-map-resolve: 0.5.3
|
||||||
use: 3.1.1
|
use: 3.1.1
|
||||||
|
transitivePeerDependencies:
|
||||||
|
- supports-color
|
||||||
dev: true
|
dev: true
|
||||||
|
|
||||||
/source-map-js/1.0.2:
|
/source-map-js/1.0.2:
|
||||||
|
@ -5123,6 +5162,8 @@ packages:
|
||||||
deepmerge: 1.3.2
|
deepmerge: 1.3.2
|
||||||
mitt: 1.1.2
|
mitt: 1.1.2
|
||||||
svg-baker: 1.7.0
|
svg-baker: 1.7.0
|
||||||
|
transitivePeerDependencies:
|
||||||
|
- supports-color
|
||||||
dev: true
|
dev: true
|
||||||
|
|
||||||
/svg-baker/1.7.0:
|
/svg-baker/1.7.0:
|
||||||
|
@ -5141,6 +5182,8 @@ packages:
|
||||||
posthtml-svg-mode: 1.0.3
|
posthtml-svg-mode: 1.0.3
|
||||||
query-string: 4.3.4
|
query-string: 4.3.4
|
||||||
traverse: 0.6.6
|
traverse: 0.6.6
|
||||||
|
transitivePeerDependencies:
|
||||||
|
- supports-color
|
||||||
dev: true
|
dev: true
|
||||||
|
|
||||||
/svg-sprite-loader/6.0.11:
|
/svg-sprite-loader/6.0.11:
|
||||||
|
@ -5155,6 +5198,8 @@ packages:
|
||||||
svg-baker: 1.7.0
|
svg-baker: 1.7.0
|
||||||
svg-baker-runtime: 1.4.7
|
svg-baker-runtime: 1.4.7
|
||||||
url-slug: 2.0.0
|
url-slug: 2.0.0
|
||||||
|
transitivePeerDependencies:
|
||||||
|
- supports-color
|
||||||
dev: true
|
dev: true
|
||||||
|
|
||||||
/svg-tags/1.0.0:
|
/svg-tags/1.0.0:
|
||||||
|
@ -5210,7 +5255,6 @@ packages:
|
||||||
/to-fast-properties/2.0.0:
|
/to-fast-properties/2.0.0:
|
||||||
resolution: {integrity: sha512-/OaKK0xYrs3DmxRYqL/yDc+FxFUVYhDlXMhRmv3z915w2HF1tnN1omB354j8VUGO/hbRzyD6Y3sA7v7GS/ceog==}
|
resolution: {integrity: sha512-/OaKK0xYrs3DmxRYqL/yDc+FxFUVYhDlXMhRmv3z915w2HF1tnN1omB354j8VUGO/hbRzyD6Y3sA7v7GS/ceog==}
|
||||||
engines: {node: '>=4'}
|
engines: {node: '>=4'}
|
||||||
dev: true
|
|
||||||
|
|
||||||
/to-object-path/0.3.0:
|
/to-object-path/0.3.0:
|
||||||
resolution: {integrity: sha512-9mWHdnGRuh3onocaHzukyvCZhzvr6tiflAy/JRFXcJX0TjgfWA9pk9t8CMbzmBE4Jfw58pXbkngtBtqYxzNEyg==}
|
resolution: {integrity: sha512-9mWHdnGRuh3onocaHzukyvCZhzvr6tiflAy/JRFXcJX0TjgfWA9pk9t8CMbzmBE4Jfw58pXbkngtBtqYxzNEyg==}
|
||||||
|
@ -5697,7 +5741,6 @@ packages:
|
||||||
'@vue/runtime-dom': 3.2.31
|
'@vue/runtime-dom': 3.2.31
|
||||||
'@vue/server-renderer': 3.2.31_vue@3.2.31
|
'@vue/server-renderer': 3.2.31_vue@3.2.31
|
||||||
'@vue/shared': 3.2.31
|
'@vue/shared': 3.2.31
|
||||||
dev: false
|
|
||||||
|
|
||||||
/vuex/4.0.2_vue@3.2.31:
|
/vuex/4.0.2_vue@3.2.31:
|
||||||
resolution: {integrity: sha512-M6r8uxELjZIK8kTKDGgZTYX/ahzblnzC4isU1tpmEuOIIKmV+TRdc+H4s8ds2NuZ7wpUTdGRzJRtoj+lI+pc0Q==}
|
resolution: {integrity: sha512-M6r8uxELjZIK8kTKDGgZTYX/ahzblnzC4isU1tpmEuOIIKmV+TRdc+H4s8ds2NuZ7wpUTdGRzJRtoj+lI+pc0Q==}
|
||||||
|
|
|
@ -1,11 +1,11 @@
|
||||||
/** * Created by HaijunZhang on 2019/12/18. */
|
/** * Created by HaijunZhang on 2019/12/18. */
|
||||||
<template>
|
<template>
|
||||||
<a-layout-header class="common-header" :style="style">
|
<a-layout-header class="common-header" :style="style" v-if="$route.name !== 'Designer'">
|
||||||
<div class="header-logo">
|
<div class="header-logo">
|
||||||
<img :src="pageConfigs.headerLogo" alt="" class="pull-left" />
|
<img :src="pageConfigs.headerLogo" alt="" class="pull-left" />
|
||||||
</div>
|
</div>
|
||||||
<Divider class="split-line" type="vertical"></Divider>
|
<Divider class="split-line" type="vertical"></Divider>
|
||||||
<router-link to="/sms-web/resource_dashboard">
|
<router-link to="/cop-web/task/history/list">
|
||||||
<HomeOutlined class="home-icon" />
|
<HomeOutlined class="home-icon" />
|
||||||
</router-link>
|
</router-link>
|
||||||
<HeaderMenu :page-configs="pageConfigs"></HeaderMenu>
|
<HeaderMenu :page-configs="pageConfigs"></HeaderMenu>
|
||||||
|
@ -26,7 +26,7 @@ export default defineComponent({
|
||||||
RightContent,
|
RightContent,
|
||||||
Divider,
|
Divider,
|
||||||
HeaderMenu,
|
HeaderMenu,
|
||||||
HomeOutlined,
|
HomeOutlined
|
||||||
},
|
},
|
||||||
setup() {
|
setup() {
|
||||||
const store = useStore()
|
const store = useStore()
|
||||||
|
@ -34,14 +34,14 @@ export default defineComponent({
|
||||||
const style = computed(() => {
|
const style = computed(() => {
|
||||||
return {
|
return {
|
||||||
backgroundColor: pageConfigs.value.headerBgColour,
|
backgroundColor: pageConfigs.value.headerBgColour,
|
||||||
color: pageConfigs.value.headerFontColour,
|
color: pageConfigs.value.headerFontColour
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
return {
|
return {
|
||||||
pageConfigs,
|
pageConfigs,
|
||||||
style,
|
style
|
||||||
|
}
|
||||||
}
|
}
|
||||||
},
|
|
||||||
})
|
})
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
|
|
|
@ -74,7 +74,7 @@ export default {
|
||||||
}
|
}
|
||||||
// 是否隐藏
|
// 是否隐藏
|
||||||
const isShow = () => {
|
const isShow = () => {
|
||||||
return !['/sms-web/resource_dashboard', '/screen/list', '/redirect'].includes(route.path)
|
return !['/sms-web/resource_dashboard', '/screen/list', '/redirect', '/report/designer'].includes(route.path)
|
||||||
}
|
}
|
||||||
const getFixTags = (routes) => {
|
const getFixTags = (routes) => {
|
||||||
const tags = []
|
const tags = []
|
||||||
|
|
|
@ -1,12 +1,12 @@
|
||||||
<template>
|
<template>
|
||||||
<a-layout class="app-wrapper" :class="[{ hideSidebar: isCollapsed }, { 'font-big': isFontBig }, { 'expire-top': expire }]" @click="setTime">
|
<a-layout class="app-wrapper" :class="[{ hideSidebar: isCollapsed }, { 'font-big': isFontBig }, { 'expire-top': expire }]" @click="setTime">
|
||||||
<SystemTip />
|
<SystemTip />
|
||||||
<Header :match-path="matchPath"></Header>
|
<Header :match-path="matchPath" v-if="isNotIframeChild"></Header>
|
||||||
<TagsView v-if="addRoutes"></TagsView>
|
<TagsView v-if="addRoutes && isNotIframeChild"></TagsView>
|
||||||
<a-layout style="overflow: hidden">
|
<a-layout style="overflow: hidden">
|
||||||
<Sidebar v-if="showSidebar" @toggleCollapsed="toggleCollapsed" :isCollapsed="isCollapsed" :menuData="menuData" :isLimitLevel="true" :matchPath="matchPath" :basePath="basePath"></Sidebar>
|
<Sidebar v-if="showSidebar && isNotIframeChild" @toggleCollapsed="toggleCollapsed" :isCollapsed="isCollapsed" :menuData="menuData" :isLimitLevel="true" :matchPath="matchPath" :basePath="basePath"></Sidebar>
|
||||||
<a-layout class="main-container">
|
<a-layout class="main-container">
|
||||||
<ThirdMenu :menuData="thirdMenuData" v-if="thirdMenuData.children"></ThirdMenu>
|
<ThirdMenu :menuData="thirdMenuData" v-if="thirdMenuData.children && isNotIframeChild"></ThirdMenu>
|
||||||
<a-layout-content class="main-body">
|
<a-layout-content class="main-body">
|
||||||
<el-scrollbar class="custom-scrollbar" style="flex: 1">
|
<el-scrollbar class="custom-scrollbar" style="flex: 1">
|
||||||
<transition enter-active-class="fadeInUp" mode="out-in">
|
<transition enter-active-class="fadeInUp" mode="out-in">
|
||||||
|
@ -42,7 +42,9 @@ export default {
|
||||||
},
|
},
|
||||||
data() {
|
data() {
|
||||||
return {
|
return {
|
||||||
matchPath: ''
|
matchPath: '',
|
||||||
|
// 被嵌入
|
||||||
|
isNotIframeChild: window.top === window.self
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
setup() {
|
setup() {
|
||||||
|
|
|
@ -5,7 +5,6 @@ import '@/permission'
|
||||||
import App from '@/App.vue'
|
import App from '@/App.vue'
|
||||||
import 'virtual:svg-icons-register'
|
import 'virtual:svg-icons-register'
|
||||||
import startApp from '@/core/register'
|
import startApp from '@/core/register'
|
||||||
|
|
||||||
const application = createApp(App)
|
const application = createApp(App)
|
||||||
application.use(store).use(router).mount('#master-container')
|
application.use(store).use(router).mount('#master-container')
|
||||||
startApp()
|
startApp()
|
||||||
|
|
|
@ -3,7 +3,7 @@
|
||||||
*/
|
*/
|
||||||
import store from './store'
|
import store from './store'
|
||||||
import router from './router'
|
import router from './router'
|
||||||
import { getToken, setToken } from 'utils/auth'
|
import { getToken, setToken, removeToken } from 'utils/auth'
|
||||||
import { getQuery } from 'utils'
|
import { getQuery } from 'utils'
|
||||||
import { isEmpty, assign } from 'lodash-es'
|
import { isEmpty, assign } from 'lodash-es'
|
||||||
|
|
||||||
|
@ -17,6 +17,10 @@ router.beforeEach(async (to, from, next) => {
|
||||||
if (isEmpty(history.state.current)) {
|
if (isEmpty(history.state.current)) {
|
||||||
assign(history.state, { current: from.fullPath })
|
assign(history.state, { current: from.fullPath })
|
||||||
}
|
}
|
||||||
|
if (to.path === '/sso') {
|
||||||
|
// 进入 sso 页面默认就是没有登录
|
||||||
|
removeToken()
|
||||||
|
}
|
||||||
if (getToken()) {
|
if (getToken()) {
|
||||||
// 判断用户是否处于登录状态
|
// 判断用户是否处于登录状态
|
||||||
if (to.path === '/login') {
|
if (to.path === '/login') {
|
||||||
|
|
|
@ -25,18 +25,14 @@ const routes: RouteRecordRaw[] = [
|
||||||
{
|
{
|
||||||
path: '/',
|
path: '/',
|
||||||
component: () => import('@/layouts/home.vue'),
|
component: () => import('@/layouts/home.vue'),
|
||||||
redirect: '/sms-web/resource_dashboard',
|
redirect: '/cop-web/task/history/list',
|
||||||
meta: {
|
meta: {
|
||||||
title: '主页'
|
title: '主页'
|
||||||
},
|
},
|
||||||
name: 'Home',
|
name: 'Home',
|
||||||
children: [
|
children: [
|
||||||
{
|
{
|
||||||
path: '/sms-web/resource_dashboard',
|
path: '/cop-web/task/history/list',
|
||||||
meta: {
|
|
||||||
noTag: true,
|
|
||||||
hiddenSide: true
|
|
||||||
},
|
|
||||||
component: BlankView
|
component: BlankView
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
|
|
|
@ -7,6 +7,16 @@ import { wrapperParams } from 'utils'
|
||||||
export function login(params) {
|
export function login(params) {
|
||||||
return request.post('/sms/v1/users/login', params)
|
return request.post('/sms/v1/users/login', params)
|
||||||
}
|
}
|
||||||
|
/**
|
||||||
|
* IDP登录 返回数据结构和 login 接口一致
|
||||||
|
* @param ticket 票据
|
||||||
|
* @returns 用户信息
|
||||||
|
*/
|
||||||
|
export const idpLogin = (ticket) => {
|
||||||
|
// token 作为 url query 拼接
|
||||||
|
return request.post(`/sms/v1/login/idp?token=${ticket}`)
|
||||||
|
}
|
||||||
|
|
||||||
export function getTokenInfo(params) {
|
export function getTokenInfo(params) {
|
||||||
return request.post('/sms/v1/sso/token/info', params)
|
return request.post('/sms/v1/sso/token/info', params)
|
||||||
}
|
}
|
||||||
|
@ -21,12 +31,12 @@ export function logout() {
|
||||||
}
|
}
|
||||||
export function getConfig(params) {
|
export function getConfig(params) {
|
||||||
return request.get('/sms/v1/logo', {
|
return request.get('/sms/v1/logo', {
|
||||||
params: wrapperParams(params),
|
params: wrapperParams(params)
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
export function getDict(data) {
|
export function getDict(data) {
|
||||||
return request.get('/dict/children', {
|
return request.get('/dict/children', {
|
||||||
params: wrapperParams(data),
|
params: wrapperParams(data)
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
export function getSysconf() {
|
export function getSysconf() {
|
||||||
|
@ -48,7 +58,7 @@ export function getPortal(params) {
|
||||||
}
|
}
|
||||||
export function getServiceQuota(tenantId, data) {
|
export function getServiceQuota(tenantId, data) {
|
||||||
return request.get(`/cos/v1/tenants/${tenantId}/quotas`, {
|
return request.get(`/cos/v1/tenants/${tenantId}/quotas`, {
|
||||||
params: wrapperParams(data),
|
params: wrapperParams(data)
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
export function replaceToken(params) {
|
export function replaceToken(params) {
|
||||||
|
@ -69,7 +79,7 @@ export function getSystemTreeConfigs(params) {
|
||||||
// 更新系统配置信息
|
// 更新系统配置信息
|
||||||
export function updateSystemConfigs(params) {
|
export function updateSystemConfigs(params) {
|
||||||
return request.put('/sms/v1/system-configs', params, {
|
return request.put('/sms/v1/system-configs', params, {
|
||||||
headers: { 'Content-Type': 'multipart/form-data', BsmAjaxHeader: true, options: { noSeri: true } },
|
headers: { 'Content-Type': 'multipart/form-data', BsmAjaxHeader: true, options: { noSeri: true } }
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
// 测试连接
|
// 测试连接
|
||||||
|
|
|
@ -10,7 +10,7 @@ const state = {
|
||||||
isCollapsed: false,
|
isCollapsed: false,
|
||||||
sideMenuData: [],
|
sideMenuData: [],
|
||||||
pageConfig: {},
|
pageConfig: {},
|
||||||
systemConfig: {},
|
systemConfig: JSON.parse(localStorage.getItem('systemConfig')) || {},
|
||||||
userData: null,
|
userData: null,
|
||||||
operateTime: '',
|
operateTime: '',
|
||||||
basePath: '',
|
basePath: '',
|
||||||
|
@ -66,6 +66,10 @@ const mutations = {
|
||||||
state.pageConfig = data
|
state.pageConfig = data
|
||||||
},
|
},
|
||||||
SETTING_SYSTEM_CONFIG(state, data) {
|
SETTING_SYSTEM_CONFIG(state, data) {
|
||||||
|
// 为什么不用 csc 的方式 管理端父传子是异步方式 可能导致表格列渲染完成后接口还没返回
|
||||||
|
data.projectConfigLabel = data.projectConfigLabel || '项目'
|
||||||
|
data.serviceConfigLabel = data.serviceConfigLabel || '业务'
|
||||||
|
localStorage.setItem('systemConfig', JSON.stringify(data))
|
||||||
state.systemConfig = data
|
state.systemConfig = data
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -102,7 +106,7 @@ const actions = {
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
async GetSystemConfigs({ commit }) {
|
async GetSystemConfigs({ commit }) {
|
||||||
const data = await getSystemConfigs({ codes: 'pwdStrength,lockScreenTime' })
|
const data = await getSystemConfigs({ codes: 'pwdStrength,lockScreenTime,serviceConfigLabel,projectConfigLabel' })
|
||||||
if (data.success) {
|
if (data.success) {
|
||||||
commit('SETTING_SYSTEM_CONFIG', data.data)
|
commit('SETTING_SYSTEM_CONFIG', data.data)
|
||||||
}
|
}
|
||||||
|
|
|
@ -167,7 +167,9 @@ const actions = {
|
||||||
// 重置标签信息
|
// 重置标签信息
|
||||||
dispatch('tagsView/delAllViews', null, { root: true })
|
dispatch('tagsView/delAllViews', null, { root: true })
|
||||||
removeToken()
|
removeToken()
|
||||||
if (redirectToLogin) window.location.href = '/login'
|
// 正常云管环境
|
||||||
|
const isNotIframeChild = window.top === window.self
|
||||||
|
if (redirectToLogin && isNotIframeChild) window.location.href = '/login'
|
||||||
resolve()
|
resolve()
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
|
@ -5,13 +5,15 @@ import Cookies from 'js-cookie'
|
||||||
import { tokenKey } from '@/config'
|
import { tokenKey } from '@/config'
|
||||||
|
|
||||||
export function getToken() {
|
export function getToken() {
|
||||||
return Cookies.get(tokenKey)
|
return Cookies.get(tokenKey) || localStorage.getItem(tokenKey) || ''
|
||||||
}
|
}
|
||||||
|
|
||||||
export function setToken(token) {
|
export function setToken(token = '') {
|
||||||
|
localStorage.setItem(tokenKey, token)
|
||||||
return Cookies.set(tokenKey, token)
|
return Cookies.set(tokenKey, token)
|
||||||
}
|
}
|
||||||
|
|
||||||
export function removeToken() {
|
export function removeToken() {
|
||||||
|
localStorage.removeItem(tokenKey)
|
||||||
return Cookies.remove(tokenKey)
|
return Cookies.remove(tokenKey)
|
||||||
}
|
}
|
||||||
|
|
|
@ -91,7 +91,7 @@ export default {
|
||||||
localStorage.removeItem('cmcLoginData')
|
localStorage.removeItem('cmcLoginData')
|
||||||
}
|
}
|
||||||
const { redirect } = route.query
|
const { redirect } = route.query
|
||||||
const path = redirect ? redirect.split('/#')[1] : '/sms-web/resource_dashboard'
|
const path = redirect ? redirect.split('/#')[1] : '/cop-web/task/history/list'
|
||||||
router.replace(path)
|
router.replace(path)
|
||||||
localStorage.removeItem('lockData')
|
localStorage.removeItem('lockData')
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,15 +1,40 @@
|
||||||
<template>
|
<template>
|
||||||
<div></div>
|
<el-empty v-if="isError" :description="description" />
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
<script setup lang="ts">
|
<script setup lang="ts">
|
||||||
|
import { ref } from 'vue'
|
||||||
import { setToken } from 'utils/auth'
|
import { setToken } from 'utils/auth'
|
||||||
import { useRoute, useRouter } from 'vue-router'
|
import { useRoute, useRouter } from 'vue-router'
|
||||||
|
import { idpLogin } from 'services/index'
|
||||||
const route = useRoute()
|
const route = useRoute()
|
||||||
const router = useRouter()
|
const router = useRouter()
|
||||||
|
const isError = ref(false)
|
||||||
|
const description = ref('')
|
||||||
|
const init = async () => {
|
||||||
|
// sso?ticket=11&redirect=/cop-web/host-resource/vm
|
||||||
|
const { token, ticket, redirect = '/home' } = route.query
|
||||||
|
console.log(route.query)
|
||||||
|
const path = decodeURIComponent(redirect as string)
|
||||||
|
if (token) {
|
||||||
|
setToken(token as string)
|
||||||
|
router.replace(path)
|
||||||
|
} else if (ticket) {
|
||||||
|
const res = await idpLogin(ticket).catch((err) => {
|
||||||
|
description.value = err.message
|
||||||
|
isError.value = true
|
||||||
|
return err
|
||||||
|
})
|
||||||
|
if (!res.success) {
|
||||||
|
isError.value = true
|
||||||
|
return
|
||||||
|
}
|
||||||
|
const userInfo = res.data
|
||||||
|
const { token } = userInfo
|
||||||
|
setToken(token)
|
||||||
|
router.replace(path)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
const { token, redirect = '/home' } = route.query
|
init()
|
||||||
setToken(token)
|
|
||||||
router.push(redirect as string)
|
|
||||||
</script>
|
</script>
|
||||||
|
|
|
@ -12,7 +12,7 @@ function resolve(dir: string) {
|
||||||
}
|
}
|
||||||
|
|
||||||
const httpType = 'https://'
|
const httpType = 'https://'
|
||||||
const proxyUrl = 'develop.cmp56.com:60006/' // 代理地址设置
|
const proxyUrl = '10.10.33.214:60006' // AI_OPS
|
||||||
|
|
||||||
// https://vitejs.dev/config/
|
// https://vitejs.dev/config/
|
||||||
export default defineConfig({
|
export default defineConfig({
|
||||||
|
|
Loading…
Reference in New Issue