mirror of
				https://github.com/pure-admin/vue-pure-admin.git
				synced 2025-11-03 13:44:47 +08:00 
			
		
		
		
	Merge branch 'main' into pages
This commit is contained in:
		
						commit
						a84529418c
					
				
							
								
								
									
										2
									
								
								.github/ISSUE_TEMPLATE/bug_report.yml
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										2
									
								
								.github/ISSUE_TEMPLATE/bug_report.yml
									
									
									
									
										vendored
									
									
								
							@ -32,7 +32,7 @@ body:
 | 
				
			|||||||
      label: 验证 (Verify)
 | 
					      label: 验证 (Verify)
 | 
				
			||||||
      description: 在提交问题之前,请确保您执行以下操作 (Before submitting an issue, please ensure you do the following)
 | 
					      description: 在提交问题之前,请确保您执行以下操作 (Before submitting an issue, please ensure you do the following)
 | 
				
			||||||
      options:
 | 
					      options:
 | 
				
			||||||
        - label: 是否仔细阅读过 [文档](https://pure-admin.github.io/pure-admin-doc/) (Have you read [documentation](https://pure-admin.github.io/pure-admin-doc/) carefully)
 | 
					        - label: 是否仔细阅读过 [文档](https://pure-admin.cn/) (Have you read [documentation](https://pure-admin.cn/) carefully)
 | 
				
			||||||
          required: true
 | 
					          required: true
 | 
				
			||||||
        - label: 检查是否存在相同或类似的问题 [issues](https://github.com/pure-admin/vue-pure-admin/issues) (Check for the same or similar [issues](https://github.com/pure-admin/vue-pure-admin/issues))
 | 
					        - label: 检查是否存在相同或类似的问题 [issues](https://github.com/pure-admin/vue-pure-admin/issues) (Check for the same or similar [issues](https://github.com/pure-admin/vue-pure-admin/issues))
 | 
				
			||||||
          required: true
 | 
					          required: true
 | 
				
			||||||
 | 
				
			|||||||
@ -1,3 +1,23 @@
 | 
				
			|||||||
 | 
					# 5.9.0 (2024-12-10)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					### ✔️Refactor
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					- Upgrade `vite` to `v6` version, upgrade `sass` to the latest version, reconstruct the theme writing method, and deprecate [@pureadmin/theme](https://www.npmjs.com/package/@pureadmin/theme) , click to view [Related optimization point details](https://github.com/pure-admin/vue-pure-admin/pull/1188#issue-2630095115). For users who have the [Max version](https://pure-admin.cn/pages/max/), it is strongly recommended to upgrade. Subsequent Max version users will enjoy a more modern, beautiful and highly customized theme color
 | 
				
			||||||
 | 
					- Use [code-inspector-plugin](https://www.npmjs.com/package/code-inspector-plugin) to replace [vite-plugin-vue-inspector](https://www.npmjs.com/package/vite-plugin-vue-inspector)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					### 🎫Feat
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					- Added `ReDrawer` component
 | 
				
			||||||
 | 
					- `pure-table` adds dynamic table header example
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					### 🐞 Bug fixes
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					- Fixed an issue where the height of the table does not automatically adapt when the full screen function is enabled or disabled after the table is expanded in the menu and department management
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					### 🍏Perf
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					- Optimize the layout of the department tree on the left side of user management
 | 
				
			||||||
 | 
					
 | 
				
			||||||
# 5.8.0 (2024-08-19)
 | 
					# 5.8.0 (2024-08-19)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
### 🎫 Feat
 | 
					### 🎫 Feat
 | 
				
			||||||
@ -53,7 +73,7 @@
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
The addresses of the document site and full version preview site have been changed!
 | 
					The addresses of the document site and full version preview site have been changed!
 | 
				
			||||||
 | 
					
 | 
				
			||||||
- The latest document site address: https://pure-admin.github.io/pure-admin-doc
 | 
					- The latest document site address: https://pure-admin.cn
 | 
				
			||||||
- The latest full version preview site address: https://pure-admin.github.io/vue-pure-admin
 | 
					- The latest full version preview site address: https://pure-admin.github.io/vue-pure-admin
 | 
				
			||||||
 | 
					
 | 
				
			||||||
### ✔️ Refactor
 | 
					### ✔️ Refactor
 | 
				
			||||||
@ -454,7 +474,7 @@ Totally `ESM` version
 | 
				
			|||||||
### ✔️ Refactor
 | 
					### ✔️ Refactor
 | 
				
			||||||
 | 
					
 | 
				
			||||||
- completely removed `lodash` and its related libraries
 | 
					- completely removed `lodash` and its related libraries
 | 
				
			||||||
  [Click here to see Why Removed? How to integrate it yourself? ](https://pure-admin.github.io/pure-admin-doc/pages/FAQ/#%E5%B9%B3%E5%8F%B0%E5%9C%A8-v3-9-5-%E7 %89%88%E6%9C%AC%E5%AE%8C%E5%85%A8%E7%A7%BB%E9%99%A4%E4%BA%86-lodash-%E5%92%8C% E5%85%B6%E7%9B%B8%E5%85%B3%E5%BA%93-%E4%B8%BA%E4%BB%80%E4%B9%88%E7%A7%BB%E9 %99%A4-%E5%A6%82%E4%BD%95%E8%87%AA%E8%A1%8C%E9%9B%86%E6%88%90)
 | 
					  [Click here to see Why Removed? How to integrate it yourself? ](https://pure-admin.cn/pages/FAQ/#%E5%B9%B3%E5%8F%B0%E5%9C%A8-v3-9-5-%E7%89%88%E6%9C%AC%E5%AE%8C%E5%85%A8%E7%A7%BB%E9%99%A4%E4%BA%86-lodash-%E5%92%8C%E5%85%B6%E7%9B%B8%E5%85%B3%E5%BA%93-%E4%B8%BA%E4%BB%80%E4%B9%88%E7%A7%BB%E9%99%A4-%E5%A6%82%E4%BD%95%E8%87%AA%E8%A1%8C%E9%9B%86%E6%88%90)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
### 🎫 Feat
 | 
					### 🎫 Feat
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@ -474,7 +494,7 @@ Totally `ESM` version
 | 
				
			|||||||
### ✔️ Refactor
 | 
					### ✔️ Refactor
 | 
				
			||||||
 | 
					
 | 
				
			||||||
- Completely removed `vxe-table`, after removal, the overall package size of the full version is reduced by `1.82MB`, and the initial startup time is basically the same as the lite version 🐮
 | 
					- Completely removed `vxe-table`, after removal, the overall package size of the full version is reduced by `1.82MB`, and the initial startup time is basically the same as the lite version 🐮
 | 
				
			||||||
  [Click here to see Why Removed? How to integrate it yourself?](https://pure-admin.github.io/pure-admin-doc/pages/FAQ/#%E5%B9%B3%E5%8F%B0%E5%9C%A8-v3-9-4-%E7%89%88%E6%9C%AC%E5%AE%8C%E5%85%A8%E7%A7%BB%E9%99%A4%E4%BA%86-vxe-table-%E4%B8%BA%E4%BB%80%E4%B9%88%E7%A7%BB%E9%99%A4-%E5%A6%82%E4%BD%95%E8%87%AA%E8%A1%8C%E9%9B%86%E6%88%90)
 | 
					  [Click here to see Why Removed? How to integrate it yourself?](https://pure-admin.cn/pages/FAQ/#%E5%B9%B3%E5%8F%B0%E5%9C%A8-v3-9-4-%E7%89%88%E6%9C%AC%E5%AE%8C%E5%85%A8%E7%A7%BB%E9%99%A4%E4%BA%86-vxe-table-%E4%B8%BA%E4%BB%80%E4%B9%88%E7%A7%BB%E9%99%A4-%E5%A6%82%E4%BD%95%E8%87%AA%E8%A1%8C%E9%9B%86%E6%88%90)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
### 🎫 Feat
 | 
					### 🎫 Feat
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@ -687,7 +707,7 @@ Totally `ESM` version
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
### ✔️ Refactor
 | 
					### ✔️ Refactor
 | 
				
			||||||
 | 
					
 | 
				
			||||||
- Replace `unocss` with `tailwindcss`, add `tailwindcss` [documentation](https://pure-admin.github.io/pure-admin-doc/pages/tailwindcss/)
 | 
					- Replace `unocss` with `tailwindcss`, add `tailwindcss` [documentation](https://pure-admin.cn/pages/tailwindcss/)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
### 🐞 Bug fixes
 | 
					### 🐞 Bug fixes
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
				
			|||||||
							
								
								
									
										28
									
								
								CHANGELOG.md
									
									
									
									
									
								
							
							
						
						
									
										28
									
								
								CHANGELOG.md
									
									
									
									
									
								
							@ -1,3 +1,23 @@
 | 
				
			|||||||
 | 
					# 5.9.0 (2024-12-10)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					### ✔️Refactor
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					- Upgrade `vite` to `v6` version, upgrade `sass` to the latest version, reconstruct the theme writing method, and deprecate [@pureadmin/theme](https://www.npmjs.com/package/@pureadmin/theme) , click to view [Related optimization point details](https://github.com/pure-admin/vue-pure-admin/pull/1188#issue-2630095115). For users who have the [Max version](https://pure-admin.cn/pages/max/), it is strongly recommended to upgrade. Subsequent Max version users will enjoy a more modern, beautiful and highly customized theme color
 | 
				
			||||||
 | 
					- Use [code-inspector-plugin](https://www.npmjs.com/package/code-inspector-plugin) to replace [vite-plugin-vue-inspector](https://www.npmjs.com/package/vite-plugin-vue-inspector)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					### 🎫Feat
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					- Added `ReDrawer` component
 | 
				
			||||||
 | 
					- `pure-table` adds dynamic table header example
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					### 🐞 Bug fixes
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					- Fixed an issue where the height of the table does not automatically adapt when the full screen function is enabled or disabled after the table is expanded in the menu and department management
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					### 🍏Perf
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					- Optimize the layout of the department tree on the left side of user management
 | 
				
			||||||
 | 
					
 | 
				
			||||||
# 5.8.0 (2024-08-19)
 | 
					# 5.8.0 (2024-08-19)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
### 🎫 Feat
 | 
					### 🎫 Feat
 | 
				
			||||||
@ -53,7 +73,7 @@
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
The addresses of the document site and full version preview site have been changed!
 | 
					The addresses of the document site and full version preview site have been changed!
 | 
				
			||||||
 | 
					
 | 
				
			||||||
- The latest document site address: https://pure-admin.github.io/pure-admin-doc
 | 
					- The latest document site address: https://pure-admin.cn
 | 
				
			||||||
- The latest full version preview site address: https://pure-admin.github.io/vue-pure-admin
 | 
					- The latest full version preview site address: https://pure-admin.github.io/vue-pure-admin
 | 
				
			||||||
 | 
					
 | 
				
			||||||
### ✔️ Refactor
 | 
					### ✔️ Refactor
 | 
				
			||||||
@ -454,7 +474,7 @@ Totally `ESM` version
 | 
				
			|||||||
### ✔️ Refactor
 | 
					### ✔️ Refactor
 | 
				
			||||||
 | 
					
 | 
				
			||||||
- completely removed `lodash` and its related libraries
 | 
					- completely removed `lodash` and its related libraries
 | 
				
			||||||
  [Click here to see Why Removed? How to integrate it yourself? ](https://pure-admin.github.io/pure-admin-doc/pages/FAQ/#%E5%B9%B3%E5%8F%B0%E5%9C%A8-v3-9-5-%E7 %89%88%E6%9C%AC%E5%AE%8C%E5%85%A8%E7%A7%BB%E9%99%A4%E4%BA%86-lodash-%E5%92%8C% E5%85%B6%E7%9B%B8%E5%85%B3%E5%BA%93-%E4%B8%BA%E4%BB%80%E4%B9%88%E7%A7%BB%E9 %99%A4-%E5%A6%82%E4%BD%95%E8%87%AA%E8%A1%8C%E9%9B%86%E6%88%90)
 | 
					  [Click here to see Why Removed? How to integrate it yourself? ](https://pure-admin.cn/pages/FAQ/#%E5%B9%B3%E5%8F%B0%E5%9C%A8-v3-9-5-%E7%89%88%E6%9C%AC%E5%AE%8C%E5%85%A8%E7%A7%BB%E9%99%A4%E4%BA%86-lodash-%E5%92%8C%E5%85%B6%E7%9B%B8%E5%85%B3%E5%BA%93-%E4%B8%BA%E4%BB%80%E4%B9%88%E7%A7%BB%E9%99%A4-%E5%A6%82%E4%BD%95%E8%87%AA%E8%A1%8C%E9%9B%86%E6%88%90)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
### 🎫 Feat
 | 
					### 🎫 Feat
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@ -474,7 +494,7 @@ Totally `ESM` version
 | 
				
			|||||||
### ✔️ Refactor
 | 
					### ✔️ Refactor
 | 
				
			||||||
 | 
					
 | 
				
			||||||
- Completely removed `vxe-table`, after removal, the overall package size of the full version is reduced by `1.82MB`, and the initial startup time is basically the same as the lite version 🐮
 | 
					- Completely removed `vxe-table`, after removal, the overall package size of the full version is reduced by `1.82MB`, and the initial startup time is basically the same as the lite version 🐮
 | 
				
			||||||
  [Click here to see Why Removed? How to integrate it yourself?](https://pure-admin.github.io/pure-admin-doc/pages/FAQ/#%E5%B9%B3%E5%8F%B0%E5%9C%A8-v3-9-4-%E7%89%88%E6%9C%AC%E5%AE%8C%E5%85%A8%E7%A7%BB%E9%99%A4%E4%BA%86-vxe-table-%E4%B8%BA%E4%BB%80%E4%B9%88%E7%A7%BB%E9%99%A4-%E5%A6%82%E4%BD%95%E8%87%AA%E8%A1%8C%E9%9B%86%E6%88%90)
 | 
					  [Click here to see Why Removed? How to integrate it yourself?](https://pure-admin.cn/pages/FAQ/#%E5%B9%B3%E5%8F%B0%E5%9C%A8-v3-9-4-%E7%89%88%E6%9C%AC%E5%AE%8C%E5%85%A8%E7%A7%BB%E9%99%A4%E4%BA%86-vxe-table-%E4%B8%BA%E4%BB%80%E4%B9%88%E7%A7%BB%E9%99%A4-%E5%A6%82%E4%BD%95%E8%87%AA%E8%A1%8C%E9%9B%86%E6%88%90)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
### 🎫 Feat
 | 
					### 🎫 Feat
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@ -687,7 +707,7 @@ Totally `ESM` version
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
### ✔️ Refactor
 | 
					### ✔️ Refactor
 | 
				
			||||||
 | 
					
 | 
				
			||||||
- Replace `unocss` with `tailwindcss`, add `tailwindcss` [documentation](https://pure-admin.github.io/pure-admin-doc/pages/tailwindcss/)
 | 
					- Replace `unocss` with `tailwindcss`, add `tailwindcss` [documentation](https://pure-admin.cn/pages/tailwindcss/)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
### 🐞 Bug fixes
 | 
					### 🐞 Bug fixes
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
				
			|||||||
@ -1,3 +1,23 @@
 | 
				
			|||||||
 | 
					# 5.9.0 (2024-12-10)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					### ✔️ Refactor
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					- 升级`vite`至`v6`版本,升级`sass`至最新版,重构主题写法,弃用 [@pureadmin/theme](https://www.npmjs.com/package/@pureadmin/theme),点击查看 [相关优化点细节](https://github.com/pure-admin/vue-pure-admin/pull/1188#issue-2630095115)。对于拥有 [Max版本](https://pure-admin.cn/pages/max/) 的用户平台强烈建议升级,后续`Max版本用户`会享有一套更现代、美观且自定义程度高的主题色
 | 
				
			||||||
 | 
					- 使用 [code-inspector-plugin](https://www.npmjs.com/package/code-inspector-plugin) 替换 [vite-plugin-vue-inspector](https://www.npmjs.com/package/vite-plugin-vue-inspector)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					### 🎫 Feat
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					- 新增函数式抽屉组件
 | 
				
			||||||
 | 
					- `pure-table`添加动态表头示例
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					### 🐞 Bug fixes
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					- 修复在菜单、部门管理中,表格展开后启用或关闭全屏功能时,表格高度未自动适应的问题
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					### 🍏 Perf
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					- 优化用户管理左侧部门树的布局
 | 
				
			||||||
 | 
					
 | 
				
			||||||
# 5.8.0 (2024-08-19)
 | 
					# 5.8.0 (2024-08-19)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
### 🎫 Feat
 | 
					### 🎫 Feat
 | 
				
			||||||
@ -53,7 +73,7 @@
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
文档站和完整版预览站地址更换!
 | 
					文档站和完整版预览站地址更换!
 | 
				
			||||||
 | 
					
 | 
				
			||||||
- 最新文档站地址:https://pure-admin.github.io/pure-admin-doc
 | 
					- 最新文档站地址:https://pure-admin.cn
 | 
				
			||||||
- 最新完整版预览站地址:https://pure-admin.github.io/vue-pure-admin
 | 
					- 最新完整版预览站地址:https://pure-admin.github.io/vue-pure-admin
 | 
				
			||||||
 | 
					
 | 
				
			||||||
### ✔️ Refactor
 | 
					### ✔️ Refactor
 | 
				
			||||||
@ -453,7 +473,7 @@
 | 
				
			|||||||
### ✔️ Refactor
 | 
					### ✔️ Refactor
 | 
				
			||||||
 | 
					
 | 
				
			||||||
- 完全移除了 `lodash` 和其相关库
 | 
					- 完全移除了 `lodash` 和其相关库
 | 
				
			||||||
  [点击此处查看为什么移除?如何自行集成?](https://pure-admin.github.io/pure-admin-doc/pages/FAQ/#%E5%B9%B3%E5%8F%B0%E5%9C%A8-v3-9-5-%E7%89%88%E6%9C%AC%E5%AE%8C%E5%85%A8%E7%A7%BB%E9%99%A4%E4%BA%86-lodash-%E5%92%8C%E5%85%B6%E7%9B%B8%E5%85%B3%E5%BA%93-%E4%B8%BA%E4%BB%80%E4%B9%88%E7%A7%BB%E9%99%A4-%E5%A6%82%E4%BD%95%E8%87%AA%E8%A1%8C%E9%9B%86%E6%88%90)
 | 
					  [点击此处查看为什么移除?如何自行集成?](https://pure-admin.cn/pages/FAQ/#%E5%B9%B3%E5%8F%B0%E5%9C%A8-v3-9-5-%E7%89%88%E6%9C%AC%E5%AE%8C%E5%85%A8%E7%A7%BB%E9%99%A4%E4%BA%86-lodash-%E5%92%8C%E5%85%B6%E7%9B%B8%E5%85%B3%E5%BA%93-%E4%B8%BA%E4%BB%80%E4%B9%88%E7%A7%BB%E9%99%A4-%E5%A6%82%E4%BD%95%E8%87%AA%E8%A1%8C%E9%9B%86%E6%88%90)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
### 🎫 Feat
 | 
					### 🎫 Feat
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@ -473,7 +493,7 @@
 | 
				
			|||||||
### ✔️ Refactor
 | 
					### ✔️ Refactor
 | 
				
			||||||
 | 
					
 | 
				
			||||||
- 完全移除了 `vxe-table`,移除后,完整版整体打包大小减少 `1.82MB`,首启动时长基本和精简版持平 🐮
 | 
					- 完全移除了 `vxe-table`,移除后,完整版整体打包大小减少 `1.82MB`,首启动时长基本和精简版持平 🐮
 | 
				
			||||||
  [点击此处查看为什么移除?如何自行集成?](https://pure-admin.github.io/pure-admin-doc/pages/FAQ/#%E5%B9%B3%E5%8F%B0%E5%9C%A8-v3-9-4-%E7%89%88%E6%9C%AC%E5%AE%8C%E5%85%A8%E7%A7%BB%E9%99%A4%E4%BA%86-vxe-table-%E4%B8%BA%E4%BB%80%E4%B9%88%E7%A7%BB%E9%99%A4-%E5%A6%82%E4%BD%95%E8%87%AA%E8%A1%8C%E9%9B%86%E6%88%90)
 | 
					  [点击此处查看为什么移除?如何自行集成?](https://pure-admin.cn/pages/FAQ/#%E5%B9%B3%E5%8F%B0%E5%9C%A8-v3-9-4-%E7%89%88%E6%9C%AC%E5%AE%8C%E5%85%A8%E7%A7%BB%E9%99%A4%E4%BA%86-vxe-table-%E4%B8%BA%E4%BB%80%E4%B9%88%E7%A7%BB%E9%99%A4-%E5%A6%82%E4%BD%95%E8%87%AA%E8%A1%8C%E9%9B%86%E6%88%90)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
### 🎫 Feat
 | 
					### 🎫 Feat
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@ -686,7 +706,7 @@
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
### ✔️ Refactor
 | 
					### ✔️ Refactor
 | 
				
			||||||
 | 
					
 | 
				
			||||||
- 使用 `tailwindcss` 替换 `unocss`,新增 `tailwindcss` [使用文档](https://pure-admin.github.io/pure-admin-doc/pages/tailwindcss/)
 | 
					- 使用 `tailwindcss` 替换 `unocss`,新增 `tailwindcss` [使用文档](https://pure-admin.cn/pages/tailwindcss/)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
### 🐞 Bug fixes
 | 
					### 🐞 Bug fixes
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
				
			|||||||
@ -28,20 +28,20 @@ The simplified version is based on the shelf extracted from [vue-pure-admin](htt
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
## Nanny-level documents
 | 
					## Nanny-level documents
 | 
				
			||||||
 | 
					
 | 
				
			||||||
[Click me to view vue-pure-admin documentation](https://pure-admin.github.io/pure-admin-doc)  
 | 
					[Click me to view vue-pure-admin documentation](https://pure-admin.cn/)  
 | 
				
			||||||
[Click me to view @pureadmin/utils documentation](https://pure-admin-utils.netlify.app)
 | 
					[Click me to view @pureadmin/utils documentation](https://pure-admin-utils.netlify.app)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
## Quality service, software outsourcing, sponsorship support
 | 
					## Quality service, software outsourcing, sponsorship support
 | 
				
			||||||
 | 
					
 | 
				
			||||||
[Click me for details](https://pure-admin.github.io/pure-admin-doc/pages/service/)
 | 
					[Click me for details](https://pure-admin.cn/pages/service/)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
## `js` version
 | 
					## `js` version
 | 
				
			||||||
 | 
					
 | 
				
			||||||
[Click me to view js version](https://pure-admin.github.io/pure-admin-doc/pages/js/)
 | 
					[Click me to view js version](https://pure-admin.cn/pages/js/)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
## `max` version
 | 
					## `max` version
 | 
				
			||||||
 | 
					
 | 
				
			||||||
[Click me to view the max version](https://github.com/pure-admin/vue-pure-admin-max)
 | 
					[Click me to view the max version](https://pure-admin.cn/pages/max/)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
## Tauri
 | 
					## Tauri
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@ -180,18 +180,18 @@ You are very welcome to join       | [code](https://github.com/pure-admin/vue-pure-admin/commits?author=hb0730) |
 | 
					|       [hb0730](https://github.com/hb0730)       |    [code](https://github.com/pure-admin/vue-pure-admin/commits?author=hb0730)    |
 | 
				
			||||||
|         [o-cc](https://github.com/o-cc)         | [code](https://github.com/pure-admin/vue-pure-admin/commits?author=o-cc) |
 | 
					|         [o-cc](https://github.com/o-cc)         |     [code](https://github.com/pure-admin/vue-pure-admin/commits?author=o-cc)     |
 | 
				
			||||||
| [yj-liuzepeng](https://github.com/yj-liuzepeng) | [code](https://github.com/pure-admin/vue-pure-admin/commits?author=yj-liuzepeng) |
 | 
					| [yj-liuzepeng](https://github.com/yj-liuzepeng) | [code](https://github.com/pure-admin/vue-pure-admin/commits?author=yj-liuzepeng) |
 | 
				
			||||||
|   [skyline523](https://github.com/skyline523)   | [code](https://github.com/pure-admin/vue-pure-admin/commits?author=skyline523) |
 | 
					|   [skyline523](https://github.com/skyline523)   |  [code](https://github.com/pure-admin/vue-pure-admin/commits?author=skyline523)  |
 | 
				
			||||||
| [shark-lajiao](https://github.com/shark-lajiao) | [code](https://github.com/pure-admin/vue-pure-admin/commits?author=shark-lajiao) |
 | 
					| [shark-lajiao](https://github.com/shark-lajiao) | [code](https://github.com/pure-admin/vue-pure-admin/commits?author=shark-lajiao) |
 | 
				
			||||||
|      [WitMiao](https://github.com/WitMiao)      | [code](https://github.com/pure-admin/vue-pure-admin/commits?author=WitMiao) |
 | 
					|      [WitMiao](https://github.com/WitMiao)      |   [code](https://github.com/pure-admin/vue-pure-admin/commits?author=WitMiao)    |
 | 
				
			||||||
|     [QFifteen](https://github.com/QFifteen)     | [code](https://github.com/pure-admin/vue-pure-admin/commits?author=QFifteen) |
 | 
					|     [QFifteen](https://github.com/QFifteen)     |   [code](https://github.com/pure-admin/vue-pure-admin/commits?author=QFifteen)   |
 | 
				
			||||||
|      [edgexie](https://github.com/edgexie)      | [code](https://github.com/pure-admin/vue-pure-admin/commits?author=edgexie) |
 | 
					|      [edgexie](https://github.com/edgexie)      |   [code](https://github.com/pure-admin/vue-pure-admin/commits?author=edgexie)    |
 | 
				
			||||||
|       [way-jm](https://github.com/way-jm)       | [code](https://github.com/pure-admin/vue-pure-admin/commits?author=way-jm) |
 | 
					|       [way-jm](https://github.com/way-jm)       |    [code](https://github.com/pure-admin/vue-pure-admin/commits?author=way-jm)    |
 | 
				
			||||||
|   [simple-hui](https://github.com/simple-hui)   | [code](https://github.com/pure-admin/vue-pure-admin/commits?author=simple-hui) |
 | 
					|   [simple-hui](https://github.com/simple-hui)   |  [code](https://github.com/pure-admin/vue-pure-admin/commits?author=simple-hui)  |
 | 
				
			||||||
 | 
					
 | 
				
			||||||
## Git Contribution submission specification
 | 
					## Git Contribution submission specification
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
				
			|||||||
							
								
								
									
										28
									
								
								README.md
									
									
									
									
									
								
							
							
						
						
									
										28
									
								
								README.md
									
									
									
									
									
								
							@ -29,20 +29,20 @@
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
## 配套保姆级文档
 | 
					## 配套保姆级文档
 | 
				
			||||||
 | 
					
 | 
				
			||||||
[点我查看 vue-pure-admin 文档](https://pure-admin.github.io/pure-admin-doc)  
 | 
					[点我查看 vue-pure-admin 文档](https://pure-admin.cn/)  
 | 
				
			||||||
[点我查看 @pureadmin/utils 文档](https://pure-admin-utils.netlify.app)
 | 
					[点我查看 @pureadmin/utils 文档](https://pure-admin-utils.netlify.app)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
## 优质服务、软件外包、赞助支持
 | 
					## 优质服务、软件外包、赞助支持
 | 
				
			||||||
 | 
					
 | 
				
			||||||
[点我查看详情](https://pure-admin.github.io/pure-admin-doc/pages/service/)
 | 
					[点我查看详情](https://pure-admin.cn/pages/service/)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
## `js` 版本
 | 
					## `js` 版本
 | 
				
			||||||
 | 
					
 | 
				
			||||||
[点我查看 js 版本](https://pure-admin.github.io/pure-admin-doc/pages/js/)
 | 
					[点我查看 js 版本](https://pure-admin.cn/pages/js/)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
## `max` 版本
 | 
					## `max` 版本
 | 
				
			||||||
 | 
					
 | 
				
			||||||
[点我查看 max 版本](https://github.com/pure-admin/vue-pure-admin-max)
 | 
					[点我查看 max 版本](https://pure-admin.cn/pages/max/)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
## `Tauri` 版本
 | 
					## `Tauri` 版本
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@ -181,18 +181,18 @@ docker run -dp 8080:80  --name pure-admin vue-pure-admin
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
非常感谢你们能深入了解源码并对 `pure-admin` 组织作出优秀贡献 ❤️
 | 
					非常感谢你们能深入了解源码并对 `pure-admin` 组织作出优秀贡献 ❤️
 | 
				
			||||||
 | 
					
 | 
				
			||||||
|                   **贡献人**                    |                         **具体代码**                         |
 | 
					|                   **贡献人**                    |                                   **具体代码**                                   |
 | 
				
			||||||
| :---------------------------------------------: | :----------------------------------------------------------: |
 | 
					| :---------------------------------------------: | :------------------------------------------------------------------------------: |
 | 
				
			||||||
|       [hb0730](https://github.com/hb0730)       | [代码](https://github.com/pure-admin/vue-pure-admin/commits?author=hb0730) |
 | 
					|       [hb0730](https://github.com/hb0730)       |    [代码](https://github.com/pure-admin/vue-pure-admin/commits?author=hb0730)    |
 | 
				
			||||||
|         [o-cc](https://github.com/o-cc)         | [代码](https://github.com/pure-admin/vue-pure-admin/commits?author=o-cc) |
 | 
					|         [o-cc](https://github.com/o-cc)         |     [代码](https://github.com/pure-admin/vue-pure-admin/commits?author=o-cc)     |
 | 
				
			||||||
| [yj-liuzepeng](https://github.com/yj-liuzepeng) | [代码](https://github.com/pure-admin/vue-pure-admin/commits?author=yj-liuzepeng) |
 | 
					| [yj-liuzepeng](https://github.com/yj-liuzepeng) | [代码](https://github.com/pure-admin/vue-pure-admin/commits?author=yj-liuzepeng) |
 | 
				
			||||||
|   [skyline523](https://github.com/skyline523)   | [代码](https://github.com/pure-admin/vue-pure-admin/commits?author=skyline523) |
 | 
					|   [skyline523](https://github.com/skyline523)   |  [代码](https://github.com/pure-admin/vue-pure-admin/commits?author=skyline523)  |
 | 
				
			||||||
| [shark-lajiao](https://github.com/shark-lajiao) | [代码](https://github.com/pure-admin/vue-pure-admin/commits?author=shark-lajiao) |
 | 
					| [shark-lajiao](https://github.com/shark-lajiao) | [代码](https://github.com/pure-admin/vue-pure-admin/commits?author=shark-lajiao) |
 | 
				
			||||||
|      [WitMiao](https://github.com/WitMiao)      | [代码](https://github.com/pure-admin/vue-pure-admin/commits?author=WitMiao) |
 | 
					|      [WitMiao](https://github.com/WitMiao)      |   [代码](https://github.com/pure-admin/vue-pure-admin/commits?author=WitMiao)    |
 | 
				
			||||||
|     [QFifteen](https://github.com/QFifteen)     | [代码](https://github.com/pure-admin/vue-pure-admin/commits?author=QFifteen) |
 | 
					|     [QFifteen](https://github.com/QFifteen)     |   [代码](https://github.com/pure-admin/vue-pure-admin/commits?author=QFifteen)   |
 | 
				
			||||||
|      [edgexie](https://github.com/edgexie)      | [代码](https://github.com/pure-admin/vue-pure-admin/commits?author=edgexie) |
 | 
					|      [edgexie](https://github.com/edgexie)      |   [代码](https://github.com/pure-admin/vue-pure-admin/commits?author=edgexie)    |
 | 
				
			||||||
|       [way-jm](https://github.com/way-jm)       | [代码](https://github.com/pure-admin/vue-pure-admin/commits?author=way-jm) |
 | 
					|       [way-jm](https://github.com/way-jm)       |    [代码](https://github.com/pure-admin/vue-pure-admin/commits?author=way-jm)    |
 | 
				
			||||||
|   [simple-hui](https://github.com/simple-hui)   | [代码](https://github.com/pure-admin/vue-pure-admin/commits?author=simple-hui) |
 | 
					|   [simple-hui](https://github.com/simple-hui)   |  [代码](https://github.com/pure-admin/vue-pure-admin/commits?author=simple-hui)  |
 | 
				
			||||||
 | 
					
 | 
				
			||||||
## `Git` 贡献提交规范
 | 
					## `Git` 贡献提交规范
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
				
			|||||||
@ -7,7 +7,7 @@ import boxen, { type Options as BoxenOptions } from "boxen";
 | 
				
			|||||||
dayjs.extend(duration);
 | 
					dayjs.extend(duration);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
const welcomeMessage = gradient(["cyan", "magenta"]).multiline(
 | 
					const welcomeMessage = gradient(["cyan", "magenta"]).multiline(
 | 
				
			||||||
  `您好! 欢迎使用 pure-admin 开源项目\n我们为您精心准备了下面两个贴心的保姆级文档\nhttps://pure-admin.github.io/pure-admin-doc\nhttps://pure-admin-utils.netlify.app`
 | 
					  `您好! 欢迎使用 pure-admin 开源项目\n我们为您精心准备了下面两个贴心的保姆级文档\nhttps://pure-admin.cn\nhttps://pure-admin-utils.netlify.app`
 | 
				
			||||||
);
 | 
					);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
const boxenOptions: BoxenOptions = {
 | 
					const boxenOptions: BoxenOptions = {
 | 
				
			||||||
 | 
				
			|||||||
@ -54,10 +54,6 @@ const include = [
 | 
				
			|||||||
 * 在预构建中强制排除的依赖项
 | 
					 * 在预构建中强制排除的依赖项
 | 
				
			||||||
 * 温馨提示:所有以 `@iconify-icons/` 开头引入的的本地图标模块,都应该加入到下面的 `exclude` 里,因为平台推荐的使用方式是哪里需要哪里引入而且都是单个的引入,不需要预构建,直接让浏览器加载就好
 | 
					 * 温馨提示:所有以 `@iconify-icons/` 开头引入的的本地图标模块,都应该加入到下面的 `exclude` 里,因为平台推荐的使用方式是哪里需要哪里引入而且都是单个的引入,不需要预构建,直接让浏览器加载就好
 | 
				
			||||||
 */
 | 
					 */
 | 
				
			||||||
const exclude = [
 | 
					const exclude = ["@iconify-icons/ep", "@iconify-icons/ri"];
 | 
				
			||||||
  "@iconify-icons/ep",
 | 
					 | 
				
			||||||
  "@iconify-icons/ri",
 | 
					 | 
				
			||||||
  "@pureadmin/theme/dist/browser-utils"
 | 
					 | 
				
			||||||
];
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
export { include, exclude };
 | 
					export { include, exclude };
 | 
				
			||||||
 | 
				
			|||||||
@ -4,16 +4,13 @@ import { pathResolve } from "./utils";
 | 
				
			|||||||
import { viteBuildInfo } from "./info";
 | 
					import { viteBuildInfo } from "./info";
 | 
				
			||||||
import svgLoader from "vite-svg-loader";
 | 
					import svgLoader from "vite-svg-loader";
 | 
				
			||||||
import type { PluginOption } from "vite";
 | 
					import type { PluginOption } from "vite";
 | 
				
			||||||
import checker from "vite-plugin-checker";
 | 
					 | 
				
			||||||
import vueJsx from "@vitejs/plugin-vue-jsx";
 | 
					import vueJsx from "@vitejs/plugin-vue-jsx";
 | 
				
			||||||
import Inspector from "vite-plugin-vue-inspector";
 | 
					 | 
				
			||||||
import { configCompressPlugin } from "./compress";
 | 
					import { configCompressPlugin } from "./compress";
 | 
				
			||||||
import removeNoMatch from "vite-plugin-router-warn";
 | 
					import removeNoMatch from "vite-plugin-router-warn";
 | 
				
			||||||
import { visualizer } from "rollup-plugin-visualizer";
 | 
					import { visualizer } from "rollup-plugin-visualizer";
 | 
				
			||||||
import removeConsole from "vite-plugin-remove-console";
 | 
					import removeConsole from "vite-plugin-remove-console";
 | 
				
			||||||
import { themePreprocessorPlugin } from "@pureadmin/theme";
 | 
					 | 
				
			||||||
import VueI18nPlugin from "@intlify/unplugin-vue-i18n/vite";
 | 
					import VueI18nPlugin from "@intlify/unplugin-vue-i18n/vite";
 | 
				
			||||||
import { genScssMultipleScopeVars } from "../src/layout/theme";
 | 
					import { codeInspectorPlugin } from "code-inspector-plugin";
 | 
				
			||||||
import { vitePluginFakeServer } from "vite-plugin-fake-server";
 | 
					import { vitePluginFakeServer } from "vite-plugin-fake-server";
 | 
				
			||||||
 | 
					
 | 
				
			||||||
export function getPluginsList(
 | 
					export function getPluginsList(
 | 
				
			||||||
@ -28,18 +25,16 @@ export function getPluginsList(
 | 
				
			|||||||
    VueI18nPlugin({
 | 
					    VueI18nPlugin({
 | 
				
			||||||
      include: [pathResolve("../locales/**")]
 | 
					      include: [pathResolve("../locales/**")]
 | 
				
			||||||
    }),
 | 
					    }),
 | 
				
			||||||
    checker({
 | 
					    /**
 | 
				
			||||||
      typescript: true,
 | 
					     * 在页面上按住组合键时,鼠标在页面移动即会在 DOM 上出现遮罩层并显示相关信息,点击一下将自动打开 IDE 并将光标定位到元素对应的代码位置
 | 
				
			||||||
      vueTsc: true,
 | 
					     * Mac 默认组合键 Option + Shift
 | 
				
			||||||
      eslint: {
 | 
					     * Windows 默认组合键 Alt + Shift
 | 
				
			||||||
        lintCommand: `eslint ${pathResolve("../{src,mock,build}/**/*.{vue,js,ts,tsx}")}`,
 | 
					     * 更多用法看 https://inspector.fe-dev.cn/guide/start.html
 | 
				
			||||||
        useFlatConfig: true
 | 
					     */
 | 
				
			||||||
      },
 | 
					    codeInspectorPlugin({
 | 
				
			||||||
      terminal: false,
 | 
					      bundler: "vite",
 | 
				
			||||||
      enableBuild: false
 | 
					      hideConsole: true
 | 
				
			||||||
    }),
 | 
					    }),
 | 
				
			||||||
    // 按下Command(⌘)+Shift(⇧),然后点击页面元素会自动打开本地IDE并跳转到对应的代码位置
 | 
					 | 
				
			||||||
    Inspector(),
 | 
					 | 
				
			||||||
    viteBuildInfo(),
 | 
					    viteBuildInfo(),
 | 
				
			||||||
    /**
 | 
					    /**
 | 
				
			||||||
     * 开发环境下移除非必要的vue-router动态路由警告No match found for location with path
 | 
					     * 开发环境下移除非必要的vue-router动态路由警告No match found for location with path
 | 
				
			||||||
@ -54,13 +49,6 @@ export function getPluginsList(
 | 
				
			|||||||
      infixName: false,
 | 
					      infixName: false,
 | 
				
			||||||
      enableProd: true
 | 
					      enableProd: true
 | 
				
			||||||
    }),
 | 
					    }),
 | 
				
			||||||
    // 自定义主题
 | 
					 | 
				
			||||||
    themePreprocessorPlugin({
 | 
					 | 
				
			||||||
      scss: {
 | 
					 | 
				
			||||||
        multipleScopeVars: genScssMultipleScopeVars(),
 | 
					 | 
				
			||||||
        extract: true
 | 
					 | 
				
			||||||
      }
 | 
					 | 
				
			||||||
    }),
 | 
					 | 
				
			||||||
    // svg组件化支持
 | 
					    // svg组件化支持
 | 
				
			||||||
    svgLoader(),
 | 
					    svgLoader(),
 | 
				
			||||||
    VITE_CDN ? cdn : null,
 | 
					    VITE_CDN ? cdn : null,
 | 
				
			||||||
 | 
				
			|||||||
@ -94,6 +94,8 @@ export default defineFlatConfig([
 | 
				
			|||||||
      "@typescript-eslint/prefer-as-const": "warn",
 | 
					      "@typescript-eslint/prefer-as-const": "warn",
 | 
				
			||||||
      "@typescript-eslint/no-empty-function": "off",
 | 
					      "@typescript-eslint/no-empty-function": "off",
 | 
				
			||||||
      "@typescript-eslint/no-non-null-assertion": "off",
 | 
					      "@typescript-eslint/no-non-null-assertion": "off",
 | 
				
			||||||
 | 
					      "@typescript-eslint/no-unused-expressions": "off",
 | 
				
			||||||
 | 
					      "@typescript-eslint/no-unsafe-function-type": "off",
 | 
				
			||||||
      "@typescript-eslint/no-import-type-side-effects": "error",
 | 
					      "@typescript-eslint/no-import-type-side-effects": "error",
 | 
				
			||||||
      "@typescript-eslint/explicit-module-boundary-types": "off",
 | 
					      "@typescript-eslint/explicit-module-boundary-types": "off",
 | 
				
			||||||
      "@typescript-eslint/consistent-type-imports": [
 | 
					      "@typescript-eslint/consistent-type-imports": [
 | 
				
			||||||
 | 
				
			|||||||
@ -259,7 +259,7 @@ const frameRouter = {
 | 
				
			|||||||
      children: [
 | 
					      children: [
 | 
				
			||||||
        {
 | 
					        {
 | 
				
			||||||
          path: "/external",
 | 
					          path: "/external",
 | 
				
			||||||
          name: "https://pure-admin.github.io/pure-admin-doc",
 | 
					          name: "https://pure-admin.cn/",
 | 
				
			||||||
          meta: {
 | 
					          meta: {
 | 
				
			||||||
            title: "menus.pureExternalLink",
 | 
					            title: "menus.pureExternalLink",
 | 
				
			||||||
            roles: ["admin", "common"]
 | 
					            roles: ["admin", "common"]
 | 
				
			||||||
 | 
				
			|||||||
@ -430,7 +430,7 @@ export default defineFakeRoute([
 | 
				
			|||||||
            id: 102,
 | 
					            id: 102,
 | 
				
			||||||
            menuType: 2,
 | 
					            menuType: 2,
 | 
				
			||||||
            title: "menus.pureExternalLink",
 | 
					            title: "menus.pureExternalLink",
 | 
				
			||||||
            name: "https://pure-admin.github.io/pure-admin-doc",
 | 
					            name: "https://pure-admin.cn/",
 | 
				
			||||||
            path: "/external",
 | 
					            path: "/external",
 | 
				
			||||||
            component: "",
 | 
					            component: "",
 | 
				
			||||||
            rank: null,
 | 
					            rank: null,
 | 
				
			||||||
 | 
				
			|||||||
							
								
								
									
										105
									
								
								package.json
									
									
									
									
									
								
							
							
						
						
									
										105
									
								
								package.json
									
									
									
									
									
								
							@ -1,6 +1,6 @@
 | 
				
			|||||||
{
 | 
					{
 | 
				
			||||||
  "name": "vue-pure-admin",
 | 
					  "name": "vue-pure-admin",
 | 
				
			||||||
  "version": "5.8.0",
 | 
					  "version": "5.9.0",
 | 
				
			||||||
  "private": true,
 | 
					  "private": true,
 | 
				
			||||||
  "type": "module",
 | 
					  "type": "module",
 | 
				
			||||||
  "scripts": {
 | 
					  "scripts": {
 | 
				
			||||||
@ -54,22 +54,22 @@
 | 
				
			|||||||
    "@logicflow/extension": "^1.2.28",
 | 
					    "@logicflow/extension": "^1.2.28",
 | 
				
			||||||
    "@pureadmin/descriptions": "^1.2.1",
 | 
					    "@pureadmin/descriptions": "^1.2.1",
 | 
				
			||||||
    "@pureadmin/table": "^3.2.1",
 | 
					    "@pureadmin/table": "^3.2.1",
 | 
				
			||||||
    "@pureadmin/utils": "^2.4.8",
 | 
					    "@pureadmin/utils": "^2.5.0",
 | 
				
			||||||
    "@vue-flow/background": "^1.3.0",
 | 
					    "@vue-flow/background": "^1.3.2",
 | 
				
			||||||
    "@vue-flow/core": "^1.41.2",
 | 
					    "@vue-flow/core": "^1.41.6",
 | 
				
			||||||
    "@vueuse/core": "^11.1.0",
 | 
					    "@vueuse/core": "^12.0.0",
 | 
				
			||||||
    "@vueuse/motion": "^2.2.5",
 | 
					    "@vueuse/motion": "^2.2.6",
 | 
				
			||||||
    "@wangeditor/editor": "^5.1.23",
 | 
					    "@wangeditor/editor": "^5.1.23",
 | 
				
			||||||
    "@wangeditor/editor-for-vue": "^5.1.12",
 | 
					    "@wangeditor/editor-for-vue": "^5.1.12",
 | 
				
			||||||
    "@zxcvbn-ts/core": "^3.0.4",
 | 
					    "@zxcvbn-ts/core": "^3.0.4",
 | 
				
			||||||
    "animate.css": "^4.1.1",
 | 
					    "animate.css": "^4.1.1",
 | 
				
			||||||
    "axios": "^1.7.7",
 | 
					    "axios": "^1.7.9",
 | 
				
			||||||
    "china-area-data": "^5.0.1",
 | 
					    "china-area-data": "^5.0.1",
 | 
				
			||||||
    "cropperjs": "^1.6.2",
 | 
					    "cropperjs": "^1.6.2",
 | 
				
			||||||
    "dayjs": "^1.11.13",
 | 
					    "dayjs": "^1.11.13",
 | 
				
			||||||
    "echarts": "^5.5.1",
 | 
					    "echarts": "^5.5.1",
 | 
				
			||||||
    "el-table-infinite-scroll": "^3.0.6",
 | 
					    "el-table-infinite-scroll": "^3.0.6",
 | 
				
			||||||
    "element-plus": "^2.8.5",
 | 
					    "element-plus": "^2.9.0",
 | 
				
			||||||
    "intro.js": "^7.2.0",
 | 
					    "intro.js": "^7.2.0",
 | 
				
			||||||
    "js-cookie": "^3.0.5",
 | 
					    "js-cookie": "^3.0.5",
 | 
				
			||||||
    "jsbarcode": "^3.11.6",
 | 
					    "jsbarcode": "^3.11.6",
 | 
				
			||||||
@ -78,101 +78,100 @@
 | 
				
			|||||||
    "mitt": "^3.0.1",
 | 
					    "mitt": "^3.0.1",
 | 
				
			||||||
    "mqtt": "4.3.7",
 | 
					    "mqtt": "4.3.7",
 | 
				
			||||||
    "nprogress": "^0.2.0",
 | 
					    "nprogress": "^0.2.0",
 | 
				
			||||||
    "path": "^0.12.7",
 | 
					    "path-browserify": "^1.0.1",
 | 
				
			||||||
    "pinia": "^2.2.4",
 | 
					    "pinia": "^2.3.0",
 | 
				
			||||||
    "pinyin-pro": "^3.25.0",
 | 
					    "pinyin-pro": "^3.26.0",
 | 
				
			||||||
    "plus-pro-components": "^0.1.17",
 | 
					    "plus-pro-components": "^0.1.18",
 | 
				
			||||||
    "qrcode": "^1.5.4",
 | 
					    "qrcode": "^1.5.4",
 | 
				
			||||||
    "qs": "^6.13.0",
 | 
					    "qs": "^6.13.1",
 | 
				
			||||||
    "responsive-storage": "^2.2.0",
 | 
					    "responsive-storage": "^2.2.0",
 | 
				
			||||||
    "sortablejs": "^1.15.3",
 | 
					    "sortablejs": "^1.15.6",
 | 
				
			||||||
    "swiper": "^11.1.14",
 | 
					    "swiper": "^11.1.15",
 | 
				
			||||||
    "typeit": "^8.8.5",
 | 
					    "typeit": "^8.8.7",
 | 
				
			||||||
    "v-contextmenu": "^3.2.0",
 | 
					    "v-contextmenu": "^3.2.0",
 | 
				
			||||||
    "v3-infinite-loading": "^1.3.2",
 | 
					    "v3-infinite-loading": "^1.3.2",
 | 
				
			||||||
    "version-rocket": "^1.7.3",
 | 
					    "version-rocket": "^1.7.4",
 | 
				
			||||||
    "vue": "^3.5.12",
 | 
					    "vue": "^3.5.13",
 | 
				
			||||||
    "vue-i18n": "^10.0.4",
 | 
					    "vue-i18n": "^10.0.5",
 | 
				
			||||||
    "vue-json-pretty": "^2.4.0",
 | 
					    "vue-json-pretty": "^2.4.0",
 | 
				
			||||||
    "vue-pdf-embed": "^2.1.0",
 | 
					    "vue-pdf-embed": "^2.1.1",
 | 
				
			||||||
    "vue-router": "^4.4.5",
 | 
					    "vue-router": "^4.5.0",
 | 
				
			||||||
    "vue-tippy": "^6.4.4",
 | 
					    "vue-tippy": "^6.5.0",
 | 
				
			||||||
    "vue-types": "^5.1.3",
 | 
					    "vue-types": "^5.1.3",
 | 
				
			||||||
    "vue-virtual-scroller": "2.0.0-beta.8",
 | 
					    "vue-virtual-scroller": "2.0.0-beta.8",
 | 
				
			||||||
    "vue-waterfall-plugin-next": "^2.6.0",
 | 
					    "vue-waterfall-plugin-next": "^2.6.4",
 | 
				
			||||||
    "vue3-danmaku": "^1.6.1",
 | 
					    "vue3-danmaku": "^1.6.1",
 | 
				
			||||||
    "vue3-puzzle-vcode": "^1.1.7",
 | 
					    "vue3-puzzle-vcode": "^1.1.7",
 | 
				
			||||||
    "vuedraggable": "^4.1.0",
 | 
					    "vuedraggable": "^4.1.0",
 | 
				
			||||||
    "vxe-table": "4.6.21",
 | 
					    "vxe-table": "4.6.25",
 | 
				
			||||||
    "wavesurfer.js": "^7.8.6",
 | 
					    "wavesurfer.js": "^7.8.10",
 | 
				
			||||||
    "xgplayer": "^3.0.20",
 | 
					    "xgplayer": "^3.0.20",
 | 
				
			||||||
    "xlsx": "^0.18.5"
 | 
					    "xlsx": "^0.18.5"
 | 
				
			||||||
  },
 | 
					  },
 | 
				
			||||||
  "devDependencies": {
 | 
					  "devDependencies": {
 | 
				
			||||||
    "@commitlint/cli": "^19.5.0",
 | 
					    "@commitlint/cli": "^19.6.0",
 | 
				
			||||||
    "@commitlint/config-conventional": "^19.5.0",
 | 
					    "@commitlint/config-conventional": "^19.6.0",
 | 
				
			||||||
    "@commitlint/types": "^19.5.0",
 | 
					    "@commitlint/types": "^19.5.0",
 | 
				
			||||||
    "@eslint/js": "^9.12.0",
 | 
					    "@eslint/js": "^9.16.0",
 | 
				
			||||||
    "@faker-js/faker": "^8.4.1",
 | 
					    "@faker-js/faker": "^9.3.0",
 | 
				
			||||||
    "@iconify-icons/ep": "^1.2.12",
 | 
					    "@iconify-icons/ep": "^1.2.12",
 | 
				
			||||||
    "@iconify-icons/ri": "^1.2.10",
 | 
					    "@iconify-icons/ri": "^1.2.10",
 | 
				
			||||||
    "@iconify/vue": "^4.1.2",
 | 
					    "@iconify/vue": "^4.2.0",
 | 
				
			||||||
    "@intlify/unplugin-vue-i18n": "^5.2.0",
 | 
					    "@intlify/unplugin-vue-i18n": "^6.0.1",
 | 
				
			||||||
    "@pureadmin/theme": "^3.3.0",
 | 
					 | 
				
			||||||
    "@types/dagre": "^0.7.52",
 | 
					    "@types/dagre": "^0.7.52",
 | 
				
			||||||
    "@types/intro.js": "^5.1.5",
 | 
					    "@types/intro.js": "^5.1.5",
 | 
				
			||||||
    "@types/js-cookie": "^3.0.6",
 | 
					    "@types/js-cookie": "^3.0.6",
 | 
				
			||||||
    "@types/node": "^20.16.11",
 | 
					    "@types/node": "^20.17.9",
 | 
				
			||||||
    "@types/nprogress": "^0.2.3",
 | 
					    "@types/nprogress": "^0.2.3",
 | 
				
			||||||
 | 
					    "@types/path-browserify": "^1.0.3",
 | 
				
			||||||
    "@types/qrcode": "^1.5.5",
 | 
					    "@types/qrcode": "^1.5.5",
 | 
				
			||||||
    "@types/qs": "^6.9.16",
 | 
					    "@types/qs": "^6.9.17",
 | 
				
			||||||
    "@types/sortablejs": "^1.15.8",
 | 
					    "@types/sortablejs": "^1.15.8",
 | 
				
			||||||
    "@typescript-eslint/eslint-plugin": "^7.18.0",
 | 
					    "@typescript-eslint/eslint-plugin": "^8.18.0",
 | 
				
			||||||
    "@typescript-eslint/parser": "^7.18.0",
 | 
					    "@typescript-eslint/parser": "^8.18.0",
 | 
				
			||||||
    "@vitejs/plugin-vue": "^5.1.4",
 | 
					    "@vitejs/plugin-vue": "^5.2.1",
 | 
				
			||||||
    "@vitejs/plugin-vue-jsx": "^4.0.1",
 | 
					    "@vitejs/plugin-vue-jsx": "^4.1.1",
 | 
				
			||||||
    "autoprefixer": "^10.4.20",
 | 
					    "autoprefixer": "^10.4.20",
 | 
				
			||||||
    "boxen": "^8.0.1",
 | 
					    "boxen": "^8.0.1",
 | 
				
			||||||
 | 
					    "code-inspector-plugin": "^0.18.2",
 | 
				
			||||||
    "cssnano": "^7.0.6",
 | 
					    "cssnano": "^7.0.6",
 | 
				
			||||||
    "dagre": "^0.8.5",
 | 
					    "dagre": "^0.8.5",
 | 
				
			||||||
    "eslint": "^9.12.0",
 | 
					    "eslint": "^9.16.0",
 | 
				
			||||||
    "eslint-config-prettier": "^9.1.0",
 | 
					    "eslint-config-prettier": "^9.1.0",
 | 
				
			||||||
    "eslint-define-config": "^2.1.0",
 | 
					    "eslint-define-config": "^2.1.0",
 | 
				
			||||||
    "eslint-plugin-prettier": "^5.2.1",
 | 
					    "eslint-plugin-prettier": "^5.2.1",
 | 
				
			||||||
    "eslint-plugin-vue": "^9.29.0",
 | 
					    "eslint-plugin-vue": "^9.32.0",
 | 
				
			||||||
    "gradient-string": "^3.0.0",
 | 
					    "gradient-string": "^3.0.0",
 | 
				
			||||||
    "husky": "^9.1.6",
 | 
					    "husky": "^9.1.7",
 | 
				
			||||||
    "lint-staged": "^15.2.10",
 | 
					    "lint-staged": "^15.2.10",
 | 
				
			||||||
    "postcss": "^8.4.47",
 | 
					    "postcss": "^8.4.49",
 | 
				
			||||||
    "postcss-html": "^1.7.0",
 | 
					    "postcss-html": "^1.7.0",
 | 
				
			||||||
    "postcss-import": "^16.1.0",
 | 
					    "postcss-import": "^16.1.0",
 | 
				
			||||||
    "postcss-scss": "^4.0.9",
 | 
					    "postcss-scss": "^4.0.9",
 | 
				
			||||||
    "prettier": "^3.3.3",
 | 
					    "prettier": "^3.4.2",
 | 
				
			||||||
    "rimraf": "^6.0.1",
 | 
					    "rimraf": "^6.0.1",
 | 
				
			||||||
    "rollup-plugin-visualizer": "^5.12.0",
 | 
					    "rollup-plugin-visualizer": "^5.12.0",
 | 
				
			||||||
    "sass": "^1.79.5",
 | 
					    "sass": "^1.82.0",
 | 
				
			||||||
    "stylelint": "^16.10.0",
 | 
					    "stylelint": "^16.11.0",
 | 
				
			||||||
    "stylelint-config-recess-order": "^5.1.1",
 | 
					    "stylelint-config-recess-order": "^5.1.1",
 | 
				
			||||||
    "stylelint-config-recommended-vue": "^1.5.0",
 | 
					    "stylelint-config-recommended-vue": "^1.5.0",
 | 
				
			||||||
    "stylelint-config-standard-scss": "^13.1.0",
 | 
					    "stylelint-config-standard-scss": "^13.1.0",
 | 
				
			||||||
    "stylelint-prettier": "^5.0.2",
 | 
					    "stylelint-prettier": "^5.0.2",
 | 
				
			||||||
    "svgo": "^3.3.2",
 | 
					    "svgo": "^3.3.2",
 | 
				
			||||||
    "tailwindcss": "^3.4.13",
 | 
					    "tailwindcss": "^3.4.16",
 | 
				
			||||||
    "typescript": "^5.6.3",
 | 
					    "typescript": "5.6.3",
 | 
				
			||||||
    "vite": "^5.4.8",
 | 
					    "vite": "^6.0.3",
 | 
				
			||||||
    "vite-plugin-cdn-import": "^1.0.1",
 | 
					    "vite-plugin-cdn-import": "^1.0.1",
 | 
				
			||||||
    "vite-plugin-checker": "^0.8.0",
 | 
					 | 
				
			||||||
    "vite-plugin-compression": "^0.5.1",
 | 
					    "vite-plugin-compression": "^0.5.1",
 | 
				
			||||||
    "vite-plugin-fake-server": "^2.1.2",
 | 
					    "vite-plugin-fake-server": "^2.1.4",
 | 
				
			||||||
    "vite-plugin-remove-console": "^2.2.0",
 | 
					    "vite-plugin-remove-console": "^2.2.0",
 | 
				
			||||||
    "vite-plugin-router-warn": "^1.0.0",
 | 
					    "vite-plugin-router-warn": "^1.0.0",
 | 
				
			||||||
    "vite-plugin-vue-inspector": "^5.2.0",
 | 
					 | 
				
			||||||
    "vite-svg-loader": "^5.1.0",
 | 
					    "vite-svg-loader": "^5.1.0",
 | 
				
			||||||
    "vue-eslint-parser": "^9.4.3",
 | 
					    "vue-eslint-parser": "^9.4.3",
 | 
				
			||||||
    "vue-tsc": "^2.1.6"
 | 
					    "vue-tsc": "^2.1.10"
 | 
				
			||||||
  },
 | 
					  },
 | 
				
			||||||
  "engines": {
 | 
					  "engines": {
 | 
				
			||||||
    "node": "^18.18.0 || ^20.9.0 || >=21.1.0",
 | 
					    "node": "^18.18.0 || ^20.9.0 || >=22.0.0",
 | 
				
			||||||
    "pnpm": ">=9"
 | 
					    "pnpm": ">=9"
 | 
				
			||||||
  },
 | 
					  },
 | 
				
			||||||
  "pnpm": {
 | 
					  "pnpm": {
 | 
				
			||||||
 | 
				
			|||||||
							
								
								
									
										5301
									
								
								pnpm-lock.yaml
									
									
									
										generated
									
									
									
								
							
							
						
						
									
										5301
									
								
								pnpm-lock.yaml
									
									
									
										generated
									
									
									
								
							
										
											
												File diff suppressed because it is too large
												Load Diff
											
										
									
								
							@ -1,5 +1,5 @@
 | 
				
			|||||||
{
 | 
					{
 | 
				
			||||||
  "Version": "5.8.0",
 | 
					  "Version": "5.9.0",
 | 
				
			||||||
  "Title": "PureAdmin",
 | 
					  "Title": "PureAdmin",
 | 
				
			||||||
  "FixedHeader": true,
 | 
					  "FixedHeader": true,
 | 
				
			||||||
  "HiddenSideBar": false,
 | 
					  "HiddenSideBar": false,
 | 
				
			||||||
 | 
				
			|||||||
@ -4,7 +4,7 @@ import { IconifyIconOnline, IconifyIconOffline, FontIcon } from "../index";
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
/**
 | 
					/**
 | 
				
			||||||
 * 支持 `iconfont`、自定义 `svg` 以及 `iconify` 中所有的图标
 | 
					 * 支持 `iconfont`、自定义 `svg` 以及 `iconify` 中所有的图标
 | 
				
			||||||
 * @see 点击查看文档图标篇 {@link https://pure-admin.github.io/pure-admin-doc/pages/icon/}
 | 
					 * @see 点击查看文档图标篇 {@link https://pure-admin.cn/pages/icon/}
 | 
				
			||||||
 * @param icon 必传 图标
 | 
					 * @param icon 必传 图标
 | 
				
			||||||
 * @param attrs 可选 iconType 属性
 | 
					 * @param attrs 可选 iconType 属性
 | 
				
			||||||
 * @returns Component
 | 
					 * @returns Component
 | 
				
			||||||
 | 
				
			|||||||
@ -6,7 +6,7 @@ export interface OptionsType {
 | 
				
			|||||||
  label?: string | (() => VNode | Component);
 | 
					  label?: string | (() => VNode | Component);
 | 
				
			||||||
  /**
 | 
					  /**
 | 
				
			||||||
   * @description 图标,采用平台内置的 `useRenderIcon` 函数渲染
 | 
					   * @description 图标,采用平台内置的 `useRenderIcon` 函数渲染
 | 
				
			||||||
   * @see {@link 用法参考 https://pure-admin.github.io/pure-admin-doc/pages/icon/#%E9%80%9A%E7%94%A8%E5%9B%BE%E6%A0%87-userendericon-hooks }
 | 
					   * @see {@link 用法参考 https://pure-admin.cn/pages/icon/#%E9%80%9A%E7%94%A8%E5%9B%BE%E6%A0%87-userendericon-hooks }
 | 
				
			||||||
   */
 | 
					   */
 | 
				
			||||||
  icon?: string | Component;
 | 
					  icon?: string | Component;
 | 
				
			||||||
  /** 图标属性、样式配置 */
 | 
					  /** 图标属性、样式配置 */
 | 
				
			||||||
 | 
				
			|||||||
@ -14,7 +14,6 @@ import { emitter } from "@/utils/mitt";
 | 
				
			|||||||
import LayPanel from "../lay-panel/index.vue";
 | 
					import LayPanel from "../lay-panel/index.vue";
 | 
				
			||||||
import { useNav } from "@/layout/hooks/useNav";
 | 
					import { useNav } from "@/layout/hooks/useNav";
 | 
				
			||||||
import { useAppStoreHook } from "@/store/modules/app";
 | 
					import { useAppStoreHook } from "@/store/modules/app";
 | 
				
			||||||
import { toggleTheme } from "@pureadmin/theme/dist/browser-utils";
 | 
					 | 
				
			||||||
import { useMultiTagsStoreHook } from "@/store/modules/multiTags";
 | 
					import { useMultiTagsStoreHook } from "@/store/modules/multiTags";
 | 
				
			||||||
import Segmented, { type OptionsType } from "@/components/ReSegmented";
 | 
					import Segmented, { type OptionsType } from "@/components/ReSegmented";
 | 
				
			||||||
import { useDataThemeChange } from "@/layout/hooks/useDataThemeChange";
 | 
					import { useDataThemeChange } from "@/layout/hooks/useDataThemeChange";
 | 
				
			||||||
@ -50,9 +49,7 @@ const {
 | 
				
			|||||||
if (unref(layoutTheme)) {
 | 
					if (unref(layoutTheme)) {
 | 
				
			||||||
  const layout = unref(layoutTheme).layout;
 | 
					  const layout = unref(layoutTheme).layout;
 | 
				
			||||||
  const theme = unref(layoutTheme).theme;
 | 
					  const theme = unref(layoutTheme).theme;
 | 
				
			||||||
  toggleTheme({
 | 
					  document.documentElement.setAttribute("data-theme", theme);
 | 
				
			||||||
    scopeName: `layout-theme-${theme}`
 | 
					 | 
				
			||||||
  });
 | 
					 | 
				
			||||||
  setLayoutModel(layout);
 | 
					  setLayoutModel(layout);
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
				
			|||||||
@ -1,6 +1,6 @@
 | 
				
			|||||||
<script setup lang="ts">
 | 
					<script setup lang="ts">
 | 
				
			||||||
import path from "path";
 | 
					 | 
				
			||||||
import { getConfig } from "@/config";
 | 
					import { getConfig } from "@/config";
 | 
				
			||||||
 | 
					import { posix } from "path-browserify";
 | 
				
			||||||
import { menuType } from "@/layout/types";
 | 
					import { menuType } from "@/layout/types";
 | 
				
			||||||
import { ReText } from "@/components/ReText";
 | 
					import { ReText } from "@/components/ReText";
 | 
				
			||||||
import { useNav } from "@/layout/hooks/useNav";
 | 
					import { useNav } from "@/layout/hooks/useNav";
 | 
				
			||||||
@ -99,8 +99,7 @@ function resolvePath(routePath) {
 | 
				
			|||||||
  if (httpReg.test(routePath) || httpReg.test(props.basePath)) {
 | 
					  if (httpReg.test(routePath) || httpReg.test(props.basePath)) {
 | 
				
			||||||
    return routePath || props.basePath;
 | 
					    return routePath || props.basePath;
 | 
				
			||||||
  } else {
 | 
					  } else {
 | 
				
			||||||
    // 使用path.posix.resolve替代path.resolve 避免windows环境下使用electron出现盘符问题
 | 
					    return posix.resolve(props.basePath, routePath);
 | 
				
			||||||
    return path.posix.resolve(props.basePath, routePath);
 | 
					 | 
				
			||||||
  }
 | 
					  }
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
</script>
 | 
					</script>
 | 
				
			||||||
 | 
				
			|||||||
@ -63,7 +63,7 @@ const { title, getLogo } = useNav();
 | 
				
			|||||||
      font-size: 18px;
 | 
					      font-size: 18px;
 | 
				
			||||||
      font-weight: 600;
 | 
					      font-weight: 600;
 | 
				
			||||||
      line-height: 32px;
 | 
					      line-height: 32px;
 | 
				
			||||||
      color: $subMenuActiveText;
 | 
					      color: var(--pure-theme-sub-menu-active-text);
 | 
				
			||||||
      text-overflow: ellipsis;
 | 
					      text-overflow: ellipsis;
 | 
				
			||||||
      white-space: nowrap;
 | 
					      white-space: nowrap;
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
 | 
				
			|||||||
@ -6,14 +6,9 @@ import { routerArrays } from "@/layout/types";
 | 
				
			|||||||
import { router, resetRouter } from "@/router";
 | 
					import { router, resetRouter } from "@/router";
 | 
				
			||||||
import type { themeColorsType } from "../types";
 | 
					import type { themeColorsType } from "../types";
 | 
				
			||||||
import { useAppStoreHook } from "@/store/modules/app";
 | 
					import { useAppStoreHook } from "@/store/modules/app";
 | 
				
			||||||
import { useGlobal, storageLocal } from "@pureadmin/utils";
 | 
					 | 
				
			||||||
import { useEpThemeStoreHook } from "@/store/modules/epTheme";
 | 
					import { useEpThemeStoreHook } from "@/store/modules/epTheme";
 | 
				
			||||||
import { useMultiTagsStoreHook } from "@/store/modules/multiTags";
 | 
					import { useMultiTagsStoreHook } from "@/store/modules/multiTags";
 | 
				
			||||||
import {
 | 
					import { darken, lighten, useGlobal, storageLocal } from "@pureadmin/utils";
 | 
				
			||||||
  darken,
 | 
					 | 
				
			||||||
  lighten,
 | 
					 | 
				
			||||||
  toggleTheme
 | 
					 | 
				
			||||||
} from "@pureadmin/theme/dist/browser-utils";
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
export function useDataThemeChange() {
 | 
					export function useDataThemeChange() {
 | 
				
			||||||
  const { layoutTheme, layout } = useLayout();
 | 
					  const { layoutTheme, layout } = useLayout();
 | 
				
			||||||
@ -54,9 +49,7 @@ export function useDataThemeChange() {
 | 
				
			|||||||
    isClick = true
 | 
					    isClick = true
 | 
				
			||||||
  ) {
 | 
					  ) {
 | 
				
			||||||
    layoutTheme.value.theme = theme;
 | 
					    layoutTheme.value.theme = theme;
 | 
				
			||||||
    toggleTheme({
 | 
					    document.documentElement.setAttribute("data-theme", theme);
 | 
				
			||||||
      scopeName: `layout-theme-${theme}`
 | 
					 | 
				
			||||||
    });
 | 
					 | 
				
			||||||
    // 如果非isClick,保留之前的themeColor
 | 
					    // 如果非isClick,保留之前的themeColor
 | 
				
			||||||
    const storageThemeColor = $storage.layout.themeColor;
 | 
					    const storageThemeColor = $storage.layout.themeColor;
 | 
				
			||||||
    $storage.layout = {
 | 
					    $storage.layout = {
 | 
				
			||||||
 | 
				
			|||||||
@ -1,129 +0,0 @@
 | 
				
			|||||||
/**
 | 
					 | 
				
			||||||
 * @description ⚠️:此文件仅供主题插件使用,请不要在此文件中导出别的工具函数(仅在页面加载前运行)
 | 
					 | 
				
			||||||
 */
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
import type { multipleScopeVarsOptions } from "@pureadmin/theme";
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
/** 预设主题色 */
 | 
					 | 
				
			||||||
const themeColors = {
 | 
					 | 
				
			||||||
  /* 亮白色 */
 | 
					 | 
				
			||||||
  light: {
 | 
					 | 
				
			||||||
    subMenuActiveText: "#000000d9",
 | 
					 | 
				
			||||||
    menuBg: "#fff",
 | 
					 | 
				
			||||||
    menuHover: "#f6f6f6",
 | 
					 | 
				
			||||||
    subMenuBg: "#fff",
 | 
					 | 
				
			||||||
    subMenuActiveBg: "#e0ebf6",
 | 
					 | 
				
			||||||
    menuText: "rgb(0 0 0 / 60%)",
 | 
					 | 
				
			||||||
    sidebarLogo: "#fff",
 | 
					 | 
				
			||||||
    menuTitleHover: "#000",
 | 
					 | 
				
			||||||
    menuActiveBefore: "#4091f7"
 | 
					 | 
				
			||||||
  },
 | 
					 | 
				
			||||||
  /* 道奇蓝 */
 | 
					 | 
				
			||||||
  default: {
 | 
					 | 
				
			||||||
    subMenuActiveText: "#fff",
 | 
					 | 
				
			||||||
    menuBg: "#001529",
 | 
					 | 
				
			||||||
    menuHover: "rgb(64 145 247 / 15%)",
 | 
					 | 
				
			||||||
    subMenuBg: "#0f0303",
 | 
					 | 
				
			||||||
    subMenuActiveBg: "#4091f7",
 | 
					 | 
				
			||||||
    menuText: "rgb(254 254 254 / 65%)",
 | 
					 | 
				
			||||||
    sidebarLogo: "#002140",
 | 
					 | 
				
			||||||
    menuTitleHover: "#fff",
 | 
					 | 
				
			||||||
    menuActiveBefore: "#4091f7"
 | 
					 | 
				
			||||||
  },
 | 
					 | 
				
			||||||
  /* 深紫罗兰色 */
 | 
					 | 
				
			||||||
  saucePurple: {
 | 
					 | 
				
			||||||
    subMenuActiveText: "#fff",
 | 
					 | 
				
			||||||
    menuBg: "#130824",
 | 
					 | 
				
			||||||
    menuHover: "rgb(105 58 201 / 15%)",
 | 
					 | 
				
			||||||
    subMenuBg: "#000",
 | 
					 | 
				
			||||||
    subMenuActiveBg: "#693ac9",
 | 
					 | 
				
			||||||
    menuText: "#7a80b4",
 | 
					 | 
				
			||||||
    sidebarLogo: "#1f0c38",
 | 
					 | 
				
			||||||
    menuTitleHover: "#fff",
 | 
					 | 
				
			||||||
    menuActiveBefore: "#693ac9"
 | 
					 | 
				
			||||||
  },
 | 
					 | 
				
			||||||
  /* 深粉色 */
 | 
					 | 
				
			||||||
  pink: {
 | 
					 | 
				
			||||||
    subMenuActiveText: "#fff",
 | 
					 | 
				
			||||||
    menuBg: "#28081a",
 | 
					 | 
				
			||||||
    menuHover: "rgb(216 68 147 / 15%)",
 | 
					 | 
				
			||||||
    subMenuBg: "#000",
 | 
					 | 
				
			||||||
    subMenuActiveBg: "#d84493",
 | 
					 | 
				
			||||||
    menuText: "#7a80b4",
 | 
					 | 
				
			||||||
    sidebarLogo: "#3f0d29",
 | 
					 | 
				
			||||||
    menuTitleHover: "#fff",
 | 
					 | 
				
			||||||
    menuActiveBefore: "#d84493"
 | 
					 | 
				
			||||||
  },
 | 
					 | 
				
			||||||
  /* 猩红色 */
 | 
					 | 
				
			||||||
  dusk: {
 | 
					 | 
				
			||||||
    subMenuActiveText: "#fff",
 | 
					 | 
				
			||||||
    menuBg: "#2a0608",
 | 
					 | 
				
			||||||
    menuHover: "rgb(225 60 57 / 15%)",
 | 
					 | 
				
			||||||
    subMenuBg: "#000",
 | 
					 | 
				
			||||||
    subMenuActiveBg: "#e13c39",
 | 
					 | 
				
			||||||
    menuText: "rgb(254 254 254 / 65.1%)",
 | 
					 | 
				
			||||||
    sidebarLogo: "#42090c",
 | 
					 | 
				
			||||||
    menuTitleHover: "#fff",
 | 
					 | 
				
			||||||
    menuActiveBefore: "#e13c39"
 | 
					 | 
				
			||||||
  },
 | 
					 | 
				
			||||||
  /* 橙红色 */
 | 
					 | 
				
			||||||
  volcano: {
 | 
					 | 
				
			||||||
    subMenuActiveText: "#fff",
 | 
					 | 
				
			||||||
    menuBg: "#2b0e05",
 | 
					 | 
				
			||||||
    menuHover: "rgb(232 95 51 / 15%)",
 | 
					 | 
				
			||||||
    subMenuBg: "#0f0603",
 | 
					 | 
				
			||||||
    subMenuActiveBg: "#e85f33",
 | 
					 | 
				
			||||||
    menuText: "rgb(254 254 254 / 65%)",
 | 
					 | 
				
			||||||
    sidebarLogo: "#441708",
 | 
					 | 
				
			||||||
    menuTitleHover: "#fff",
 | 
					 | 
				
			||||||
    menuActiveBefore: "#e85f33"
 | 
					 | 
				
			||||||
  },
 | 
					 | 
				
			||||||
  /* 绿宝石 */
 | 
					 | 
				
			||||||
  mingQing: {
 | 
					 | 
				
			||||||
    subMenuActiveText: "#fff",
 | 
					 | 
				
			||||||
    menuBg: "#032121",
 | 
					 | 
				
			||||||
    menuHover: "rgb(89 191 193 / 15%)",
 | 
					 | 
				
			||||||
    subMenuBg: "#000",
 | 
					 | 
				
			||||||
    subMenuActiveBg: "#59bfc1",
 | 
					 | 
				
			||||||
    menuText: "#7a80b4",
 | 
					 | 
				
			||||||
    sidebarLogo: "#053434",
 | 
					 | 
				
			||||||
    menuTitleHover: "#fff",
 | 
					 | 
				
			||||||
    menuActiveBefore: "#59bfc1"
 | 
					 | 
				
			||||||
  },
 | 
					 | 
				
			||||||
  /* 酸橙绿 */
 | 
					 | 
				
			||||||
  auroraGreen: {
 | 
					 | 
				
			||||||
    subMenuActiveText: "#fff",
 | 
					 | 
				
			||||||
    menuBg: "#0b1e15",
 | 
					 | 
				
			||||||
    menuHover: "rgb(96 172 128 / 15%)",
 | 
					 | 
				
			||||||
    subMenuBg: "#000",
 | 
					 | 
				
			||||||
    subMenuActiveBg: "#60ac80",
 | 
					 | 
				
			||||||
    menuText: "#7a80b4",
 | 
					 | 
				
			||||||
    sidebarLogo: "#112f21",
 | 
					 | 
				
			||||||
    menuTitleHover: "#fff",
 | 
					 | 
				
			||||||
    menuActiveBefore: "#60ac80"
 | 
					 | 
				
			||||||
  }
 | 
					 | 
				
			||||||
};
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
/**
 | 
					 | 
				
			||||||
 * @description 将预设主题色处理成主题插件所需格式
 | 
					 | 
				
			||||||
 */
 | 
					 | 
				
			||||||
export const genScssMultipleScopeVars = (): multipleScopeVarsOptions[] => {
 | 
					 | 
				
			||||||
  const result = [] as multipleScopeVarsOptions[];
 | 
					 | 
				
			||||||
  Object.keys(themeColors).forEach(key => {
 | 
					 | 
				
			||||||
    result.push({
 | 
					 | 
				
			||||||
      scopeName: `layout-theme-${key}`,
 | 
					 | 
				
			||||||
      varsContent: `
 | 
					 | 
				
			||||||
        $subMenuActiveText: ${themeColors[key].subMenuActiveText} !default;
 | 
					 | 
				
			||||||
        $menuBg: ${themeColors[key].menuBg} !default;
 | 
					 | 
				
			||||||
        $menuHover: ${themeColors[key].menuHover} !default;
 | 
					 | 
				
			||||||
        $subMenuBg: ${themeColors[key].subMenuBg} !default;
 | 
					 | 
				
			||||||
        $subMenuActiveBg: ${themeColors[key].subMenuActiveBg} !default;
 | 
					 | 
				
			||||||
        $menuText: ${themeColors[key].menuText} !default;
 | 
					 | 
				
			||||||
        $sidebarLogo: ${themeColors[key].sidebarLogo} !default;
 | 
					 | 
				
			||||||
        $menuTitleHover: ${themeColors[key].menuTitleHover} !default;
 | 
					 | 
				
			||||||
        $menuActiveBefore: ${themeColors[key].menuActiveBefore} !default;
 | 
					 | 
				
			||||||
      `
 | 
					 | 
				
			||||||
    } as multipleScopeVarsOptions);
 | 
					 | 
				
			||||||
  });
 | 
					 | 
				
			||||||
  return result;
 | 
					 | 
				
			||||||
};
 | 
					 | 
				
			||||||
@ -1,7 +1,8 @@
 | 
				
			|||||||
@import "./transition";
 | 
					@use "theme";
 | 
				
			||||||
@import "./element-plus";
 | 
					@use "transition";
 | 
				
			||||||
@import "./sidebar";
 | 
					@use "element-plus";
 | 
				
			||||||
@import "./dark";
 | 
					@use "sidebar";
 | 
				
			||||||
 | 
					@use "dark";
 | 
				
			||||||
 | 
					
 | 
				
			||||||
/* 自定义全局 CssVar */
 | 
					/* 自定义全局 CssVar */
 | 
				
			||||||
:root {
 | 
					:root {
 | 
				
			||||||
@ -13,6 +14,16 @@
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
  /* switch关闭状态下的color 需要时可取用 */
 | 
					  /* switch关闭状态下的color 需要时可取用 */
 | 
				
			||||||
  --pure-switch-off-color: #a6a6a6;
 | 
					  --pure-switch-off-color: #a6a6a6;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  /** 主题色 */
 | 
				
			||||||
 | 
					  --pure-theme-sub-menu-active-text: initial;
 | 
				
			||||||
 | 
					  --pure-theme-menu-bg: none;
 | 
				
			||||||
 | 
					  --pure-theme-menu-hover: none;
 | 
				
			||||||
 | 
					  --pure-theme-sub-menu-bg: transparent;
 | 
				
			||||||
 | 
					  --pure-theme-menu-text: initial;
 | 
				
			||||||
 | 
					  --pure-theme-sidebar-logo: none;
 | 
				
			||||||
 | 
					  --pure-theme-menu-title-hover: initial;
 | 
				
			||||||
 | 
					  --pure-theme-menu-active-before: transparent;
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
/* 灰色模式 */
 | 
					/* 灰色模式 */
 | 
				
			||||||
 | 
				
			|||||||
@ -1,7 +1,5 @@
 | 
				
			|||||||
/* $sideBarWidth: vertical 模式下主体内容距离网页文档左侧的距离 */
 | 
					/* $sideBarWidth: vertical 模式下主体内容距离网页文档左侧的距离 */
 | 
				
			||||||
@mixin merge-style($sideBarWidth) {
 | 
					@mixin merge-style($sideBarWidth) {
 | 
				
			||||||
  $menuActiveText: #7a80b4;
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
  @media screen and (width >= 150px) and (width <= 420px) {
 | 
					  @media screen and (width >= 150px) and (width <= 420px) {
 | 
				
			||||||
    .app-main-nofixed-header {
 | 
					    .app-main-nofixed-header {
 | 
				
			||||||
      overflow-y: hidden;
 | 
					      overflow-y: hidden;
 | 
				
			||||||
@ -94,7 +92,7 @@
 | 
				
			|||||||
    height: 100%;
 | 
					    height: 100%;
 | 
				
			||||||
    overflow: visible;
 | 
					    overflow: visible;
 | 
				
			||||||
    font-size: 0;
 | 
					    font-size: 0;
 | 
				
			||||||
    background: $menuBg;
 | 
					    background: var(--pure-theme-menu-bg) !important;
 | 
				
			||||||
    border-right: 1px solid var(--pure-border-color);
 | 
					    border-right: 1px solid var(--pure-border-color);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    /* 展开动画 */
 | 
					    /* 展开动画 */
 | 
				
			||||||
@ -150,11 +148,11 @@
 | 
				
			|||||||
    .el-menu-item,
 | 
					    .el-menu-item,
 | 
				
			||||||
    .el-sub-menu__title {
 | 
					    .el-sub-menu__title {
 | 
				
			||||||
      height: 50px;
 | 
					      height: 50px;
 | 
				
			||||||
      color: $menuText;
 | 
					      color: var(--pure-theme-menu-text);
 | 
				
			||||||
      background-color: transparent !important;
 | 
					      background-color: transparent !important;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
      &:hover {
 | 
					      &:hover {
 | 
				
			||||||
        color: $menuTitleHover !important;
 | 
					        color: var(--pure-theme-menu-title-hover) !important;
 | 
				
			||||||
      }
 | 
					      }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
      div,
 | 
					      div,
 | 
				
			||||||
@ -173,15 +171,15 @@
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
    .is-active > .el-sub-menu__title,
 | 
					    .is-active > .el-sub-menu__title,
 | 
				
			||||||
    .is-active.submenu-title-noDropdown {
 | 
					    .is-active.submenu-title-noDropdown {
 | 
				
			||||||
      color: $subMenuActiveText !important;
 | 
					      color: var(--pure-theme-sub-menu-active-text) !important;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
      i {
 | 
					      i {
 | 
				
			||||||
        color: $subMenuActiveText !important;
 | 
					        color: var(--pure-theme-sub-menu-active-text) !important;
 | 
				
			||||||
      }
 | 
					      }
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    .is-active {
 | 
					    .is-active {
 | 
				
			||||||
      color: $subMenuActiveText !important;
 | 
					      color: var(--pure-theme-sub-menu-active-text) !important;
 | 
				
			||||||
      transition: color 0.3s;
 | 
					      transition: color 0.3s;
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@ -204,7 +202,7 @@
 | 
				
			|||||||
    & .el-sub-menu .el-menu-item {
 | 
					    & .el-sub-menu .el-menu-item {
 | 
				
			||||||
      min-width: $sideBarWidth !important;
 | 
					      min-width: $sideBarWidth !important;
 | 
				
			||||||
      font-size: 14px;
 | 
					      font-size: 14px;
 | 
				
			||||||
      background-color: $subMenuBg !important;
 | 
					      background-color: var(--pure-theme-sub-menu-bg) !important;
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    /* 有子集的激活菜单左侧小竖条 */
 | 
					    /* 有子集的激活菜单左侧小竖条 */
 | 
				
			||||||
@ -218,7 +216,7 @@
 | 
				
			|||||||
      height: 100%;
 | 
					      height: 100%;
 | 
				
			||||||
      clear: both;
 | 
					      clear: both;
 | 
				
			||||||
      content: "";
 | 
					      content: "";
 | 
				
			||||||
      background-color: $menuActiveBefore;
 | 
					      background-color: var(--pure-theme-menu-active-before);
 | 
				
			||||||
      transition: all var(--pure-transition-duration) ease-in-out;
 | 
					      transition: all var(--pure-transition-duration) ease-in-out;
 | 
				
			||||||
      transform: translateY(0);
 | 
					      transform: translateY(0);
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
@ -254,7 +252,7 @@
 | 
				
			|||||||
  /* vertical 菜单折叠 */
 | 
					  /* vertical 菜单折叠 */
 | 
				
			||||||
  .el-menu--vertical {
 | 
					  .el-menu--vertical {
 | 
				
			||||||
    .el-menu--popup {
 | 
					    .el-menu--popup {
 | 
				
			||||||
      background-color: $subMenuBg !important;
 | 
					      background-color: var(--pure-theme-sub-menu-bg) !important;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
      .el-menu-item {
 | 
					      .el-menu-item {
 | 
				
			||||||
        span {
 | 
					        span {
 | 
				
			||||||
@ -272,10 +270,10 @@
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
    .is-active > .el-sub-menu__title,
 | 
					    .is-active > .el-sub-menu__title,
 | 
				
			||||||
    .is-active.submenu-title-noDropdown {
 | 
					    .is-active.submenu-title-noDropdown {
 | 
				
			||||||
      color: $subMenuActiveText !important;
 | 
					      color: var(--pure-theme-sub-menu-active-text) !important;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
      i {
 | 
					      i {
 | 
				
			||||||
        color: $subMenuActiveText !important;
 | 
					        color: var(--pure-theme-sub-menu-active-text) !important;
 | 
				
			||||||
      }
 | 
					      }
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@ -283,23 +281,23 @@
 | 
				
			|||||||
    .el-menu .el-sub-menu__title {
 | 
					    .el-menu .el-sub-menu__title {
 | 
				
			||||||
      min-width: $sideBarWidth !important;
 | 
					      min-width: $sideBarWidth !important;
 | 
				
			||||||
      font-size: 14px;
 | 
					      font-size: 14px;
 | 
				
			||||||
      background-color: $subMenuBg !important;
 | 
					      background-color: var(--pure-theme-sub-menu-bg) !important;
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    .el-menu-item,
 | 
					    .el-menu-item,
 | 
				
			||||||
    .el-sub-menu__title {
 | 
					    .el-sub-menu__title {
 | 
				
			||||||
      height: 50px;
 | 
					      height: 50px;
 | 
				
			||||||
      line-height: 50px;
 | 
					      line-height: 50px;
 | 
				
			||||||
      color: $menuText;
 | 
					      color: var(--pure-theme-menu-text);
 | 
				
			||||||
      background-color: $subMenuBg;
 | 
					      background-color: var(--pure-theme-sub-menu-bg);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
      &:hover {
 | 
					      &:hover {
 | 
				
			||||||
        color: $menuTitleHover !important;
 | 
					        color: var(--pure-theme-menu-title-hover) !important;
 | 
				
			||||||
      }
 | 
					      }
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    .is-active {
 | 
					    .is-active {
 | 
				
			||||||
      color: $subMenuActiveText !important;
 | 
					      color: var(--pure-theme-sub-menu-active-text) !important;
 | 
				
			||||||
      transition: color 0.3s;
 | 
					      transition: color 0.3s;
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@ -343,15 +341,15 @@
 | 
				
			|||||||
    }
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    .el-menu--popup {
 | 
					    .el-menu--popup {
 | 
				
			||||||
      background-color: $subMenuBg !important;
 | 
					      background-color: var(--pure-theme-sub-menu-bg) !important;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
      a > .is-active.submenu-title-noDropdown {
 | 
					      a > .is-active.submenu-title-noDropdown {
 | 
				
			||||||
        border-bottom: none;
 | 
					        border-bottom: none;
 | 
				
			||||||
      }
 | 
					      }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
      .el-menu-item {
 | 
					      .el-menu-item {
 | 
				
			||||||
        color: $menuText;
 | 
					        color: var(--pure-theme-menu-text);
 | 
				
			||||||
        background-color: $subMenuBg;
 | 
					        background-color: var(--pure-theme-sub-menu-bg);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        span {
 | 
					        span {
 | 
				
			||||||
          font-size: 14px;
 | 
					          font-size: 14px;
 | 
				
			||||||
@ -359,7 +357,7 @@
 | 
				
			|||||||
      }
 | 
					      }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
      .el-sub-menu__title {
 | 
					      .el-sub-menu__title {
 | 
				
			||||||
        color: $menuText;
 | 
					        color: var(--pure-theme-menu-text);
 | 
				
			||||||
      }
 | 
					      }
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@ -367,31 +365,31 @@
 | 
				
			|||||||
    .el-menu .el-sub-menu__title {
 | 
					    .el-menu .el-sub-menu__title {
 | 
				
			||||||
      min-width: $sideBarWidth !important;
 | 
					      min-width: $sideBarWidth !important;
 | 
				
			||||||
      font-size: 14px;
 | 
					      font-size: 14px;
 | 
				
			||||||
      background-color: $subMenuBg !important;
 | 
					      background-color: var(--pure-theme-sub-menu-bg) !important;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
      &:hover {
 | 
					      &:hover {
 | 
				
			||||||
        color: $menuTitleHover !important;
 | 
					        color: var(--pure-theme-menu-title-hover) !important;
 | 
				
			||||||
      }
 | 
					      }
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    .is-active > .el-sub-menu__title,
 | 
					    .is-active > .el-sub-menu__title,
 | 
				
			||||||
    .is-active.submenu-title-noDropdown {
 | 
					    .is-active.submenu-title-noDropdown {
 | 
				
			||||||
      color: $subMenuActiveText !important;
 | 
					      color: var(--pure-theme-sub-menu-active-text) !important;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
      i {
 | 
					      i {
 | 
				
			||||||
        color: $subMenuActiveText !important;
 | 
					        color: var(--pure-theme-sub-menu-active-text) !important;
 | 
				
			||||||
      }
 | 
					      }
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    .nest-menu .el-sub-menu > .el-sub-menu__title,
 | 
					    .nest-menu .el-sub-menu > .el-sub-menu__title,
 | 
				
			||||||
    .el-menu-item {
 | 
					    .el-menu-item {
 | 
				
			||||||
      &:hover {
 | 
					      &:hover {
 | 
				
			||||||
        color: $menuTitleHover !important;
 | 
					        color: var(--pure-theme-menu-title-hover) !important;
 | 
				
			||||||
      }
 | 
					      }
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    .el-menu-item.is-active {
 | 
					    .el-menu-item.is-active {
 | 
				
			||||||
      color: $subMenuActiveText !important;
 | 
					      color: var(--pure-theme-sub-menu-active-text) !important;
 | 
				
			||||||
      transition: color 0.3s;
 | 
					      transition: color 0.3s;
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@ -416,7 +414,7 @@
 | 
				
			|||||||
    justify-content: space-around;
 | 
					    justify-content: space-around;
 | 
				
			||||||
    width: 100%;
 | 
					    width: 100%;
 | 
				
			||||||
    height: 48px;
 | 
					    height: 48px;
 | 
				
			||||||
    background: $menuBg;
 | 
					    background: var(--pure-theme-menu-bg) !important;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    .horizontal-header-left {
 | 
					    .horizontal-header-left {
 | 
				
			||||||
      display: flex;
 | 
					      display: flex;
 | 
				
			||||||
@ -441,7 +439,7 @@
 | 
				
			|||||||
        font-size: 18px;
 | 
					        font-size: 18px;
 | 
				
			||||||
        font-weight: 600;
 | 
					        font-weight: 600;
 | 
				
			||||||
        line-height: 32px;
 | 
					        line-height: 32px;
 | 
				
			||||||
        color: $subMenuActiveText;
 | 
					        color: var(--pure-theme-sub-menu-active-text);
 | 
				
			||||||
        text-overflow: ellipsis;
 | 
					        text-overflow: ellipsis;
 | 
				
			||||||
        white-space: nowrap;
 | 
					        white-space: nowrap;
 | 
				
			||||||
      }
 | 
					      }
 | 
				
			||||||
@ -459,7 +457,7 @@
 | 
				
			|||||||
      align-items: center;
 | 
					      align-items: center;
 | 
				
			||||||
      justify-content: flex-end;
 | 
					      justify-content: flex-end;
 | 
				
			||||||
      min-width: 340px;
 | 
					      min-width: 340px;
 | 
				
			||||||
      color: $subMenuActiveText;
 | 
					      color: var(--pure-theme-sub-menu-active-text);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
      /* 搜索 */
 | 
					      /* 搜索 */
 | 
				
			||||||
      .search-container,
 | 
					      .search-container,
 | 
				
			||||||
@ -474,20 +472,20 @@
 | 
				
			|||||||
      /* 设置 */
 | 
					      /* 设置 */
 | 
				
			||||||
      .set-icon {
 | 
					      .set-icon {
 | 
				
			||||||
        &:hover {
 | 
					        &:hover {
 | 
				
			||||||
          background: $menuHover;
 | 
					          background: var(--pure-theme-menu-hover);
 | 
				
			||||||
        }
 | 
					        }
 | 
				
			||||||
      }
 | 
					      }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
      .dropdown-badge {
 | 
					      .dropdown-badge {
 | 
				
			||||||
        height: 48px;
 | 
					        height: 48px;
 | 
				
			||||||
        color: $subMenuActiveText;
 | 
					        color: var(--pure-theme-sub-menu-active-text);
 | 
				
			||||||
      }
 | 
					      }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
      .globalization {
 | 
					      .globalization {
 | 
				
			||||||
        width: 40px;
 | 
					        width: 40px;
 | 
				
			||||||
        height: 48px;
 | 
					        height: 48px;
 | 
				
			||||||
        padding: 11px;
 | 
					        padding: 11px;
 | 
				
			||||||
        color: $subMenuActiveText;
 | 
					        color: var(--pure-theme-sub-menu-active-text);
 | 
				
			||||||
        cursor: pointer;
 | 
					        cursor: pointer;
 | 
				
			||||||
        outline: none;
 | 
					        outline: none;
 | 
				
			||||||
      }
 | 
					      }
 | 
				
			||||||
@ -498,7 +496,7 @@
 | 
				
			|||||||
        justify-content: space-around;
 | 
					        justify-content: space-around;
 | 
				
			||||||
        height: 48px;
 | 
					        height: 48px;
 | 
				
			||||||
        padding: 10px;
 | 
					        padding: 10px;
 | 
				
			||||||
        color: $subMenuActiveText;
 | 
					        color: var(--pure-theme-sub-menu-active-text);
 | 
				
			||||||
        cursor: pointer;
 | 
					        cursor: pointer;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        p {
 | 
					        p {
 | 
				
			||||||
@ -523,10 +521,10 @@
 | 
				
			|||||||
    .el-menu-item,
 | 
					    .el-menu-item,
 | 
				
			||||||
    .el-sub-menu__title {
 | 
					    .el-sub-menu__title {
 | 
				
			||||||
      padding-right: var(--el-menu-base-level-padding);
 | 
					      padding-right: var(--el-menu-base-level-padding);
 | 
				
			||||||
      color: $menuText;
 | 
					      color: var(--pure-theme-menu-text);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
      &:hover {
 | 
					      &:hover {
 | 
				
			||||||
        color: $menuTitleHover !important;
 | 
					        color: var(--pure-theme-menu-title-hover) !important;
 | 
				
			||||||
      }
 | 
					      }
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@ -534,7 +532,7 @@
 | 
				
			|||||||
    .el-sub-menu__title {
 | 
					    .el-sub-menu__title {
 | 
				
			||||||
      height: 48px;
 | 
					      height: 48px;
 | 
				
			||||||
      line-height: 48px;
 | 
					      line-height: 48px;
 | 
				
			||||||
      background: $menuBg;
 | 
					      background: var(--pure-theme-menu-bg) !important;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
      svg {
 | 
					      svg {
 | 
				
			||||||
        position: static !important;
 | 
					        position: static !important;
 | 
				
			||||||
@ -543,15 +541,15 @@
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
    .is-active > .el-sub-menu__title,
 | 
					    .is-active > .el-sub-menu__title,
 | 
				
			||||||
    .is-active.submenu-title-noDropdown {
 | 
					    .is-active.submenu-title-noDropdown {
 | 
				
			||||||
      color: $subMenuActiveText !important;
 | 
					      color: var(--pure-theme-sub-menu-active-text) !important;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
      i {
 | 
					      i {
 | 
				
			||||||
        color: $subMenuActiveText !important;
 | 
					        color: var(--pure-theme-sub-menu-active-text) !important;
 | 
				
			||||||
      }
 | 
					      }
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    .is-active {
 | 
					    .is-active {
 | 
				
			||||||
      color: $subMenuActiveText !important;
 | 
					      color: var(--pure-theme-sub-menu-active-text) !important;
 | 
				
			||||||
      transition: color 0.3s;
 | 
					      transition: color 0.3s;
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
  }
 | 
					  }
 | 
				
			||||||
@ -597,7 +595,7 @@ body[layout="vertical"] {
 | 
				
			|||||||
  }
 | 
					  }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  .sidebar-logo-container {
 | 
					  .sidebar-logo-container {
 | 
				
			||||||
    background: $sidebarLogo;
 | 
					    background: var(--pure-theme-sidebar-logo);
 | 
				
			||||||
  }
 | 
					  }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  .hideSidebar {
 | 
					  .hideSidebar {
 | 
				
			||||||
 | 
				
			|||||||
							
								
								
									
										95
									
								
								src/style/theme.scss
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										95
									
								
								src/style/theme.scss
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1,95 @@
 | 
				
			|||||||
 | 
					/* 亮白色 */
 | 
				
			||||||
 | 
					html[data-theme="light"] {
 | 
				
			||||||
 | 
					  --pure-theme-sub-menu-active-text: #000000d9;
 | 
				
			||||||
 | 
					  --pure-theme-menu-bg: #fff;
 | 
				
			||||||
 | 
					  --pure-theme-menu-hover: #f6f6f6;
 | 
				
			||||||
 | 
					  --pure-theme-sub-menu-bg: #fff;
 | 
				
			||||||
 | 
					  --pure-theme-menu-text: rgb(0 0 0 / 60%);
 | 
				
			||||||
 | 
					  --pure-theme-sidebar-logo: #fff;
 | 
				
			||||||
 | 
					  --pure-theme-menu-title-hover: #000;
 | 
				
			||||||
 | 
					  --pure-theme-menu-active-before: #4091f7;
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					/* 道奇蓝 */
 | 
				
			||||||
 | 
					html[data-theme="default"] {
 | 
				
			||||||
 | 
					  --pure-theme-sub-menu-active-text: #fff;
 | 
				
			||||||
 | 
					  --pure-theme-menu-bg: #001529;
 | 
				
			||||||
 | 
					  --pure-theme-menu-hover: rgb(64 145 247 / 15%);
 | 
				
			||||||
 | 
					  --pure-theme-sub-menu-bg: #0f0303;
 | 
				
			||||||
 | 
					  --pure-theme-menu-text: rgb(254 254 254 / 65%);
 | 
				
			||||||
 | 
					  --pure-theme-sidebar-logo: #002140;
 | 
				
			||||||
 | 
					  --pure-theme-menu-title-hover: #fff;
 | 
				
			||||||
 | 
					  --pure-theme-menu-active-before: #4091f7;
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					/* 深紫罗兰色 */
 | 
				
			||||||
 | 
					html[data-theme="saucePurple"] {
 | 
				
			||||||
 | 
					  --pure-theme-sub-menu-active-text: #fff;
 | 
				
			||||||
 | 
					  --pure-theme-menu-bg: #130824;
 | 
				
			||||||
 | 
					  --pure-theme-menu-hover: rgb(105 58 201 / 15%);
 | 
				
			||||||
 | 
					  --pure-theme-sub-menu-bg: #000;
 | 
				
			||||||
 | 
					  --pure-theme-menu-text: #7a80b4;
 | 
				
			||||||
 | 
					  --pure-theme-sidebar-logo: #1f0c38;
 | 
				
			||||||
 | 
					  --pure-theme-menu-title-hover: #fff;
 | 
				
			||||||
 | 
					  --pure-theme-menu-active-before: #693ac9;
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					/* 深粉色 */
 | 
				
			||||||
 | 
					html[data-theme="pink"] {
 | 
				
			||||||
 | 
					  --pure-theme-sub-menu-active-text: #fff;
 | 
				
			||||||
 | 
					  --pure-theme-menu-bg: #28081a;
 | 
				
			||||||
 | 
					  --pure-theme-menu-hover: rgb(216 68 147 / 15%);
 | 
				
			||||||
 | 
					  --pure-theme-sub-menu-bg: #000;
 | 
				
			||||||
 | 
					  --pure-theme-menu-text: #7a80b4;
 | 
				
			||||||
 | 
					  --pure-theme-sidebar-logo: #3f0d29;
 | 
				
			||||||
 | 
					  --pure-theme-menu-title-hover: #fff;
 | 
				
			||||||
 | 
					  --pure-theme-menu-active-before: #d84493;
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					/* 猩红色 */
 | 
				
			||||||
 | 
					html[data-theme="dusk"] {
 | 
				
			||||||
 | 
					  --pure-theme-sub-menu-active-text: #fff;
 | 
				
			||||||
 | 
					  --pure-theme-menu-bg: #2a0608;
 | 
				
			||||||
 | 
					  --pure-theme-menu-hover: rgb(225 60 57 / 15%);
 | 
				
			||||||
 | 
					  --pure-theme-sub-menu-bg: #000;
 | 
				
			||||||
 | 
					  --pure-theme-menu-text: rgb(254 254 254 / 65.1%);
 | 
				
			||||||
 | 
					  --pure-theme-sidebar-logo: #42090c;
 | 
				
			||||||
 | 
					  --pure-theme-menu-title-hover: #fff;
 | 
				
			||||||
 | 
					  --pure-theme-menu-active-before: #e13c39;
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					/* 橙红色 */
 | 
				
			||||||
 | 
					html[data-theme="volcano"] {
 | 
				
			||||||
 | 
					  --pure-theme-sub-menu-active-text: #fff;
 | 
				
			||||||
 | 
					  --pure-theme-menu-bg: #2b0e05;
 | 
				
			||||||
 | 
					  --pure-theme-menu-hover: rgb(232 95 51 / 15%);
 | 
				
			||||||
 | 
					  --pure-theme-sub-menu-bg: #0f0603;
 | 
				
			||||||
 | 
					  --pure-theme-menu-text: rgb(254 254 254 / 65%);
 | 
				
			||||||
 | 
					  --pure-theme-sidebar-logo: #441708;
 | 
				
			||||||
 | 
					  --pure-theme-menu-title-hover: #fff;
 | 
				
			||||||
 | 
					  --pure-theme-menu-active-before: #e85f33;
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					/* 绿宝石 */
 | 
				
			||||||
 | 
					html[data-theme="mingQing"] {
 | 
				
			||||||
 | 
					  --pure-theme-sub-menu-active-text: #fff;
 | 
				
			||||||
 | 
					  --pure-theme-menu-bg: #032121;
 | 
				
			||||||
 | 
					  --pure-theme-menu-hover: rgb(89 191 193 / 15%);
 | 
				
			||||||
 | 
					  --pure-theme-sub-menu-bg: #000;
 | 
				
			||||||
 | 
					  --pure-theme-menu-text: #7a80b4;
 | 
				
			||||||
 | 
					  --pure-theme-sidebar-logo: #053434;
 | 
				
			||||||
 | 
					  --pure-theme-menu-title-hover: #fff;
 | 
				
			||||||
 | 
					  --pure-theme-menu-active-before: #59bfc1;
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					/* 酸橙绿 */
 | 
				
			||||||
 | 
					html[data-theme="auroraGreen"] {
 | 
				
			||||||
 | 
					  --pure-theme-sub-menu-active-text: #fff;
 | 
				
			||||||
 | 
					  --pure-theme-menu-bg: #0b1e15;
 | 
				
			||||||
 | 
					  --pure-theme-menu-hover: rgb(96 172 128 / 15%);
 | 
				
			||||||
 | 
					  --pure-theme-sub-menu-bg: #000;
 | 
				
			||||||
 | 
					  --pure-theme-menu-text: #7a80b4;
 | 
				
			||||||
 | 
					  --pure-theme-sidebar-logo: #112f21;
 | 
				
			||||||
 | 
					  --pure-theme-menu-title-hover: #fff;
 | 
				
			||||||
 | 
					  --pure-theme-menu-active-before: #60ac80;
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
@ -172,7 +172,7 @@ Print.prototype = {
 | 
				
			|||||||
          if (!frameWindow.document.execCommand("print", false, null)) {
 | 
					          if (!frameWindow.document.execCommand("print", false, null)) {
 | 
				
			||||||
            frameWindow.print();
 | 
					            frameWindow.print();
 | 
				
			||||||
          }
 | 
					          }
 | 
				
			||||||
        } catch (e) {
 | 
					        } catch {
 | 
				
			||||||
          frameWindow.print();
 | 
					          frameWindow.print();
 | 
				
			||||||
        }
 | 
					        }
 | 
				
			||||||
        frameWindow.close();
 | 
					        frameWindow.close();
 | 
				
			||||||
 | 
				
			|||||||
@ -82,7 +82,7 @@ export function useColumns() {
 | 
				
			|||||||
      className: "pure-version",
 | 
					      className: "pure-version",
 | 
				
			||||||
      cellRenderer: () => {
 | 
					      cellRenderer: () => {
 | 
				
			||||||
        return (
 | 
					        return (
 | 
				
			||||||
          <a href="https://pure-admin.github.io/pure-admin-doc" target="_blank">
 | 
					          <a href="https://pure-admin.cn/" target="_blank">
 | 
				
			||||||
            <span style="color: var(--el-color-primary)">文档链接</span>
 | 
					            <span style="color: var(--el-color-primary)">文档链接</span>
 | 
				
			||||||
          </a>
 | 
					          </a>
 | 
				
			||||||
        );
 | 
					        );
 | 
				
			||||||
 | 
				
			|||||||
@ -131,7 +131,7 @@ getMine().then(res => {
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
<style lang="scss">
 | 
					<style lang="scss">
 | 
				
			||||||
.pure-account-settings {
 | 
					.pure-account-settings {
 | 
				
			||||||
  background: $menuBg;
 | 
					  background: var(--pure-theme-menu-bg) !important;
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
.pure-account-settings-menu {
 | 
					.pure-account-settings-menu {
 | 
				
			||||||
@ -140,12 +140,12 @@ getMine().then(res => {
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
  .el-menu-item {
 | 
					  .el-menu-item {
 | 
				
			||||||
    height: 48px !important;
 | 
					    height: 48px !important;
 | 
				
			||||||
    color: $menuText;
 | 
					    color: var(--pure-theme-menu-text);
 | 
				
			||||||
    background-color: transparent !important;
 | 
					    background-color: transparent !important;
 | 
				
			||||||
    transition: color 0.2s;
 | 
					    transition: color 0.2s;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    &:hover {
 | 
					    &:hover {
 | 
				
			||||||
      color: $menuTitleHover !important;
 | 
					      color: var(--pure-theme-menu-title-hover) !important;
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    &.is-active {
 | 
					    &.is-active {
 | 
				
			||||||
 | 
				
			|||||||
@ -8,7 +8,7 @@
 | 
				
			|||||||
| `name`            | 路由名称(必须唯一并且和当前路由`component`字段对应的页面里用`defineOptions`包起来的`name`保持一致) |
 | 
					| `name`            | 路由名称(必须唯一并且和当前路由`component`字段对应的页面里用`defineOptions`包起来的`name`保持一致) |
 | 
				
			||||||
| `path`            | 路由路径                                                     |
 | 
					| `path`            | 路由路径                                                     |
 | 
				
			||||||
| `component`       | 组件路径(传`component`组件路径,那么`path`可以随便写,如果不传,`component`组件路径会跟`path`保持一致) |
 | 
					| `component`       | 组件路径(传`component`组件路径,那么`path`可以随便写,如果不传,`component`组件路径会跟`path`保持一致) |
 | 
				
			||||||
| `rank`            | 菜单排序(平台规定只有`home`路由的`rank`才能为`0`,所以后端在返回`rank`的时候需要从非`0`开始 [点击查看更多](https://pure-admin.github.io/pure-admin-doc/pages/routerMenu/#%E8%8F%9C%E5%8D%95%E6%8E%92%E5%BA%8F-rank)) |
 | 
					| `rank`            | 菜单排序(平台规定只有`home`路由的`rank`才能为`0`,所以后端在返回`rank`的时候需要从非`0`开始 [点击查看更多](https://pure-admin.cn/pages/routerMenu/#%E8%8F%9C%E5%8D%95%E6%8E%92%E5%BA%8F-rank)) |
 | 
				
			||||||
| `redirect`        | 路由重定向                                                   |
 | 
					| `redirect`        | 路由重定向                                                   |
 | 
				
			||||||
| `icon`            | 菜单图标                                                     |
 | 
					| `icon`            | 菜单图标                                                     |
 | 
				
			||||||
| `extraIcon`       | 右侧图标                                                     |
 | 
					| `extraIcon`       | 右侧图标                                                     |
 | 
				
			||||||
@ -22,5 +22,5 @@
 | 
				
			|||||||
| `hiddenTag`       | 标签页(当前菜单名称或自定义信息禁止添加到标签页)           |
 | 
					| `hiddenTag`       | 标签页(当前菜单名称或自定义信息禁止添加到标签页)           |
 | 
				
			||||||
| `fixedTag`        | 固定标签页(当前菜单名称是否固定显示在标签页且不可关闭)           |
 | 
					| `fixedTag`        | 固定标签页(当前菜单名称是否固定显示在标签页且不可关闭)           |
 | 
				
			||||||
| `showLink`        | 菜单(是否显示该菜单)                                       |
 | 
					| `showLink`        | 菜单(是否显示该菜单)                                       |
 | 
				
			||||||
| `showParent`      | 父级菜单(是否显示父级菜单 [点击查看更多](https://pure-admin.github.io/pure-admin-doc/pages/routerMenu/#%E7%AC%AC%E4%B8%80%E7%A7%8D-%E8%AF%A5%E6%A8%A1%E5%BC%8F%E9%92%88%E5%AF%B9%E7%88%B6%E7%BA%A7%E8%8F%9C%E5%8D%95%E4%B8%8B%E5%8F%AA%E6%9C%89%E4%B8%80%E4%B8%AA%E5%AD%90%E8%8F%9C%E5%8D%95%E7%9A%84%E6%83%85%E5%86%B5-%E5%9C%A8%E5%AD%90%E8%8F%9C%E5%8D%95%E7%9A%84-meta-%E5%B1%9E%E6%80%A7%E4%B8%AD%E5%8A%A0%E4%B8%8A-showparent-true-%E5%8D%B3%E5%8F%AF)) |
 | 
					| `showParent`      | 父级菜单(是否显示父级菜单 [点击查看更多](https://pure-admin.cn/pages/routerMenu/#%E7%AC%AC%E4%B8%80%E7%A7%8D-%E8%AF%A5%E6%A8%A1%E5%BC%8F%E9%92%88%E5%AF%B9%E7%88%B6%E7%BA%A7%E8%8F%9C%E5%8D%95%E4%B8%8B%E5%8F%AA%E6%9C%89%E4%B8%80%E4%B8%AA%E5%AD%90%E8%8F%9C%E5%8D%95%E7%9A%84%E6%83%85%E5%86%B5-%E5%9C%A8%E5%AD%90%E8%8F%9C%E5%8D%95%E7%9A%84-meta-%E5%B1%9E%E6%80%A7%E4%B8%AD%E5%8A%A0%E4%B8%8A-showparent-true-%E5%8D%B3%E5%8F%AF)) |
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
				
			|||||||
@ -28,9 +28,15 @@ const columns: TableColumnList = [
 | 
				
			|||||||
<template>
 | 
					<template>
 | 
				
			||||||
  <pure-table :data="tableDataImage" :columns="columns">
 | 
					  <pure-table :data="tableDataImage" :columns="columns">
 | 
				
			||||||
    <template #video>
 | 
					    <template #video>
 | 
				
			||||||
      <video width="180" height="180" controls>
 | 
					      <video
 | 
				
			||||||
 | 
					        width="180"
 | 
				
			||||||
 | 
					        height="180"
 | 
				
			||||||
 | 
					        controls
 | 
				
			||||||
 | 
					        muted
 | 
				
			||||||
 | 
					        poster="http://lf9-cdn-tos.bytecdntp.com/cdn/expire-1-M/byted-player-videos/1.0.0/poster.jpg"
 | 
				
			||||||
 | 
					      >
 | 
				
			||||||
        <source
 | 
					        <source
 | 
				
			||||||
          src="https://pure-admin.github.io/pure-admin-doc/video/url.mov"
 | 
					          src="http://lf3-static.bytednsdoc.com/obj/eden-cn/nupenuvpxnuvo/xgplayer_doc/xgplayer-demo.mp4"
 | 
				
			||||||
          type="video/mp4"
 | 
					          type="video/mp4"
 | 
				
			||||||
        />
 | 
					        />
 | 
				
			||||||
      </video>
 | 
					      </video>
 | 
				
			||||||
 | 
				
			|||||||
							
								
								
									
										8
									
								
								types/global.d.ts
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										8
									
								
								types/global.d.ts
									
									
									
									
										vendored
									
									
								
							@ -61,7 +61,7 @@ declare global {
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
  /**
 | 
					  /**
 | 
				
			||||||
   * 全局自定义环境变量的类型声明
 | 
					   * 全局自定义环境变量的类型声明
 | 
				
			||||||
   * @see {@link https://pure-admin.github.io/pure-admin-doc/pages/config/#%E5%85%B7%E4%BD%93%E9%85%8D%E7%BD%AE}
 | 
					   * @see {@link https://pure-admin.cn/pages/config/#%E5%85%B7%E4%BD%93%E9%85%8D%E7%BD%AE}
 | 
				
			||||||
   */
 | 
					   */
 | 
				
			||||||
  interface ViteEnv {
 | 
					  interface ViteEnv {
 | 
				
			||||||
    VITE_PORT: number;
 | 
					    VITE_PORT: number;
 | 
				
			||||||
@ -75,11 +75,11 @@ declare global {
 | 
				
			|||||||
  /**
 | 
					  /**
 | 
				
			||||||
   *  继承 `@pureadmin/table` 的 `TableColumns` ,方便全局直接调用
 | 
					   *  继承 `@pureadmin/table` 的 `TableColumns` ,方便全局直接调用
 | 
				
			||||||
   */
 | 
					   */
 | 
				
			||||||
  interface TableColumnList extends Array<TableColumns> {}
 | 
					  type TableColumnList = Array<TableColumns>;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  /**
 | 
					  /**
 | 
				
			||||||
   * 对应 `public/platform-config.json` 文件的类型声明
 | 
					   * 对应 `public/platform-config.json` 文件的类型声明
 | 
				
			||||||
   * @see {@link https://pure-admin.github.io/pure-admin-doc/pages/config/#platform-config-json}
 | 
					   * @see {@link https://pure-admin.cn/pages/config/#platform-config-json}
 | 
				
			||||||
   */
 | 
					   */
 | 
				
			||||||
  interface PlatformConfigs {
 | 
					  interface PlatformConfigs {
 | 
				
			||||||
    Version?: string;
 | 
					    Version?: string;
 | 
				
			||||||
@ -120,7 +120,7 @@ declare global {
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
  /**
 | 
					  /**
 | 
				
			||||||
   * 与 `PlatformConfigs` 类型不同,这里是缓存到浏览器本地存储的类型声明
 | 
					   * 与 `PlatformConfigs` 类型不同,这里是缓存到浏览器本地存储的类型声明
 | 
				
			||||||
   * @see {@link https://pure-admin.github.io/pure-admin-doc/pages/config/#platform-config-json}
 | 
					   * @see {@link https://pure-admin.cn/pages/config/#platform-config-json}
 | 
				
			||||||
   */
 | 
					   */
 | 
				
			||||||
  interface StorageConfigs {
 | 
					  interface StorageConfigs {
 | 
				
			||||||
    version?: string;
 | 
					    version?: string;
 | 
				
			||||||
 | 
				
			|||||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user