Compare commits
	
		
			14 Commits
		
	
	
		
			v1.0.2
			...
			tauri-v1.0
		
	
	| Author | SHA1 | Date | |
|---|---|---|---|
|  | f4cf4c8d57 | ||
|  | d9af5aa2d3 | ||
|  | d984f75b80 | ||
|  | 27c53cd688 | ||
|  | b7f0749170 | ||
|  | cb8ea2531d | ||
|  | c6648b6c8b | ||
|  | bb74d9949b | ||
|  | 60beff7e63 | ||
|  | d6eda8f9ed | ||
|  | f4a9cf8339 | ||
|  | efc0e25c7f | ||
|  | 35310ed73c | ||
|  | 001059cca0 | 
							
								
								
									
										40
									
								
								CHANGELOG.md
									
									
									
									
									
								
							
							
						
						| @@ -1,7 +1,43 @@ | |||||||
| # Changelog | # Changelog | ||||||
|  |  | ||||||
|  |  | ||||||
| ## [v1.0.2](https://github.com/soybeanjs/soybean-admin/compare/tauri-v1.0.1...v1.0.2) (24-04-08) | ## [v1.0.3](https://github.com/soybeanjs/soybean-admin/compare/v1.0.2...v1.0.3) (24-04-16) | ||||||
|  |  | ||||||
|  | ###    🚀 Features | ||||||
|  |  | ||||||
|  | - **hooks**: deleting the route export of useRoutePush, use vue-router  -  by **paynezhuang** [<samp>(c6648)</samp>](https://github.com/soybeanjs/soybean-admin/commit/c6648b6) | ||||||
|  |  | ||||||
|  | ###    🐞 Bug Fixes | ||||||
|  |  | ||||||
|  | - **projects**: | ||||||
|  |   - fix menu edit rules  -  by **paynezhuang** [<samp>(00105)</samp>](https://github.com/soybeanjs/soybean-admin/commit/001059c) | ||||||
|  |   - fix SvgIcon inheritAttrs warning  -  by @honghuangdc [<samp>(efc0e)</samp>](https://github.com/soybeanjs/soybean-admin/commit/efc0e25) | ||||||
|  |   - fix axios createRequest: add default state  -  by @honghuangdc [<samp>(d6eda)</samp>](https://github.com/soybeanjs/soybean-admin/commit/d6eda8f) | ||||||
|  |   - update union-key.d.ts  -  by @honghuangdc [<samp>(60bef)</samp>](https://github.com/soybeanjs/soybean-admin/commit/60beff7) | ||||||
|  |   - fix update theme color  -  by @honghuangdc [<samp>(27c53)</samp>](https://github.com/soybeanjs/soybean-admin/commit/27c53cd) | ||||||
|  |  | ||||||
|  | ###    🔥 Performance | ||||||
|  |  | ||||||
|  | - **projects**: perf code  -  by @honghuangdc [<samp>(b7f07)</samp>](https://github.com/soybeanjs/soybean-admin/commit/b7f0749) | ||||||
|  |  | ||||||
|  | ###    💅 Refactors | ||||||
|  |  | ||||||
|  | - **projects**: update naive-ui.d.ts  -  by @honghuangdc [<samp>(bb74d)</samp>](https://github.com/soybeanjs/soybean-admin/commit/bb74d99) | ||||||
|  |  | ||||||
|  | ###    📖 Documentation | ||||||
|  |  | ||||||
|  | - **projects**: update README.md  -  by @honghuangdc [<samp>(f4a9c)</samp>](https://github.com/soybeanjs/soybean-admin/commit/f4a9cf8) | ||||||
|  |  | ||||||
|  | ###    🏡 Chore | ||||||
|  |  | ||||||
|  | - **release**: release tauri v1.0.2  -  by @honghuangdc [<samp>(ebdef)</samp>](https://github.com/soybeanjs/soybean-admin/commit/ebdef72) | ||||||
|  |  | ||||||
|  | ###    ❤️ Contributors | ||||||
|  |  | ||||||
|  | [](https://github.com/honghuangdc)   | ||||||
|  | [paynezhuang](mailto:paynezhuang@gmail.com) | ||||||
|  |  | ||||||
|  | ## [v1.0.2](https://github.com/soybeanjs/soybean-admin/compare/v1.0.1...v1.0.2) (24-04-08) | ||||||
|  |  | ||||||
| ###    🐞 Bug Fixes | ###    🐞 Bug Fixes | ||||||
|  |  | ||||||
| @@ -22,7 +58,7 @@ | |||||||
| [](https://github.com/honghuangdc)   | [](https://github.com/honghuangdc)   | ||||||
| [燕博文](mailto:349952469@qq.com) | [燕博文](mailto:349952469@qq.com) | ||||||
|  |  | ||||||
| ## [v1.0.1](https://github.com/soybeanjs/soybean-admin/compare/tauri-v1.0.0...v1.0.1) (24-04-03) | ## [v1.0.1](https://github.com/soybeanjs/soybean-admin/compare/v1.0.0...v1.0.1) (24-04-03) | ||||||
|  |  | ||||||
| ###    🐞 Bug Fixes | ###    🐞 Bug Fixes | ||||||
|  |  | ||||||
|   | |||||||
| @@ -143,17 +143,17 @@ Thanks the following people for their contributions. If you want to contribute t | |||||||
|   	<p>QQ Group</p> |   	<p>QQ Group</p> | ||||||
|     <img src="https://soybeanjs-1300612522.cos.ap-guangzhou.myqcloud.com/uPic/qq-soybean-admin-2.jpg" style="width:200px" /> |     <img src="https://soybeanjs-1300612522.cos.ap-guangzhou.myqcloud.com/uPic/qq-soybean-admin-2.jpg" style="width:200px" /> | ||||||
|   </div> |   </div> | ||||||
| 	<div> | 	<!-- <div> | ||||||
| 		<p>WeChat Group</p> | 		<p>WeChat Group</p> | ||||||
| 		<img src="https://soybeanjs-1300612522.cos.ap-guangzhou.myqcloud.com/uPic/wechat-0402.jpg" style="width:200px" /> | 		<img src="https://soybeanjs-1300612522.cos.ap-guangzhou.myqcloud.com/uPic/wechat-0402.jpg" style="width:200px" /> | ||||||
| 	</div> | 	</div> --> | ||||||
| 	<div> | 	<div> | ||||||
| 		<p>Add the following WeChat to invite to the WeChat group</p> | 		<p>Add the following WeChat to invite to the WeChat group</p> | ||||||
| 		<img src="https://soybeanjs-1300612522.cos.ap-guangzhou.myqcloud.com/uPic/wechat-soybeanjs.jpg" style="width:200px" /> | 		<img src="https://soybeanjs-1300612522.cos.ap-guangzhou.myqcloud.com/uPic/wechat-soybeanjs.jpg" style="width:200px" /> | ||||||
| 	</div> | 	</div> | ||||||
|   <!-- <div> |   <div> | ||||||
|     <p>Add Soybean's WeChat for business consultation, cooperation, project architecture, one-on-one guidance, etc.</p> |     <p>Add Soybean's WeChat for business consultation, cooperation, project architecture, one-on-one guidance, etc.</p> | ||||||
|     <img src="https://soybeanjs-1300612522.cos.ap-guangzhou.myqcloud.com/uPic/wechat-soybean.jpg" style="width:200px" /> --> |     <img src="https://soybeanjs-1300612522.cos.ap-guangzhou.myqcloud.com/uPic/wechat-soybean.jpg" style="width:200px" /> | ||||||
|   </div> |   </div> | ||||||
|  |  | ||||||
| ## Star Trend | ## Star Trend | ||||||
|   | |||||||
| @@ -1,7 +1,7 @@ | |||||||
| import { defineConfig } from '@soybeanjs/eslint-config'; | import { defineConfig } from '@soybeanjs/eslint-config'; | ||||||
|  |  | ||||||
| export default defineConfig( | export default defineConfig( | ||||||
|   { vue: true, unocss: true }, |   { vue: true, unocss: true, ignores: ['src-tauri/target'] }, | ||||||
|   { |   { | ||||||
|     rules: { |     rules: { | ||||||
|       'vue/multi-word-component-names': [ |       'vue/multi-word-component-names': [ | ||||||
|   | |||||||
| @@ -1,7 +1,7 @@ | |||||||
| { | { | ||||||
|   "name": "soybean-admin", |   "name": "soybean-admin", | ||||||
|   "type": "module", |   "type": "module", | ||||||
|   "version": "1.0.2", |   "version": "1.0.3", | ||||||
|   "packageManager": "pnpm@8.15.6", |   "packageManager": "pnpm@8.15.6", | ||||||
|   "description": "A fresh and elegant admin template, based on Vue3、Vite3、TypeScript、NaiveUI and UnoCSS. 一个基于Vue3、Vite3、TypeScript、NaiveUI and UnoCSS的清新优雅的中后台模版。", |   "description": "A fresh and elegant admin template, based on Vue3、Vite3、TypeScript、NaiveUI and UnoCSS. 一个基于Vue3、Vite3、TypeScript、NaiveUI and UnoCSS的清新优雅的中后台模版。", | ||||||
|   "author": { |   "author": { | ||||||
| @@ -29,16 +29,19 @@ | |||||||
|   ], |   ], | ||||||
|   "scripts": { |   "scripts": { | ||||||
|     "build": "vite build --mode prod", |     "build": "vite build --mode prod", | ||||||
|  |     "build:tauri": "pnpm tauri build", | ||||||
|     "build:test": "vite build --mode test", |     "build:test": "vite build --mode test", | ||||||
|     "cleanup": "sa cleanup", |     "cleanup": "sa cleanup", | ||||||
|     "commit": "sa git-commit", |     "commit": "sa git-commit", | ||||||
|     "dev": "vite --mode test", |     "dev": "vite --mode test", | ||||||
|     "dev:prod": "vite --mode prod", |     "dev:prod": "vite --mode prod", | ||||||
|  |     "dev:tauri": "pnpm tauri dev", | ||||||
|     "gen-route": "sa gen-route", |     "gen-route": "sa gen-route", | ||||||
|     "lint": "eslint . --fix", |     "lint": "eslint . --fix", | ||||||
|     "prepare": "simple-git-hooks", |     "prepare": "simple-git-hooks", | ||||||
|     "preview": "vite preview", |     "preview": "vite preview", | ||||||
|     "release": "sa release", |     "release": "sa release", | ||||||
|  |     "tauri-icon": "pnpm tauri icon ./public/logo.png", | ||||||
|     "typecheck": "vue-tsc --noEmit --skipLibCheck", |     "typecheck": "vue-tsc --noEmit --skipLibCheck", | ||||||
|     "update-pkg": "sa update-pkg" |     "update-pkg": "sa update-pkg" | ||||||
|   }, |   }, | ||||||
| @@ -69,6 +72,7 @@ | |||||||
|     "@sa/scripts": "workspace:*", |     "@sa/scripts": "workspace:*", | ||||||
|     "@sa/uno-preset": "workspace:*", |     "@sa/uno-preset": "workspace:*", | ||||||
|     "@soybeanjs/eslint-config": "1.2.5", |     "@soybeanjs/eslint-config": "1.2.5", | ||||||
|  |     "@tauri-apps/cli": "1.5.11", | ||||||
|     "@types/lodash-es": "4.17.12", |     "@types/lodash-es": "4.17.12", | ||||||
|     "@types/node": "20.12.5", |     "@types/node": "20.12.5", | ||||||
|     "@types/nprogress": "0.2.3", |     "@types/nprogress": "0.2.3", | ||||||
|   | |||||||
| @@ -1,6 +1,6 @@ | |||||||
| { | { | ||||||
|   "name": "@sa/axios", |   "name": "@sa/axios", | ||||||
|   "version": "1.0.2", |   "version": "1.0.3", | ||||||
|   "exports": { |   "exports": { | ||||||
|     ".": "./src/index.ts" |     ".": "./src/index.ts" | ||||||
|   }, |   }, | ||||||
|   | |||||||
| @@ -127,6 +127,7 @@ export function createRequest<ResponseData = any, State = Record<string, unknown | |||||||
|  |  | ||||||
|   request.cancelRequest = cancelRequest; |   request.cancelRequest = cancelRequest; | ||||||
|   request.cancelAllRequest = cancelAllRequest; |   request.cancelAllRequest = cancelAllRequest; | ||||||
|  |   request.state = {} as State; | ||||||
|  |  | ||||||
|   return request; |   return request; | ||||||
| } | } | ||||||
|   | |||||||
| @@ -1,6 +1,6 @@ | |||||||
| { | { | ||||||
|   "name": "@sa/color-palette", |   "name": "@sa/color-palette", | ||||||
|   "version": "1.0.2", |   "version": "1.0.3", | ||||||
|   "exports": { |   "exports": { | ||||||
|     ".": "./src/index.ts" |     ".": "./src/index.ts" | ||||||
|   }, |   }, | ||||||
|   | |||||||
| @@ -3,6 +3,7 @@ import { getColorName } from './name'; | |||||||
| import type { ColorPalette, ColorPaletteFamily, ColorPaletteItem, ColorPaletteNumber } from './type'; | import type { ColorPalette, ColorPaletteFamily, ColorPaletteItem, ColorPaletteNumber } from './type'; | ||||||
| import defaultPalettes from './json/palette.json'; | import defaultPalettes from './json/palette.json'; | ||||||
|  |  | ||||||
|  | // to do: there is a bug in the code below, when the color is '#1c5cff', the colorPaletteFamily is not similar to the provided color | ||||||
| /** | /** | ||||||
|  * Get color palette by provided color and color name |  * Get color palette by provided color and color name | ||||||
|  * |  * | ||||||
|   | |||||||
| @@ -1,6 +1,6 @@ | |||||||
| { | { | ||||||
|   "name": "@sa/hooks", |   "name": "@sa/hooks", | ||||||
|   "version": "1.0.2", |   "version": "1.0.3", | ||||||
|   "exports": { |   "exports": { | ||||||
|     ".": "./src/index.ts" |     ".": "./src/index.ts" | ||||||
|   }, |   }, | ||||||
|   | |||||||
| @@ -1,6 +1,6 @@ | |||||||
| { | { | ||||||
|   "name": "@sa/materials", |   "name": "@sa/materials", | ||||||
|   "version": "1.0.2", |   "version": "1.0.3", | ||||||
|   "exports": { |   "exports": { | ||||||
|     ".": "./src/index.ts" |     ".": "./src/index.ts" | ||||||
|   }, |   }, | ||||||
|   | |||||||
| @@ -1,6 +1,6 @@ | |||||||
| { | { | ||||||
|   "name": "@sa/fetch", |   "name": "@sa/fetch", | ||||||
|   "version": "1.0.2", |   "version": "1.0.3", | ||||||
|   "exports": { |   "exports": { | ||||||
|     ".": "./src/index.ts" |     ".": "./src/index.ts" | ||||||
|   }, |   }, | ||||||
|   | |||||||
| @@ -1,6 +1,6 @@ | |||||||
| { | { | ||||||
|   "name": "@sa/scripts", |   "name": "@sa/scripts", | ||||||
|   "version": "1.0.2", |   "version": "1.0.3", | ||||||
|   "bin": { |   "bin": { | ||||||
|     "sa": "./bin.ts" |     "sa": "./bin.ts" | ||||||
|   }, |   }, | ||||||
|   | |||||||
| @@ -1,6 +1,6 @@ | |||||||
| { | { | ||||||
|   "name": "@sa/uno-preset", |   "name": "@sa/uno-preset", | ||||||
|   "version": "1.0.2", |   "version": "1.0.3", | ||||||
|   "exports": { |   "exports": { | ||||||
|     ".": "./src/index.ts" |     ".": "./src/index.ts" | ||||||
|   }, |   }, | ||||||
|   | |||||||
| @@ -1,6 +1,6 @@ | |||||||
| { | { | ||||||
|   "name": "@sa/utils", |   "name": "@sa/utils", | ||||||
|   "version": "1.0.2", |   "version": "1.0.3", | ||||||
|   "exports": { |   "exports": { | ||||||
|     ".": "./src/index.ts" |     ".": "./src/index.ts" | ||||||
|   }, |   }, | ||||||
|   | |||||||
							
								
								
									
										114
									
								
								pnpm-lock.yaml
									
									
									
										generated
									
									
									
								
							
							
						
						| @@ -81,6 +81,9 @@ importers: | |||||||
|       '@soybeanjs/eslint-config': |       '@soybeanjs/eslint-config': | ||||||
|         specifier: 1.2.5 |         specifier: 1.2.5 | ||||||
|         version: 1.2.5(@unocss/eslint-config@0.59.0)(eslint-plugin-vue@9.24.0)(eslint@8.57.0)(typescript@5.4.4)(vue-eslint-parser@9.4.2) |         version: 1.2.5(@unocss/eslint-config@0.59.0)(eslint-plugin-vue@9.24.0)(eslint@8.57.0)(typescript@5.4.4)(vue-eslint-parser@9.4.2) | ||||||
|  |       '@tauri-apps/cli': | ||||||
|  |         specifier: 1.5.11 | ||||||
|  |         version: 1.5.11 | ||||||
|       '@types/lodash-es': |       '@types/lodash-es': | ||||||
|         specifier: 4.17.12 |         specifier: 4.17.12 | ||||||
|         version: 4.17.12 |         version: 4.17.12 | ||||||
| @@ -1738,6 +1741,117 @@ packages: | |||||||
|       defer-to-connect: 2.0.1 |       defer-to-connect: 2.0.1 | ||||||
|     dev: true |     dev: true | ||||||
|  |  | ||||||
|  |   /@tauri-apps/cli-darwin-arm64@1.5.11: | ||||||
|  |     resolution: {integrity: sha512-2NLSglDb5VfvTbMtmOKWyD+oaL/e8Z/ZZGovHtUFyUSFRabdXc6cZOlcD1BhFvYkHqm+TqGaz5qtPR5UbqDs8A==} | ||||||
|  |     engines: {node: '>= 10'} | ||||||
|  |     cpu: [arm64] | ||||||
|  |     os: [darwin] | ||||||
|  |     requiresBuild: true | ||||||
|  |     dev: true | ||||||
|  |     optional: true | ||||||
|  |  | ||||||
|  |   /@tauri-apps/cli-darwin-x64@1.5.11: | ||||||
|  |     resolution: {integrity: sha512-/RQllHiJRH2fJOCudtZlaUIjofkHzP3zZgxi71ZUm7Fy80smU5TDfwpwOvB0wSVh0g/ciDjMArCSTo0MRvL+ag==} | ||||||
|  |     engines: {node: '>= 10'} | ||||||
|  |     cpu: [x64] | ||||||
|  |     os: [darwin] | ||||||
|  |     requiresBuild: true | ||||||
|  |     dev: true | ||||||
|  |     optional: true | ||||||
|  |  | ||||||
|  |   /@tauri-apps/cli-linux-arm-gnueabihf@1.5.11: | ||||||
|  |     resolution: {integrity: sha512-IlBuBPKmMm+a5LLUEK6a21UGr9ZYd6zKuKLq6IGM4tVweQa8Sf2kP2Nqs74dMGIUrLmMs0vuqdURpykQg+z4NQ==} | ||||||
|  |     engines: {node: '>= 10'} | ||||||
|  |     cpu: [arm] | ||||||
|  |     os: [linux] | ||||||
|  |     requiresBuild: true | ||||||
|  |     dev: true | ||||||
|  |     optional: true | ||||||
|  |  | ||||||
|  |   /@tauri-apps/cli-linux-arm64-gnu@1.5.11: | ||||||
|  |     resolution: {integrity: sha512-w+k1bNHCU/GbmXshtAhyTwqosThUDmCEFLU4Zkin1vl2fuAtQry2RN7thfcJFepblUGL/J7yh3Q/0+BCjtspKQ==} | ||||||
|  |     engines: {node: '>= 10'} | ||||||
|  |     cpu: [arm64] | ||||||
|  |     os: [linux] | ||||||
|  |     libc: [glibc] | ||||||
|  |     requiresBuild: true | ||||||
|  |     dev: true | ||||||
|  |     optional: true | ||||||
|  |  | ||||||
|  |   /@tauri-apps/cli-linux-arm64-musl@1.5.11: | ||||||
|  |     resolution: {integrity: sha512-PN6/dl+OfYQ/qrAy4HRAfksJ2AyWQYn2IA/2Wwpaa7SDRz2+hzwTQkvajuvy0sQ5L2WCG7ymFYRYMbpC6Hk9Pg==} | ||||||
|  |     engines: {node: '>= 10'} | ||||||
|  |     cpu: [arm64] | ||||||
|  |     os: [linux] | ||||||
|  |     libc: [musl] | ||||||
|  |     requiresBuild: true | ||||||
|  |     dev: true | ||||||
|  |     optional: true | ||||||
|  |  | ||||||
|  |   /@tauri-apps/cli-linux-x64-gnu@1.5.11: | ||||||
|  |     resolution: {integrity: sha512-MTVXLi89Nj7Apcvjezw92m7ZqIDKT5SFKZtVPCg6RoLUBTzko/BQoXYIRWmdoz2pgkHDUHgO2OMJ8oKzzddXbw==} | ||||||
|  |     engines: {node: '>= 10'} | ||||||
|  |     cpu: [x64] | ||||||
|  |     os: [linux] | ||||||
|  |     libc: [glibc] | ||||||
|  |     requiresBuild: true | ||||||
|  |     dev: true | ||||||
|  |     optional: true | ||||||
|  |  | ||||||
|  |   /@tauri-apps/cli-linux-x64-musl@1.5.11: | ||||||
|  |     resolution: {integrity: sha512-kwzAjqFpz7rvTs7WGZLy/a5nS5t15QKr3E9FG95MNF0exTl3d29YoAUAe1Mn0mOSrTJ9Z+vYYAcI/QdcsGBP+w==} | ||||||
|  |     engines: {node: '>= 10'} | ||||||
|  |     cpu: [x64] | ||||||
|  |     os: [linux] | ||||||
|  |     libc: [musl] | ||||||
|  |     requiresBuild: true | ||||||
|  |     dev: true | ||||||
|  |     optional: true | ||||||
|  |  | ||||||
|  |   /@tauri-apps/cli-win32-arm64-msvc@1.5.11: | ||||||
|  |     resolution: {integrity: sha512-L+5NZ/rHrSUrMxjj6YpFYCXp6wHnq8c8SfDTBOX8dO8x+5283/vftb4vvuGIsLS4UwUFXFnLt3XQr44n84E67Q==} | ||||||
|  |     engines: {node: '>= 10'} | ||||||
|  |     cpu: [arm64] | ||||||
|  |     os: [win32] | ||||||
|  |     requiresBuild: true | ||||||
|  |     dev: true | ||||||
|  |     optional: true | ||||||
|  |  | ||||||
|  |   /@tauri-apps/cli-win32-ia32-msvc@1.5.11: | ||||||
|  |     resolution: {integrity: sha512-oVlD9IVewrY0lZzTdb71kNXkjdgMqFq+ohb67YsJb4Rf7o8A9DTlFds1XLCe3joqLMm4M+gvBKD7YnGIdxQ9vA==} | ||||||
|  |     engines: {node: '>= 10'} | ||||||
|  |     cpu: [ia32] | ||||||
|  |     os: [win32] | ||||||
|  |     requiresBuild: true | ||||||
|  |     dev: true | ||||||
|  |     optional: true | ||||||
|  |  | ||||||
|  |   /@tauri-apps/cli-win32-x64-msvc@1.5.11: | ||||||
|  |     resolution: {integrity: sha512-1CexcqUFCis5ypUIMOKllxUBrna09McbftWENgvVXMfA+SP+yPDPAVb8fIvUcdTIwR/yHJwcIucmTB4anww4vg==} | ||||||
|  |     engines: {node: '>= 10'} | ||||||
|  |     cpu: [x64] | ||||||
|  |     os: [win32] | ||||||
|  |     requiresBuild: true | ||||||
|  |     dev: true | ||||||
|  |     optional: true | ||||||
|  |  | ||||||
|  |   /@tauri-apps/cli@1.5.11: | ||||||
|  |     resolution: {integrity: sha512-B475D7phZrq5sZ3kDABH4g2mEoUIHtnIO+r4ZGAAfsjMbZCwXxR/jlMGTEL+VO3YzjpF7gQe38IzB4vLBbVppw==} | ||||||
|  |     engines: {node: '>= 10'} | ||||||
|  |     hasBin: true | ||||||
|  |     optionalDependencies: | ||||||
|  |       '@tauri-apps/cli-darwin-arm64': 1.5.11 | ||||||
|  |       '@tauri-apps/cli-darwin-x64': 1.5.11 | ||||||
|  |       '@tauri-apps/cli-linux-arm-gnueabihf': 1.5.11 | ||||||
|  |       '@tauri-apps/cli-linux-arm64-gnu': 1.5.11 | ||||||
|  |       '@tauri-apps/cli-linux-arm64-musl': 1.5.11 | ||||||
|  |       '@tauri-apps/cli-linux-x64-gnu': 1.5.11 | ||||||
|  |       '@tauri-apps/cli-linux-x64-musl': 1.5.11 | ||||||
|  |       '@tauri-apps/cli-win32-arm64-msvc': 1.5.11 | ||||||
|  |       '@tauri-apps/cli-win32-ia32-msvc': 1.5.11 | ||||||
|  |       '@tauri-apps/cli-win32-x64-msvc': 1.5.11 | ||||||
|  |     dev: true | ||||||
|  |  | ||||||
|   /@tootallnate/once@2.0.0: |   /@tootallnate/once@2.0.0: | ||||||
|     resolution: {integrity: sha512-XCuKFP5PS55gnMVu3dty8KPatLqUoy/ZYzDzAGCQ8JNFCkLXzmI7vNHCR+XpbZaMWQK/vQubr7PkYq8g470J/A==} |     resolution: {integrity: sha512-XCuKFP5PS55gnMVu3dty8KPatLqUoy/ZYzDzAGCQ8JNFCkLXzmI7vNHCR+XpbZaMWQK/vQubr7PkYq8g470J/A==} | ||||||
|     engines: {node: '>= 10'} |     engines: {node: '>= 10'} | ||||||
|   | |||||||
							
								
								
									
										
											BIN
										
									
								
								public/logo.png
									
									
									
									
									
										Normal file
									
								
							
							
						
						| After Width: | Height: | Size: 20 KiB | 
							
								
								
									
										3
									
								
								src-tauri/.gitignore
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						| @@ -0,0 +1,3 @@ | |||||||
|  | # Generated by Cargo | ||||||
|  | # will have compiled files and executables | ||||||
|  | /target/ | ||||||
							
								
								
									
										3664
									
								
								src-tauri/Cargo.lock
									
									
									
										generated
									
									
									
										Normal file
									
								
							
							
						
						
							
								
								
									
										26
									
								
								src-tauri/Cargo.toml
									
									
									
									
									
										Normal file
									
								
							
							
						
						| @@ -0,0 +1,26 @@ | |||||||
|  | [package] | ||||||
|  | name = "app" | ||||||
|  | version = "0.1.0" | ||||||
|  | description = "A Tauri App" | ||||||
|  | authors = ["you"] | ||||||
|  | license = "" | ||||||
|  | repository = "" | ||||||
|  | default-run = "app" | ||||||
|  | edition = "2021" | ||||||
|  | rust-version = "1.60" | ||||||
|  |  | ||||||
|  | # See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html | ||||||
|  |  | ||||||
|  | [build-dependencies] | ||||||
|  | tauri-build = { version = "1.5.1", features = [] } | ||||||
|  |  | ||||||
|  | [dependencies] | ||||||
|  | serde_json = "1.0" | ||||||
|  | serde = { version = "1.0", features = ["derive"] } | ||||||
|  | tauri = { version = "1.6.1", features = [] } | ||||||
|  |  | ||||||
|  | [features] | ||||||
|  | # this feature is used for production builds or when `devPath` points to the filesystem and the built-in dev server is disabled. | ||||||
|  | # If you use cargo directly instead of tauri's cli you can use this feature flag to switch between tauri's `dev` and `build` modes. | ||||||
|  | # DO NOT REMOVE!! | ||||||
|  | custom-protocol = [ "tauri/custom-protocol" ] | ||||||
							
								
								
									
										3
									
								
								src-tauri/build.rs
									
									
									
									
									
										Normal file
									
								
							
							
						
						| @@ -0,0 +1,3 @@ | |||||||
|  | fn main() { | ||||||
|  |   tauri_build::build() | ||||||
|  | } | ||||||
							
								
								
									
										
											BIN
										
									
								
								src-tauri/icons/128x128.png
									
									
									
									
									
										Normal file
									
								
							
							
						
						| After Width: | Height: | Size: 8.8 KiB | 
							
								
								
									
										
											BIN
										
									
								
								src-tauri/icons/128x128@2x.png
									
									
									
									
									
										Normal file
									
								
							
							
						
						| After Width: | Height: | Size: 19 KiB | 
							
								
								
									
										
											BIN
										
									
								
								src-tauri/icons/32x32.png
									
									
									
									
									
										Normal file
									
								
							
							
						
						| After Width: | Height: | Size: 1.7 KiB | 
							
								
								
									
										
											BIN
										
									
								
								src-tauri/icons/Square107x107Logo.png
									
									
									
									
									
										Normal file
									
								
							
							
						
						| After Width: | Height: | Size: 7.4 KiB | 
							
								
								
									
										
											BIN
										
									
								
								src-tauri/icons/Square142x142Logo.png
									
									
									
									
									
										Normal file
									
								
							
							
						
						| After Width: | Height: | Size: 9.9 KiB | 
							
								
								
									
										
											BIN
										
									
								
								src-tauri/icons/Square150x150Logo.png
									
									
									
									
									
										Normal file
									
								
							
							
						
						| After Width: | Height: | Size: 10 KiB | 
							
								
								
									
										
											BIN
										
									
								
								src-tauri/icons/Square284x284Logo.png
									
									
									
									
									
										Normal file
									
								
							
							
						
						| After Width: | Height: | Size: 21 KiB | 
							
								
								
									
										
											BIN
										
									
								
								src-tauri/icons/Square30x30Logo.png
									
									
									
									
									
										Normal file
									
								
							
							
						
						| After Width: | Height: | Size: 1.6 KiB | 
							
								
								
									
										
											BIN
										
									
								
								src-tauri/icons/Square310x310Logo.png
									
									
									
									
									
										Normal file
									
								
							
							
						
						| After Width: | Height: | Size: 23 KiB | 
							
								
								
									
										
											BIN
										
									
								
								src-tauri/icons/Square44x44Logo.png
									
									
									
									
									
										Normal file
									
								
							
							
						
						| After Width: | Height: | Size: 2.6 KiB | 
							
								
								
									
										
											BIN
										
									
								
								src-tauri/icons/Square71x71Logo.png
									
									
									
									
									
										Normal file
									
								
							
							
						
						| After Width: | Height: | Size: 4.7 KiB | 
							
								
								
									
										
											BIN
										
									
								
								src-tauri/icons/Square89x89Logo.png
									
									
									
									
									
										Normal file
									
								
							
							
						
						| After Width: | Height: | Size: 6.1 KiB | 
							
								
								
									
										
											BIN
										
									
								
								src-tauri/icons/StoreLogo.png
									
									
									
									
									
										Normal file
									
								
							
							
						
						| After Width: | Height: | Size: 3.0 KiB | 
							
								
								
									
										
											BIN
										
									
								
								src-tauri/icons/icon.icns
									
									
									
									
									
										Normal file
									
								
							
							
						
						
							
								
								
									
										
											BIN
										
									
								
								src-tauri/icons/icon.ico
									
									
									
									
									
										Normal file
									
								
							
							
						
						| After Width: | Height: | Size: 31 KiB | 
							
								
								
									
										
											BIN
										
									
								
								src-tauri/icons/icon.png
									
									
									
									
									
										Normal file
									
								
							
							
						
						| After Width: | Height: | Size: 39 KiB | 
							
								
								
									
										8
									
								
								src-tauri/src/main.rs
									
									
									
									
									
										Normal file
									
								
							
							
						
						| @@ -0,0 +1,8 @@ | |||||||
|  | // Prevents additional console window on Windows in release, DO NOT REMOVE!! | ||||||
|  | #![cfg_attr(not(debug_assertions), windows_subsystem = "windows")] | ||||||
|  |  | ||||||
|  | fn main() { | ||||||
|  |   tauri::Builder::default() | ||||||
|  |     .run(tauri::generate_context!()) | ||||||
|  |     .expect("error while running tauri application"); | ||||||
|  | } | ||||||
							
								
								
									
										60
									
								
								src-tauri/tauri.conf.json
									
									
									
									
									
										Normal file
									
								
							
							
						
						| @@ -0,0 +1,60 @@ | |||||||
|  | { | ||||||
|  |   "$schema": "../node_modules/@tauri-apps/cli/schema.json", | ||||||
|  |   "build": { | ||||||
|  |     "beforeBuildCommand": "npm run build", | ||||||
|  |     "beforeDevCommand": "npm run dev", | ||||||
|  |     "devPath": "http://localhost:9527", | ||||||
|  |     "distDir": "../dist" | ||||||
|  |   }, | ||||||
|  |   "package": { | ||||||
|  |     "productName": "soybean-admin", | ||||||
|  |     "version": "1.0.0" | ||||||
|  |   }, | ||||||
|  |   "tauri": { | ||||||
|  |     "allowlist": { | ||||||
|  |       "all": false | ||||||
|  |     }, | ||||||
|  |     "bundle": { | ||||||
|  |       "active": true, | ||||||
|  |       "category": "DeveloperTool", | ||||||
|  |       "copyright": "", | ||||||
|  |       "deb": { | ||||||
|  |         "depends": [] | ||||||
|  |       }, | ||||||
|  |       "externalBin": [], | ||||||
|  |       "icon": ["icons/32x32.png", "icons/128x128.png", "icons/128x128@2x.png", "icons/icon.icns", "icons/icon.ico"], | ||||||
|  |       "identifier": "cn.soybeanjs.admin", | ||||||
|  |       "longDescription": "", | ||||||
|  |       "macOS": { | ||||||
|  |         "entitlements": null, | ||||||
|  |         "exceptionDomain": "", | ||||||
|  |         "frameworks": [], | ||||||
|  |         "providerShortName": null, | ||||||
|  |         "signingIdentity": null | ||||||
|  |       }, | ||||||
|  |       "resources": [], | ||||||
|  |       "shortDescription": "", | ||||||
|  |       "targets": "all", | ||||||
|  |       "windows": { | ||||||
|  |         "certificateThumbprint": null, | ||||||
|  |         "digestAlgorithm": "sha256", | ||||||
|  |         "timestampUrl": "" | ||||||
|  |       } | ||||||
|  |     }, | ||||||
|  |     "security": { | ||||||
|  |       "csp": null | ||||||
|  |     }, | ||||||
|  |     "updater": { | ||||||
|  |       "active": false | ||||||
|  |     }, | ||||||
|  |     "windows": [ | ||||||
|  |       { | ||||||
|  |         "fullscreen": false, | ||||||
|  |         "height": 768, | ||||||
|  |         "resizable": true, | ||||||
|  |         "title": "SoybeanAdmin", | ||||||
|  |         "width": 1366 | ||||||
|  |       } | ||||||
|  |     ] | ||||||
|  |   } | ||||||
|  | } | ||||||
| @@ -2,7 +2,7 @@ | |||||||
| import { computed, useAttrs } from 'vue'; | import { computed, useAttrs } from 'vue'; | ||||||
| import { Icon } from '@iconify/vue'; | import { Icon } from '@iconify/vue'; | ||||||
|  |  | ||||||
| defineOptions({ name: 'SvgIcon' }); | defineOptions({ name: 'SvgIcon', inheritAttrs: false }); | ||||||
|  |  | ||||||
| /** | /** | ||||||
|  * Props |  * Props | ||||||
|   | |||||||
| @@ -92,7 +92,6 @@ export function useRouterPush(inSetup = true) { | |||||||
|   } |   } | ||||||
|  |  | ||||||
|   return { |   return { | ||||||
|     route, |  | ||||||
|     routerPush, |     routerPush, | ||||||
|     routerBack, |     routerBack, | ||||||
|     routerPushByKey, |     routerPushByKey, | ||||||
|   | |||||||
| @@ -1,4 +1,5 @@ | |||||||
| import { computed, reactive, ref } from 'vue'; | import { computed, reactive, ref } from 'vue'; | ||||||
|  | import { useRoute } from 'vue-router'; | ||||||
| import { defineStore } from 'pinia'; | import { defineStore } from 'pinia'; | ||||||
| import { useLoading } from '@sa/hooks'; | import { useLoading } from '@sa/hooks'; | ||||||
| import { SetupStoreId } from '@/enum'; | import { SetupStoreId } from '@/enum'; | ||||||
| @@ -10,8 +11,9 @@ import { useRouteStore } from '../route'; | |||||||
| import { clearAuthStorage, getToken, getUserInfo } from './shared'; | import { clearAuthStorage, getToken, getUserInfo } from './shared'; | ||||||
|  |  | ||||||
| export const useAuthStore = defineStore(SetupStoreId.Auth, () => { | export const useAuthStore = defineStore(SetupStoreId.Auth, () => { | ||||||
|  |   const route = useRoute(); | ||||||
|   const routeStore = useRouteStore(); |   const routeStore = useRouteStore(); | ||||||
|   const { route, toLogin, redirectFromLogin } = useRouterPush(false); |   const { toLogin, redirectFromLogin } = useRouterPush(false); | ||||||
|   const { loading: loginLoading, startLoading, endLoading } = useLoading(); |   const { loading: loginLoading, startLoading, endLoading } = useLoading(); | ||||||
|  |  | ||||||
|   const token = ref(getToken()); |   const token = ref(getToken()); | ||||||
| @@ -36,7 +38,7 @@ export const useAuthStore = defineStore(SetupStoreId.Auth, () => { | |||||||
|  |  | ||||||
|     authStore.$reset(); |     authStore.$reset(); | ||||||
|  |  | ||||||
|     if (!route.value.meta.constant) { |     if (!route.meta.constant) { | ||||||
|       await toLogin(); |       await toLogin(); | ||||||
|     } |     } | ||||||
|  |  | ||||||
|   | |||||||
| @@ -2,6 +2,7 @@ import { computed, effectScope, onScopeDispose, ref, toRefs, watch } from 'vue'; | |||||||
| import type { Ref } from 'vue'; | import type { Ref } from 'vue'; | ||||||
| import { defineStore } from 'pinia'; | import { defineStore } from 'pinia'; | ||||||
| import { useEventListener, usePreferredColorScheme } from '@vueuse/core'; | import { useEventListener, usePreferredColorScheme } from '@vueuse/core'; | ||||||
|  | import { getColorPalette } from '@sa/color-palette'; | ||||||
| import { SetupStoreId } from '@/enum'; | import { SetupStoreId } from '@/enum'; | ||||||
| import { localStg } from '@/utils/storage'; | import { localStg } from '@/utils/storage'; | ||||||
| import { addThemeVarsToHtml, createThemeToken, getNaiveTheme, initThemeSettings, toggleCssDarkMode } from './shared'; | import { addThemeVarsToHtml, createThemeToken, getNaiveTheme, initThemeSettings, toggleCssDarkMode } from './shared'; | ||||||
| @@ -79,10 +80,15 @@ export const useThemeStore = defineStore(SetupStoreId.Theme, () => { | |||||||
|    * @param color Theme color |    * @param color Theme color | ||||||
|    */ |    */ | ||||||
|   function updateThemeColors(key: App.Theme.ThemeColorKey, color: string) { |   function updateThemeColors(key: App.Theme.ThemeColorKey, color: string) { | ||||||
|  |     // get a color palette by provided color and color name, and use the suitable color | ||||||
|  |     const colorPalette = getColorPalette(color, key); | ||||||
|  |  | ||||||
|  |     const mainColor = colorPalette.main.hexcode; | ||||||
|  |  | ||||||
|     if (key === 'primary') { |     if (key === 'primary') { | ||||||
|       settings.value.themeColor = color; |       settings.value.themeColor = mainColor; | ||||||
|     } else { |     } else { | ||||||
|       settings.value.otherColor[key] = color; |       settings.value.otherColor[key] = mainColor; | ||||||
|     } |     } | ||||||
|   } |   } | ||||||
|  |  | ||||||
|   | |||||||
							
								
								
									
										2
									
								
								src/typings/naive-ui.d.ts
									
									
									
									
										vendored
									
									
								
							
							
						
						| @@ -41,7 +41,7 @@ declare namespace NaiveUI { | |||||||
|   type GetTableData<A extends TableApiFn> = A extends TableApiFn<infer T> ? T : never; |   type GetTableData<A extends TableApiFn> = A extends TableApiFn<infer T> ? T : never; | ||||||
|  |  | ||||||
|   type NaiveTableConfig<A extends TableApiFn> = Pick< |   type NaiveTableConfig<A extends TableApiFn> = Pick< | ||||||
|     import('@sa/hooks').TableConfig<A, GetTableData<A>, TableColumn<NaiveUI.TableDataWithIndex<GetTableData<A>>>>, |     import('@sa/hooks').TableConfig<A, GetTableData<A>, TableColumn<TableDataWithIndex<GetTableData<A>>>>, | ||||||
|     'apiFn' | 'apiParams' | 'columns' | 'immediate' |     'apiFn' | 'apiParams' | 'columns' | 'immediate' | ||||||
|   >; |   >; | ||||||
| } | } | ||||||
|   | |||||||
							
								
								
									
										4
									
								
								src/typings/union-key.d.ts
									
									
									
									
										vendored
									
									
								
							
							
						
						| @@ -27,8 +27,8 @@ declare namespace UnionKey { | |||||||
|   /** |   /** | ||||||
|    * The scroll mode when content overflow |    * The scroll mode when content overflow | ||||||
|    * |    * | ||||||
|    * - Wrapper the wrapper component's root element overflow |    * - wrapper: the wrapper component's root element overflow | ||||||
|    * - Content the content component overflow |    * - content: the content component overflow | ||||||
|    */ |    */ | ||||||
|   type ThemeScrollMode = import('@sa/materials').LayoutScrollMode; |   type ThemeScrollMode = import('@sa/materials').LayoutScrollMode; | ||||||
|  |  | ||||||
|   | |||||||
| @@ -84,11 +84,13 @@ function createDefaultModel(): Model { | |||||||
|   }; |   }; | ||||||
| } | } | ||||||
|  |  | ||||||
| type RuleKey = Extract<keyof Model, 'userName' | 'userStatus'>; | type RuleKey = Extract<keyof Model, 'menuName' | 'status' | 'routeName' | 'routePath'>; | ||||||
|  |  | ||||||
| const rules: Record<RuleKey, App.Global.FormRule> = { | const rules: Record<RuleKey, App.Global.FormRule> = { | ||||||
|   userName: defaultRequiredRule, |   menuName: defaultRequiredRule, | ||||||
|   userStatus: defaultRequiredRule |   status: defaultRequiredRule, | ||||||
|  |   routeName: defaultRequiredRule, | ||||||
|  |   routePath: defaultRequiredRule | ||||||
| }; | }; | ||||||
|  |  | ||||||
| const disabledMenuType = computed(() => props.operateType === 'edit'); | const disabledMenuType = computed(() => props.operateType === 'edit'); | ||||||
|   | |||||||