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 { token, redirect = '/home' } = route.query
 | 
					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)
 | 
					    setToken(token)
 | 
				
			||||||
router.push(redirect as string)
 | 
					    router.replace(path)
 | 
				
			||||||
 | 
					  }
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					init()
 | 
				
			||||||
</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