mirror of
https://github.com/soybeanjs/soybean-admin.git
synced 2025-10-24 02:23:41 +08:00
Compare commits
40 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
a6b92103a6 | ||
|
|
f4513e1e38 | ||
|
|
734ef9852c | ||
|
|
c137b97089 | ||
|
|
b8f9e60211 | ||
|
|
ce2a75b5a8 | ||
|
|
d0f17a440c | ||
|
|
413a8b29c7 | ||
|
|
52188d8853 | ||
|
|
fbc2e61f49 | ||
|
|
55d7cc09d7 | ||
|
|
dae2aa5513 | ||
|
|
b3e9bbaeaa | ||
|
|
c89e00d194 | ||
|
|
4708eded4c | ||
|
|
145300e95c | ||
|
|
3ddb17a0f5 | ||
|
|
a8dbc03e23 | ||
|
|
c0ed1f26f7 | ||
|
|
4749b411bd | ||
|
|
fbd80c289a | ||
|
|
da12d4a5cd | ||
|
|
1c3b4734fa | ||
|
|
93c7ff7122 | ||
|
|
1e14293d67 | ||
|
|
19e65c1a9f | ||
|
|
e57bf0b076 | ||
|
|
5d45cef1f0 | ||
|
|
d460e5cc6d | ||
|
|
3b5e4b3405 | ||
|
|
dcd51f4cda | ||
|
|
09f6464678 | ||
|
|
fdde679c70 | ||
|
|
b266035800 | ||
|
|
a1e432f81e | ||
|
|
82eabab753 | ||
|
|
0d45b86cde | ||
|
|
516f46a47e | ||
|
|
b52432a792 | ||
|
|
cf5bc88a75 |
3
.env
3
.env
@@ -40,3 +40,6 @@ VITE_SERVICE_EXPIRED_TOKEN_CODES=9999,9998
|
||||
|
||||
# when the route mode is static, the defined super role
|
||||
VITE_STATIC_SUPER_ROLE=R_SUPER
|
||||
|
||||
# sourcemap
|
||||
VITE_SOURCE_MAP=N
|
||||
|
||||
1
.npmrc
1
.npmrc
@@ -1,3 +1,4 @@
|
||||
registry=https://registry.npmmirror.com/
|
||||
shamefully-hoist=true
|
||||
ignore-workspace-root-check=true
|
||||
link-workspace-packages=true
|
||||
|
||||
3
.vscode/settings.json
vendored
3
.vscode/settings.json
vendored
@@ -13,7 +13,6 @@
|
||||
"i18n-ally.keystyle": "nested",
|
||||
"i18n-ally.localesPaths": ["src/locales/langs"],
|
||||
"prettier.enable": false,
|
||||
"unocss.root": ["./"],
|
||||
"typescript.tsdk": "node_modules/typescript/lib",
|
||||
"vue.server.hybridMode": true
|
||||
"unocss.root": ["./"]
|
||||
}
|
||||
|
||||
491
CHANGELOG.md
491
CHANGELOG.md
@@ -1,6 +1,129 @@
|
||||
# Changelog
|
||||
|
||||
|
||||
## [v1.0.9](https://github.com/soybeanjs/soybean-admin/compare/v1.0.8...v1.0.9) (2024-05-05)
|
||||
|
||||
### 🚀 Features
|
||||
|
||||
- **packages**: @sa/scripts: add new commit type `optimize` and commit scope `packages` - by @honghuangdc [<samp>(fbc2e)</samp>](https://github.com/soybeanjs/soybean-admin/commit/fbc2e61)
|
||||
|
||||
### 🐞 Bug Fixes
|
||||
|
||||
- **projects**: fix manage page drawer operate about data reset. fixed #415, fixed #417 - by @honghuangdc in https://github.com/soybeanjs/soybean-admin/issues/415 and https://github.com/soybeanjs/soybean-admin/issues/417 [<samp>(f4513)</samp>](https://github.com/soybeanjs/soybean-admin/commit/f4513e1)
|
||||
|
||||
### 📖 Documentation
|
||||
|
||||
- **projects**:
|
||||
- add ecosystem to README.md - by @honghuangdc [<samp>(d0f17)</samp>](https://github.com/soybeanjs/soybean-admin/commit/d0f17a4)
|
||||
- add PanisAdmin to README - by **paynezhuang** [<samp>(ce2a7)</samp>](https://github.com/soybeanjs/soybean-admin/commit/ce2a75b)
|
||||
|
||||
### 🏡 Chore
|
||||
|
||||
- **deps**:
|
||||
- update deps - by @honghuangdc [<samp>(413a8)</samp>](https://github.com/soybeanjs/soybean-admin/commit/413a8b2)
|
||||
- update deps - by @honghuangdc [<samp>(734ef)</samp>](https://github.com/soybeanjs/soybean-admin/commit/734ef98)
|
||||
- **projects**:
|
||||
- update .npmrc - by @honghuangdc [<samp>(52188)</samp>](https://github.com/soybeanjs/soybean-admin/commit/52188d8)
|
||||
- update vscode settings - by @honghuangdc [<samp>(c137b)</samp>](https://github.com/soybeanjs/soybean-admin/commit/c137b97)
|
||||
|
||||
### ❤️ Contributors
|
||||
|
||||
[](https://github.com/honghuangdc)
|
||||
[paynezhuang](mailto:paynezhuang@gmail.com)
|
||||
|
||||
## [v1.0.8](https://github.com/soybeanjs/soybean-admin/compare/v1.0.7...v1.0.8) (2024-04-27)
|
||||
|
||||
### 🐞 Bug Fixes
|
||||
|
||||
- **components**:
|
||||
- fix PinToggler label. fixed #407 - by @honghuangdc in https://github.com/soybeanjs/soybean-admin/issues/407 [<samp>(c0ed1)</samp>](https://github.com/soybeanjs/soybean-admin/commit/c0ed1f2)
|
||||
- **projects**:
|
||||
- text level low. #409 - by **alleycharming** in https://github.com/soybeanjs/soybean-admin/issues/409 [<samp>(3ddb1)</samp>](https://github.com/soybeanjs/soybean-admin/commit/3ddb17a)
|
||||
- fix tab fixedIndex as null case - by **paynezhuang** [<samp>(4708e)</samp>](https://github.com/soybeanjs/soybean-admin/commit/4708ede)
|
||||
- recovery the layout config before is mobile. fixed #408, fixed #361 - by @honghuangdc in https://github.com/soybeanjs/soybean-admin/issues/408 and https://github.com/soybeanjs/soybean-admin/issues/361 [<samp>(dae2a)</samp>](https://github.com/soybeanjs/soybean-admin/commit/dae2aa5)
|
||||
|
||||
### 🔥 Performance
|
||||
|
||||
- **projects**: perf judgement the fixed tab - by @honghuangdc [<samp>(b3e9b)</samp>](https://github.com/soybeanjs/soybean-admin/commit/b3e9bba)
|
||||
|
||||
### 💅 Refactors
|
||||
|
||||
- **projects**: `Soybean Admin` to `SoybeanAdmin` - by @honghuangdc [<samp>(a8dbc)</samp>](https://github.com/soybeanjs/soybean-admin/commit/a8dbc03)
|
||||
|
||||
### ❤️ Contributors
|
||||
|
||||
[](https://github.com/honghuangdc)
|
||||
[paynezhuang](mailto:paynezhuang@gmail.com), [alleycharming](mailto:alleycharming@gmail.com)
|
||||
|
||||
## [v1.0.7](https://github.com/soybeanjs/soybean-admin/compare/v1.0.6...v1.0.7) (2024-04-25)
|
||||
|
||||
### 🚀 Features
|
||||
|
||||
- **projects**: support iframe page with diffrent url of custom route - by @honghuangdc [<samp>(da12d)</samp>](https://github.com/soybeanjs/soybean-admin/commit/da12d4a)
|
||||
|
||||
### 🏡 Chore
|
||||
|
||||
- **deps**: update deps - by @honghuangdc [<samp>(fbd80)</samp>](https://github.com/soybeanjs/soybean-admin/commit/fbd80c2)
|
||||
|
||||
### ❤️ Contributors
|
||||
|
||||
[](https://github.com/honghuangdc)
|
||||
|
||||
## [v1.0.6](https://github.com/soybeanjs/soybean-admin/compare/v1.0.5...v1.0.6) (2024-04-25)
|
||||
|
||||
### 🚀 Features
|
||||
|
||||
- **hooks**: add state hooks: useRef, useState, useSignal - by @honghuangdc [<samp>(09f64)</samp>](https://github.com/soybeanjs/soybean-admin/commit/09f6464)
|
||||
|
||||
### 🐞 Bug Fixes
|
||||
|
||||
- **projects**:
|
||||
- added responseType judgment. #396 - by **alleycharming** in https://github.com/soybeanjs/soybean-admin/issues/396 [<samp>(82eab)</samp>](https://github.com/soybeanjs/soybean-admin/commit/82eabab)
|
||||
- supply $t import statement - by @honghuangdc [<samp>(b2660)</samp>](https://github.com/soybeanjs/soybean-admin/commit/b266035)
|
||||
- fix mix-menu blank. fixed #389 & cache mixMenuFixed - by @honghuangdc in https://github.com/soybeanjs/soybean-admin/issues/389 [<samp>(93c7f)</samp>](https://github.com/soybeanjs/soybean-admin/commit/93c7ff7)
|
||||
|
||||
### 🔥 Performance
|
||||
|
||||
- **hooks**:
|
||||
- perf useSignal - by @honghuangdc [<samp>(5d45c)</samp>](https://github.com/soybeanjs/soybean-admin/commit/5d45cef)
|
||||
- **projects**:
|
||||
- remove useless prop `title` of `NDrawer` - by @honghuangdc [<samp>(fdde6)</samp>](https://github.com/soybeanjs/soybean-admin/commit/fdde679)
|
||||
- add tsconfig.json for @sa/color-palette - by @honghuangdc [<samp>(d460e)</samp>](https://github.com/soybeanjs/soybean-admin/commit/d460e5c)
|
||||
|
||||
### 💅 Refactors
|
||||
|
||||
- **hooks**: refactor useSignal, useComputed - by @honghuangdc [<samp>(3b5e4)</samp>](https://github.com/soybeanjs/soybean-admin/commit/3b5e4b3)
|
||||
- **projects**: useMixMenuContext replace useMixMenu - by @honghuangdc [<samp>(1e142)</samp>](https://github.com/soybeanjs/soybean-admin/commit/1e14293)
|
||||
|
||||
### 🏡 Chore
|
||||
|
||||
- **deps**:
|
||||
- update deps - by @honghuangdc [<samp>(e57bf)</samp>](https://github.com/soybeanjs/soybean-admin/commit/e57bf0b)
|
||||
- **projects**:
|
||||
- use `engines` replace `packageManager` - by @honghuangdc [<samp>(dcd51)</samp>](https://github.com/soybeanjs/soybean-admin/commit/dcd51f4)
|
||||
- update pnpm version requirement - by @honghuangdc [<samp>(19e65)</samp>](https://github.com/soybeanjs/soybean-admin/commit/19e65c1)
|
||||
|
||||
### ❤️ Contributors
|
||||
|
||||
[](https://github.com/honghuangdc)
|
||||
[alleycharming](mailto:alleycharming@gmail.com)
|
||||
|
||||
## [v1.0.5](https://github.com/honghuangdc/soybean-admin/compare/v1.0.4...v1.0.5) (2024-04-24)
|
||||
|
||||
### 📖 Documentation
|
||||
|
||||
- **projects**: update CHANGELOG.md - by @honghuangdc [<samp>(cf5bc)</samp>](https://github.com/honghuangdc/soybean-admin/commit/cf5bc88)
|
||||
|
||||
### 🏡 Chore
|
||||
|
||||
- **projects**:
|
||||
- lower vue version to 3.4.23 - by @honghuangdc [<samp>(b5243)</samp>](https://github.com/honghuangdc/soybean-admin/commit/b52432a)
|
||||
- update pnpm-lock.yaml - by @honghuangdc [<samp>(516f4)</samp>](https://github.com/honghuangdc/soybean-admin/commit/516f46a)
|
||||
|
||||
### ❤️ Contributors
|
||||
|
||||
[](https://github.com/honghuangdc)
|
||||
|
||||
## [v1.0.4](https://github.com/soybeanjs/soybean-admin/compare/v1.0.3...v1.0.4) (2024-04-24)
|
||||
|
||||
### 🐞 Bug Fixes
|
||||
@@ -36,7 +159,7 @@
|
||||
|
||||
[](https://github.com/honghuangdc)
|
||||
|
||||
## [v1.0.3](https://github.com/soybeanjs/soybean-admin/compare/v1.0.2...v1.0.3) (24-04-16)
|
||||
## [v1.0.3](https://github.com/soybeanjs/soybean-admin/compare/v1.0.2...v1.0.3) (2024-04-16)
|
||||
|
||||
### 🚀 Features
|
||||
|
||||
@@ -63,16 +186,12 @@
|
||||
|
||||
- **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)
|
||||
## [v1.0.2](https://github.com/soybeanjs/soybean-admin/compare/v1.0.1...v1.0.2) (2024-04-08)
|
||||
|
||||
### 🐞 Bug Fixes
|
||||
|
||||
@@ -93,7 +212,7 @@
|
||||
[](https://github.com/honghuangdc)
|
||||
[燕博文](mailto:349952469@qq.com)
|
||||
|
||||
## [v1.0.1](https://github.com/soybeanjs/soybean-admin/compare/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) (2024-04-03)
|
||||
|
||||
### 🐞 Bug Fixes
|
||||
|
||||
@@ -115,7 +234,7 @@
|
||||
|
||||
[](https://github.com/honghuangdc)
|
||||
|
||||
## [v1.0.0](https://github.com/soybeanjs/soybean-admin/compare/v0.10.4...v1.0.0) (24-03-31)
|
||||
## [v1.0.0](https://github.com/soybeanjs/soybean-admin/compare/v0.10.4...v1.0.0) (2024-03-31)
|
||||
|
||||
### 🚀 Features
|
||||
|
||||
@@ -148,7 +267,7 @@
|
||||
- support directory menu hide all child menus. fixed #325 - by @honghuangdc in https://github.com/soybeanjs/soybean-admin/issues/325 [<samp>(7256a)</samp>](https://github.com/soybeanjs/soybean-admin/commit/7256ad4)
|
||||
- mock manage list data with pagination - by @honghuangdc [<samp>(1a6be)</samp>](https://github.com/soybeanjs/soybean-admin/commit/1a6be00)
|
||||
- globalSearch add i18n - by **燕博文** [<samp>(0126d)</samp>](https://github.com/soybeanjs/soybean-admin/commit/0126da4)
|
||||
- Add route meta parameter:fixedQuery - by **Azir-11** [<samp>(874aa)</samp>](https://github.com/soybeanjs/soybean-admin/commit/874aaca)
|
||||
- Add route meta parameter:fixedQuery - by @Azir-11 [<samp>(874aa)</samp>](https://github.com/soybeanjs/soybean-admin/commit/874aaca)
|
||||
- update - by @honghuangdc [<samp>(4158a)</samp>](https://github.com/soybeanjs/soybean-admin/commit/4158a72)
|
||||
- change borderRadius to 6px of naiveUI - by @honghuangdc [<samp>(49558)</samp>](https://github.com/soybeanjs/soybean-admin/commit/49558ca)
|
||||
- pef manage role - by @honghuangdc [<samp>(18709)</samp>](https://github.com/soybeanjs/soybean-admin/commit/1870981)
|
||||
@@ -158,7 +277,7 @@
|
||||
- add request exception example page - by @honghuangdc [<samp>(41e8b)</samp>](https://github.com/soybeanjs/soybean-admin/commit/41e8bc4)
|
||||
- add auth example - by @honghuangdc [<samp>(c11d5)</samp>](https://github.com/soybeanjs/soybean-admin/commit/c11d56d)
|
||||
- **router**:
|
||||
- add sortRoutesByOrder function - by **Azir-11** [<samp>(0cf09)</samp>](https://github.com/soybeanjs/soybean-admin/commit/0cf09ba)
|
||||
- add sortRoutesByOrder function - by @Azir-11 [<samp>(0cf09)</samp>](https://github.com/soybeanjs/soybean-admin/commit/0cf09ba)
|
||||
|
||||
### 🐞 Bug Fixes
|
||||
|
||||
@@ -347,7 +466,7 @@
|
||||
[](https://github.com/honghuangdc) [](https://github.com/Azir-11) [](https://github.com/smileluck) [](https://github.com/Particaly)
|
||||
[~li](mailto:miciili-02@outlook.com), [Azir-11](mailto:2075125282@qq.com), [燕博文](mailto:349952469@qq.com), [tnt group](mailto:dodu@live.cn), [Kori](mailto:kexin@korix.top),
|
||||
|
||||
## [v1.0.0-beta.3](https://github.com/soybeanjs/soybean-admin/compare/v1.0.0-beta.2...v1.0.0-beta.3) (24-03-31)
|
||||
## [v1.0.0-beta.3](https://github.com/soybeanjs/soybean-admin/compare/v1.0.0-beta.2...v1.0.0-beta.3) (2024-03-31)
|
||||
|
||||
### 📖 Documentation
|
||||
|
||||
@@ -362,7 +481,7 @@
|
||||
|
||||
[](https://github.com/honghuangdc)
|
||||
|
||||
## [v1.0.0-beta.2](https://github.com/soybeanjs/soybean-admin/compare/v1.0.0-beta.1...v1.0.0-beta.2) (24-03-27)
|
||||
## [v1.0.0-beta.2](https://github.com/soybeanjs/soybean-admin/compare/v1.0.0-beta.1...v1.0.0-beta.2) (2024-03-27)
|
||||
|
||||
### 🐞 Bug Fixes
|
||||
|
||||
@@ -393,220 +512,220 @@
|
||||
|
||||
[](https://github.com/honghuangdc)
|
||||
|
||||
## [v1.0.0-beta.1](https://github.com/honghuangdc/soybean-admin/compare/v0.10.4...v1.0.0-beta.1) (24-03-25)
|
||||
## [v1.0.0-beta.1](https://github.com/soybeanjs/soybean-admin/compare/v0.10.4...v1.0.0-beta.1) (2024-03-25)
|
||||
|
||||
### 🚀 Features
|
||||
|
||||
- internationalized menu search - by **Kori** [<samp>(9e115)</samp>](https://github.com/honghuangdc/soybean-admin/commit/9e115da)
|
||||
- internationalized menu search - by **Kori** [<samp>(9e115)</samp>](https://github.com/soybeanjs/soybean-admin/commit/9e115da)
|
||||
- **components**:
|
||||
- enhance the custom strength of the 'TableHeaderOperation' component - by **tnt group** [<samp>(fdf64)</samp>](https://github.com/honghuangdc/soybean-admin/commit/fdf64f7)
|
||||
- add GlobalSearch components - by **燕博文** [<samp>(9ea87)</samp>](https://github.com/honghuangdc/soybean-admin/commit/9ea8789)
|
||||
- enhance the custom strength of the 'TableHeaderOperation' component - by **tnt group** [<samp>(fdf64)</samp>](https://github.com/soybeanjs/soybean-admin/commit/fdf64f7)
|
||||
- add GlobalSearch components - by **燕博文** [<samp>(9ea87)</samp>](https://github.com/soybeanjs/soybean-admin/commit/9ea8789)
|
||||
- **hooks**:
|
||||
- add use-echarts - by @honghuangdc [<samp>(726ab)</samp>](https://github.com/honghuangdc/soybean-admin/commit/726abe4)
|
||||
- add use-echarts - by @honghuangdc [<samp>(726ab)</samp>](https://github.com/soybeanjs/soybean-admin/commit/726abe4)
|
||||
- **projects**:
|
||||
- 1.0 beta - by @honghuangdc [<samp>(e918a)</samp>](https://github.com/honghuangdc/soybean-admin/commit/e918a2c)
|
||||
- support Vite5 - by @honghuangdc [<samp>(96e4a)</samp>](https://github.com/honghuangdc/soybean-admin/commit/96e4aff)
|
||||
- @sa/axios: createRequest, createFlatRequest, createHookRequest - by @honghuangdc [<samp>(bac16)</samp>](https://github.com/honghuangdc/soybean-admin/commit/bac1632)
|
||||
- add app loading - by @honghuangdc [<samp>(c6545)</samp>](https://github.com/honghuangdc/soybean-admin/commit/c65451b)
|
||||
- add copyright, unocss shortcut: card-wrapper, update package.json - by @honghuangdc [<samp>(affcc)</samp>](https://github.com/honghuangdc/soybean-admin/commit/affcc26)
|
||||
- add page: about - by @honghuangdc [<samp>(4955f)</samp>](https://github.com/honghuangdc/soybean-admin/commit/4955f1a)
|
||||
- add custom route exception - by @honghuangdc [<samp>(b43c9)</samp>](https://github.com/honghuangdc/soybean-admin/commit/b43c925)
|
||||
- filter tabs which are not in routes - by @honghuangdc [<samp>(f59f3)</samp>](https://github.com/honghuangdc/soybean-admin/commit/f59f348)
|
||||
- packages/scripts: add command changelog,release - by @honghuangdc [<samp>(dafb6)</samp>](https://github.com/honghuangdc/soybean-admin/commit/dafb6fa)
|
||||
- add script: gen-route - by @honghuangdc [<samp>(697c1)</samp>](https://github.com/honghuangdc/soybean-admin/commit/697c1b6)
|
||||
- @sa/axios: add qs stringify for params - by @honghuangdc [<samp>(2400c)</samp>](https://github.com/honghuangdc/soybean-admin/commit/2400c02)
|
||||
- page home & perf useEcharts - by @honghuangdc [<samp>(62e4d)</samp>](https://github.com/honghuangdc/soybean-admin/commit/62e4da0)
|
||||
- finish page home - by @honghuangdc [<samp>(7bd1e)</samp>](https://github.com/honghuangdc/soybean-admin/commit/7bd1e47)
|
||||
- add page function_tab - by @honghuangdc [<samp>(6ff86)</samp>](https://github.com/honghuangdc/soybean-admin/commit/6ff86e7)
|
||||
- page manage_role - by @honghuangdc [<samp>(237c6)</samp>](https://github.com/honghuangdc/soybean-admin/commit/237c6d2)
|
||||
- page manage_user - by @honghuangdc [<samp>(8a170)</samp>](https://github.com/honghuangdc/soybean-admin/commit/8a170ee)
|
||||
- page manage_menu - by @honghuangdc [<samp>(87d65)</samp>](https://github.com/honghuangdc/soybean-admin/commit/87d65d3)
|
||||
- page manage_menu operateDrawer - by @honghuangdc [<samp>(db17c)</samp>](https://github.com/honghuangdc/soybean-admin/commit/db17c91)
|
||||
- Add type to TabRoute: matched - by @Azir-11 [<samp>(2d102)</samp>](https://github.com/honghuangdc/soybean-admin/commit/2d102a0)
|
||||
- support directory menu hide all child menus. fixed #325 - by @honghuangdc in https://github.com/honghuangdc/soybean-admin/issues/325 [<samp>(7256a)</samp>](https://github.com/honghuangdc/soybean-admin/commit/7256ad4)
|
||||
- mock manage list data with pagination - by @honghuangdc [<samp>(1a6be)</samp>](https://github.com/honghuangdc/soybean-admin/commit/1a6be00)
|
||||
- globalSearch add i18n - by **燕博文** [<samp>(0126d)</samp>](https://github.com/honghuangdc/soybean-admin/commit/0126da4)
|
||||
- Add route meta parameter:fixedQuery - by **Azir-11** [<samp>(874aa)</samp>](https://github.com/honghuangdc/soybean-admin/commit/874aaca)
|
||||
- update - by @honghuangdc [<samp>(4158a)</samp>](https://github.com/honghuangdc/soybean-admin/commit/4158a72)
|
||||
- change borderRadius to 6px of naiveUI - by @honghuangdc [<samp>(49558)</samp>](https://github.com/honghuangdc/soybean-admin/commit/49558ca)
|
||||
- pef manage role - by @honghuangdc [<samp>(18709)</samp>](https://github.com/honghuangdc/soybean-admin/commit/1870981)
|
||||
- login page: code-login - by @honghuangdc [<samp>(c91dd)</samp>](https://github.com/honghuangdc/soybean-admin/commit/c91dd28)
|
||||
- login page: register - by @honghuangdc [<samp>(1ed33)</samp>](https://github.com/honghuangdc/soybean-admin/commit/1ed33dc)
|
||||
- add request refresh token & logout - by @honghuangdc [<samp>(11a6a)</samp>](https://github.com/honghuangdc/soybean-admin/commit/11a6a3b)
|
||||
- add request exception example page - by @honghuangdc [<samp>(41e8b)</samp>](https://github.com/honghuangdc/soybean-admin/commit/41e8bc4)
|
||||
- add auth example - by @honghuangdc [<samp>(c11d5)</samp>](https://github.com/honghuangdc/soybean-admin/commit/c11d56d)
|
||||
- 1.0 beta - by @honghuangdc [<samp>(e918a)</samp>](https://github.com/soybeanjs/soybean-admin/commit/e918a2c)
|
||||
- support Vite5 - by @honghuangdc [<samp>(96e4a)</samp>](https://github.com/soybeanjs/soybean-admin/commit/96e4aff)
|
||||
- @sa/axios: createRequest, createFlatRequest, createHookRequest - by @honghuangdc [<samp>(bac16)</samp>](https://github.com/soybeanjs/soybean-admin/commit/bac1632)
|
||||
- add app loading - by @honghuangdc [<samp>(c6545)</samp>](https://github.com/soybeanjs/soybean-admin/commit/c65451b)
|
||||
- add copyright, unocss shortcut: card-wrapper, update package.json - by @honghuangdc [<samp>(affcc)</samp>](https://github.com/soybeanjs/soybean-admin/commit/affcc26)
|
||||
- add page: about - by @honghuangdc [<samp>(4955f)</samp>](https://github.com/soybeanjs/soybean-admin/commit/4955f1a)
|
||||
- add custom route exception - by @honghuangdc [<samp>(b43c9)</samp>](https://github.com/soybeanjs/soybean-admin/commit/b43c925)
|
||||
- filter tabs which are not in routes - by @honghuangdc [<samp>(f59f3)</samp>](https://github.com/soybeanjs/soybean-admin/commit/f59f348)
|
||||
- packages/scripts: add command changelog,release - by @honghuangdc [<samp>(dafb6)</samp>](https://github.com/soybeanjs/soybean-admin/commit/dafb6fa)
|
||||
- add script: gen-route - by @honghuangdc [<samp>(697c1)</samp>](https://github.com/soybeanjs/soybean-admin/commit/697c1b6)
|
||||
- @sa/axios: add qs stringify for params - by @honghuangdc [<samp>(2400c)</samp>](https://github.com/soybeanjs/soybean-admin/commit/2400c02)
|
||||
- page home & perf useEcharts - by @honghuangdc [<samp>(62e4d)</samp>](https://github.com/soybeanjs/soybean-admin/commit/62e4da0)
|
||||
- finish page home - by @honghuangdc [<samp>(7bd1e)</samp>](https://github.com/soybeanjs/soybean-admin/commit/7bd1e47)
|
||||
- add page function_tab - by @honghuangdc [<samp>(6ff86)</samp>](https://github.com/soybeanjs/soybean-admin/commit/6ff86e7)
|
||||
- page manage_role - by @honghuangdc [<samp>(237c6)</samp>](https://github.com/soybeanjs/soybean-admin/commit/237c6d2)
|
||||
- page manage_user - by @honghuangdc [<samp>(8a170)</samp>](https://github.com/soybeanjs/soybean-admin/commit/8a170ee)
|
||||
- page manage_menu - by @honghuangdc [<samp>(87d65)</samp>](https://github.com/soybeanjs/soybean-admin/commit/87d65d3)
|
||||
- page manage_menu operateDrawer - by @honghuangdc [<samp>(db17c)</samp>](https://github.com/soybeanjs/soybean-admin/commit/db17c91)
|
||||
- Add type to TabRoute: matched - by @Azir-11 [<samp>(2d102)</samp>](https://github.com/soybeanjs/soybean-admin/commit/2d102a0)
|
||||
- support directory menu hide all child menus. fixed #325 - by @honghuangdc in https://github.com/soybeanjs/soybean-admin/issues/325 [<samp>(7256a)</samp>](https://github.com/soybeanjs/soybean-admin/commit/7256ad4)
|
||||
- mock manage list data with pagination - by @honghuangdc [<samp>(1a6be)</samp>](https://github.com/soybeanjs/soybean-admin/commit/1a6be00)
|
||||
- globalSearch add i18n - by **燕博文** [<samp>(0126d)</samp>](https://github.com/soybeanjs/soybean-admin/commit/0126da4)
|
||||
- Add route meta parameter:fixedQuery - by @Azir-11 [<samp>(874aa)</samp>](https://github.com/soybeanjs/soybean-admin/commit/874aaca)
|
||||
- update - by @honghuangdc [<samp>(4158a)</samp>](https://github.com/soybeanjs/soybean-admin/commit/4158a72)
|
||||
- change borderRadius to 6px of naiveUI - by @honghuangdc [<samp>(49558)</samp>](https://github.com/soybeanjs/soybean-admin/commit/49558ca)
|
||||
- pef manage role - by @honghuangdc [<samp>(18709)</samp>](https://github.com/soybeanjs/soybean-admin/commit/1870981)
|
||||
- login page: code-login - by @honghuangdc [<samp>(c91dd)</samp>](https://github.com/soybeanjs/soybean-admin/commit/c91dd28)
|
||||
- login page: register - by @honghuangdc [<samp>(1ed33)</samp>](https://github.com/soybeanjs/soybean-admin/commit/1ed33dc)
|
||||
- add request refresh token & logout - by @honghuangdc [<samp>(11a6a)</samp>](https://github.com/soybeanjs/soybean-admin/commit/11a6a3b)
|
||||
- add request exception example page - by @honghuangdc [<samp>(41e8b)</samp>](https://github.com/soybeanjs/soybean-admin/commit/41e8bc4)
|
||||
- add auth example - by @honghuangdc [<samp>(c11d5)</samp>](https://github.com/soybeanjs/soybean-admin/commit/c11d56d)
|
||||
- **router**:
|
||||
- add sortRoutesByOrder function - by **Azir-11** [<samp>(0cf09)</samp>](https://github.com/honghuangdc/soybean-admin/commit/0cf09ba)
|
||||
- add sortRoutesByOrder function - by @Azir-11 [<samp>(0cf09)</samp>](https://github.com/soybeanjs/soybean-admin/commit/0cf09ba)
|
||||
|
||||
### 🐞 Bug Fixes
|
||||
|
||||
- **components**:
|
||||
- fix tooltip zIndex of ButtonIcon - by @honghuangdc [<samp>(99097)</samp>](https://github.com/honghuangdc/soybean-admin/commit/99097b4)
|
||||
- supplement the `NaiveUI` type - by **tnt group** [<samp>(ccc2b)</samp>](https://github.com/honghuangdc/soybean-admin/commit/ccc2b67)
|
||||
- fix homeTab closeRight and disable colseLeft - by **~li** [<samp>(d28bf)</samp>](https://github.com/honghuangdc/soybean-admin/commit/d28bf52)
|
||||
- fix tooltip zIndex of ButtonIcon - by @honghuangdc [<samp>(99097)</samp>](https://github.com/soybeanjs/soybean-admin/commit/99097b4)
|
||||
- supplement the `NaiveUI` type - by **tnt group** [<samp>(ccc2b)</samp>](https://github.com/soybeanjs/soybean-admin/commit/ccc2b67)
|
||||
- fix homeTab closeRight and disable colseLeft - by **~li** [<samp>(d28bf)</samp>](https://github.com/soybeanjs/soybean-admin/commit/d28bf52)
|
||||
- **hooks**:
|
||||
- Fix Naive Pagination's outdated API - by **tnt group** [<samp>(37436)</samp>](https://github.com/honghuangdc/soybean-admin/commit/3743612)
|
||||
- Fix Naive Pagination's outdated API - by **tnt group** [<samp>(37436)</samp>](https://github.com/soybeanjs/soybean-admin/commit/3743612)
|
||||
- **projects**:
|
||||
- 修复路由命名为包含关系时导致导航数据出错的问题 - by @Particaly [<samp>(76636)</samp>](https://github.com/honghuangdc/soybean-admin/commit/766369f)
|
||||
- rename zh-ch - by @honghuangdc [<samp>(a8a77)</samp>](https://github.com/honghuangdc/soybean-admin/commit/a8a77ea)
|
||||
- Fix welcome notification not closing - by @Azir-11 [<samp>(748cf)</samp>](https://github.com/honghuangdc/soybean-admin/commit/748cfa2)
|
||||
- fix i18n vscode settings - by @honghuangdc [<samp>(fbf4c)</samp>](https://github.com/honghuangdc/soybean-admin/commit/fbf4cc4)
|
||||
- add duration of login success notification - by @honghuangdc [<samp>(1335d)</samp>](https://github.com/honghuangdc/soybean-admin/commit/1335d47)
|
||||
- fix menu indent - by @honghuangdc [<samp>(87143)</samp>](https://github.com/honghuangdc/soybean-admin/commit/8714317)
|
||||
- fix theme mode segment - by @honghuangdc [<samp>(2372d)</samp>](https://github.com/honghuangdc/soybean-admin/commit/2372dc9)
|
||||
- fix app loading theme color - by @honghuangdc [<samp>(0ba19)</samp>](https://github.com/honghuangdc/soybean-admin/commit/0ba19d5)
|
||||
- fix page about style in mobile - by @honghuangdc [<samp>(8b6de)</samp>](https://github.com/honghuangdc/soybean-admin/commit/8b6de48)
|
||||
- fix themeDrawer darkMode segement - by @honghuangdc [<samp>(1b5ca)</samp>](https://github.com/honghuangdc/soybean-admin/commit/1b5caa0)
|
||||
- fix themeDrawer copy - by @honghuangdc [<samp>(b3779)</samp>](https://github.com/honghuangdc/soybean-admin/commit/b3779a6)
|
||||
- remove space in tab content - by @honghuangdc [<samp>(4aae6)</samp>](https://github.com/honghuangdc/soybean-admin/commit/4aae6a5)
|
||||
- fix horizontal menu - by @honghuangdc [<samp>(d886e)</samp>](https://github.com/honghuangdc/soybean-admin/commit/d886e50)
|
||||
- perf card style - by @honghuangdc [<samp>(c1afb)</samp>](https://github.com/honghuangdc/soybean-admin/commit/c1afb9d)
|
||||
- fix manage_user title - by @honghuangdc [<samp>(7770b)</samp>](https://github.com/honghuangdc/soybean-admin/commit/7770b37)
|
||||
- default proxy prefix - by @smileluck [<samp>(da246)</samp>](https://github.com/honghuangdc/soybean-admin/commit/da24642)
|
||||
- fix request msg - by @honghuangdc [<samp>(ae6b6)</samp>](https://github.com/honghuangdc/soybean-admin/commit/ae6b613)
|
||||
- Fix the issue of tab error displaying parent localIcon - by @Azir-11 [<samp>(a9c98)</samp>](https://github.com/honghuangdc/soybean-admin/commit/a9c98d9)
|
||||
- The matched value of TabRoute should be optional - by @Azir-11 [<samp>(e6fed)</samp>](https://github.com/honghuangdc/soybean-admin/commit/e6fed1f)
|
||||
- fix build [unocss]: build failed to load icon "close", fixed #319 - by @honghuangdc in https://github.com/honghuangdc/soybean-admin/issues/319 [<samp>(c18d8)</samp>](https://github.com/honghuangdc/soybean-admin/commit/c18d82f)
|
||||
- fix resolve alias - by @honghuangdc [<samp>(3bdcb)</samp>](https://github.com/honghuangdc/soybean-admin/commit/3bdcbc7)
|
||||
- Missing default value for tab icon - by @Azir-11 [<samp>(72a46)</samp>](https://github.com/honghuangdc/soybean-admin/commit/72a4679)
|
||||
- add route icon: fucntion_hide-child - by @honghuangdc [<samp>(0a3ef)</samp>](https://github.com/honghuangdc/soybean-admin/commit/0a3efe3)
|
||||
- fix table x-scroll. fixed #324 - by @honghuangdc in https://github.com/honghuangdc/soybean-admin/issues/324 [<samp>(c7e2c)</samp>](https://github.com/honghuangdc/soybean-admin/commit/c7e2c55)
|
||||
- Fix the logic of root route redirection to home - by **恕瑞玛的皇帝** [<samp>(0123c)</samp>](https://github.com/honghuangdc/soybean-admin/commit/0123c37)
|
||||
- Fix homepage mount error under dynamic routing - by **恕瑞玛的皇帝** [<samp>(9cf2a)</samp>](https://github.com/honghuangdc/soybean-admin/commit/9cf2a51)
|
||||
- fix repeat home tab - by @honghuangdc [<samp>(bccd6)</samp>](https://github.com/honghuangdc/soybean-admin/commit/bccd6cb)
|
||||
- fix proxy config - by @honghuangdc [<samp>(c8019)</samp>](https://github.com/honghuangdc/soybean-admin/commit/c8019c4)
|
||||
- fix proxy config - by @honghuangdc [<samp>(ffc95)</samp>](https://github.com/honghuangdc/soybean-admin/commit/ffc95d2)
|
||||
- fix table row-key ts type - by @honghuangdc [<samp>(0cc8f)</samp>](https://github.com/honghuangdc/soybean-admin/commit/0cc8f05)
|
||||
- fix class name conflict with unocss icon - by @honghuangdc [<samp>(455e4)</samp>](https://github.com/honghuangdc/soybean-admin/commit/455e48f)
|
||||
- fix repeat routes - by @honghuangdc [<samp>(2c543)</samp>](https://github.com/honghuangdc/soybean-admin/commit/2c543f1)
|
||||
- fix route init - by @honghuangdc [<samp>(23a40)</samp>](https://github.com/honghuangdc/soybean-admin/commit/23a4098)
|
||||
- 修复路由命名为包含关系时导致导航数据出错的问题 - by **pantao** [<samp>(76636)</samp>](https://github.com/soybeanjs/soybean-admin/commit/766369f)
|
||||
- rename zh-ch - by @honghuangdc [<samp>(a8a77)</samp>](https://github.com/soybeanjs/soybean-admin/commit/a8a77ea)
|
||||
- Fix welcome notification not closing - by @Azir-11 [<samp>(748cf)</samp>](https://github.com/soybeanjs/soybean-admin/commit/748cfa2)
|
||||
- fix i18n vscode settings - by @honghuangdc [<samp>(fbf4c)</samp>](https://github.com/soybeanjs/soybean-admin/commit/fbf4cc4)
|
||||
- add duration of login success notification - by @honghuangdc [<samp>(1335d)</samp>](https://github.com/soybeanjs/soybean-admin/commit/1335d47)
|
||||
- fix menu indent - by @honghuangdc [<samp>(87143)</samp>](https://github.com/soybeanjs/soybean-admin/commit/8714317)
|
||||
- fix theme mode segment - by @honghuangdc [<samp>(2372d)</samp>](https://github.com/soybeanjs/soybean-admin/commit/2372dc9)
|
||||
- fix app loading theme color - by @honghuangdc [<samp>(0ba19)</samp>](https://github.com/soybeanjs/soybean-admin/commit/0ba19d5)
|
||||
- fix page about style in mobile - by @honghuangdc [<samp>(8b6de)</samp>](https://github.com/soybeanjs/soybean-admin/commit/8b6de48)
|
||||
- fix themeDrawer darkMode segement - by @honghuangdc [<samp>(1b5ca)</samp>](https://github.com/soybeanjs/soybean-admin/commit/1b5caa0)
|
||||
- fix themeDrawer copy - by @honghuangdc [<samp>(b3779)</samp>](https://github.com/soybeanjs/soybean-admin/commit/b3779a6)
|
||||
- remove space in tab content - by @honghuangdc [<samp>(4aae6)</samp>](https://github.com/soybeanjs/soybean-admin/commit/4aae6a5)
|
||||
- fix horizontal menu - by @honghuangdc [<samp>(d886e)</samp>](https://github.com/soybeanjs/soybean-admin/commit/d886e50)
|
||||
- perf card style - by @honghuangdc [<samp>(c1afb)</samp>](https://github.com/soybeanjs/soybean-admin/commit/c1afb9d)
|
||||
- fix manage_user title - by @honghuangdc [<samp>(7770b)</samp>](https://github.com/soybeanjs/soybean-admin/commit/7770b37)
|
||||
- default proxy prefix - by @smileluck [<samp>(da246)</samp>](https://github.com/soybeanjs/soybean-admin/commit/da24642)
|
||||
- fix request msg - by @honghuangdc [<samp>(ae6b6)</samp>](https://github.com/soybeanjs/soybean-admin/commit/ae6b613)
|
||||
- Fix the issue of tab error displaying parent localIcon - by @Azir-11 [<samp>(a9c98)</samp>](https://github.com/soybeanjs/soybean-admin/commit/a9c98d9)
|
||||
- The matched value of TabRoute should be optional - by @Azir-11 [<samp>(e6fed)</samp>](https://github.com/soybeanjs/soybean-admin/commit/e6fed1f)
|
||||
- fix build [unocss]: build failed to load icon "close", fixed #319 - by @honghuangdc in https://github.com/soybeanjs/soybean-admin/issues/319 [<samp>(c18d8)</samp>](https://github.com/soybeanjs/soybean-admin/commit/c18d82f)
|
||||
- fix resolve alias - by @honghuangdc [<samp>(3bdcb)</samp>](https://github.com/soybeanjs/soybean-admin/commit/3bdcbc7)
|
||||
- Missing default value for tab icon - by @Azir-11 [<samp>(72a46)</samp>](https://github.com/soybeanjs/soybean-admin/commit/72a4679)
|
||||
- add route icon: fucntion_hide-child - by @honghuangdc [<samp>(0a3ef)</samp>](https://github.com/soybeanjs/soybean-admin/commit/0a3efe3)
|
||||
- fix table x-scroll. fixed #324 - by @honghuangdc in https://github.com/soybeanjs/soybean-admin/issues/324 [<samp>(c7e2c)</samp>](https://github.com/soybeanjs/soybean-admin/commit/c7e2c55)
|
||||
- Fix the logic of root route redirection to home - by **恕瑞玛的皇帝** [<samp>(0123c)</samp>](https://github.com/soybeanjs/soybean-admin/commit/0123c37)
|
||||
- Fix homepage mount error under dynamic routing - by **恕瑞玛的皇帝** [<samp>(9cf2a)</samp>](https://github.com/soybeanjs/soybean-admin/commit/9cf2a51)
|
||||
- fix repeat home tab - by @honghuangdc [<samp>(bccd6)</samp>](https://github.com/soybeanjs/soybean-admin/commit/bccd6cb)
|
||||
- fix proxy config - by @honghuangdc [<samp>(c8019)</samp>](https://github.com/soybeanjs/soybean-admin/commit/c8019c4)
|
||||
- fix proxy config - by @honghuangdc [<samp>(ffc95)</samp>](https://github.com/soybeanjs/soybean-admin/commit/ffc95d2)
|
||||
- fix table row-key ts type - by @honghuangdc [<samp>(0cc8f)</samp>](https://github.com/soybeanjs/soybean-admin/commit/0cc8f05)
|
||||
- fix class name conflict with unocss icon - by @honghuangdc [<samp>(455e4)</samp>](https://github.com/soybeanjs/soybean-admin/commit/455e48f)
|
||||
- fix repeat routes - by @honghuangdc [<samp>(2c543)</samp>](https://github.com/soybeanjs/soybean-admin/commit/2c543f1)
|
||||
- fix route init - by @honghuangdc [<samp>(23a40)</samp>](https://github.com/soybeanjs/soybean-admin/commit/23a4098)
|
||||
|
||||
### 🔥 Performance
|
||||
|
||||
- **components**:
|
||||
- Optimize internationalized menu search code - by **燕博文** [<samp>(8c1ef)</samp>](https://github.com/honghuangdc/soybean-admin/commit/8c1ef4b)
|
||||
- Optimize menu search code - by **燕博文** [<samp>(296a2)</samp>](https://github.com/honghuangdc/soybean-admin/commit/296a2d2)
|
||||
- perf count-to - by @honghuangdc [<samp>(b2c61)</samp>](https://github.com/honghuangdc/soybean-admin/commit/b2c61f0)
|
||||
- components name is converted to uppercase - by **燕博文** [<samp>(04aa1)</samp>](https://github.com/honghuangdc/soybean-admin/commit/04aa10b)
|
||||
- perf global-search - by @honghuangdc [<samp>(72745)</samp>](https://github.com/honghuangdc/soybean-admin/commit/7274522)
|
||||
- Optimize internationalized menu search code - by **燕博文** [<samp>(8c1ef)</samp>](https://github.com/soybeanjs/soybean-admin/commit/8c1ef4b)
|
||||
- Optimize menu search code - by **燕博文** [<samp>(296a2)</samp>](https://github.com/soybeanjs/soybean-admin/commit/296a2d2)
|
||||
- perf count-to - by @honghuangdc [<samp>(b2c61)</samp>](https://github.com/soybeanjs/soybean-admin/commit/b2c61f0)
|
||||
- components name is converted to uppercase - by **燕博文** [<samp>(04aa1)</samp>](https://github.com/soybeanjs/soybean-admin/commit/04aa10b)
|
||||
- perf global-search - by @honghuangdc [<samp>(72745)</samp>](https://github.com/soybeanjs/soybean-admin/commit/7274522)
|
||||
- **projects**:
|
||||
- perf code - by @honghuangdc [<samp>(8081e)</samp>](https://github.com/honghuangdc/soybean-admin/commit/8081e19)
|
||||
- env config - by @honghuangdc [<samp>(1bac3)</samp>](https://github.com/honghuangdc/soybean-admin/commit/1bac3b7)
|
||||
- add detailed annotations for route role - by @honghuangdc [<samp>(f6bab)</samp>](https://github.com/honghuangdc/soybean-admin/commit/f6bab0c)
|
||||
- perf code - by @honghuangdc [<samp>(5c49d)</samp>](https://github.com/honghuangdc/soybean-admin/commit/5c49d24)
|
||||
- remove useless file - by @honghuangdc [<samp>(c624f)</samp>](https://github.com/honghuangdc/soybean-admin/commit/c624f32)
|
||||
- remove @soybeanjs/cli - by @honghuangdc [<samp>(41349)</samp>](https://github.com/honghuangdc/soybean-admin/commit/4134955)
|
||||
- echarts loading style - by @honghuangdc [<samp>(456c3)</samp>](https://github.com/honghuangdc/soybean-admin/commit/456c318)
|
||||
- perf page manage_role, useTable - by @honghuangdc [<samp>(39aa7)</samp>](https://github.com/honghuangdc/soybean-admin/commit/39aa7aa)
|
||||
- perf table columns style - by @honghuangdc [<samp>(babdb)</samp>](https://github.com/honghuangdc/soybean-admin/commit/babdb5d)
|
||||
- perf page manage_menu style - by @honghuangdc [<samp>(0aa75)</samp>](https://github.com/honghuangdc/soybean-admin/commit/0aa75c0)
|
||||
- perf code - by @honghuangdc [<samp>(7fa87)</samp>](https://github.com/honghuangdc/soybean-admin/commit/7fa87f5)
|
||||
- perf code - by @honghuangdc [<samp>(05db8)</samp>](https://github.com/honghuangdc/soybean-admin/commit/05db8c0)
|
||||
- perf code - by @honghuangdc [<samp>(dc24a)</samp>](https://github.com/honghuangdc/soybean-admin/commit/dc24a36)
|
||||
- perf manage page style - by @honghuangdc [<samp>(779ba)</samp>](https://github.com/honghuangdc/soybean-admin/commit/779ba4e)
|
||||
- perf manage menu - by @honghuangdc [<samp>(71f2c)</samp>](https://github.com/honghuangdc/soybean-admin/commit/71f2c55)
|
||||
- manage menu: add transform to component - by @honghuangdc [<samp>(0abbf)</samp>](https://github.com/honghuangdc/soybean-admin/commit/0abbfa5)
|
||||
- perf code - by @honghuangdc [<samp>(8081e)</samp>](https://github.com/soybeanjs/soybean-admin/commit/8081e19)
|
||||
- env config - by @honghuangdc [<samp>(1bac3)</samp>](https://github.com/soybeanjs/soybean-admin/commit/1bac3b7)
|
||||
- add detailed annotations for route role - by @honghuangdc [<samp>(f6bab)</samp>](https://github.com/soybeanjs/soybean-admin/commit/f6bab0c)
|
||||
- perf code - by @honghuangdc [<samp>(5c49d)</samp>](https://github.com/soybeanjs/soybean-admin/commit/5c49d24)
|
||||
- remove useless file - by @honghuangdc [<samp>(c624f)</samp>](https://github.com/soybeanjs/soybean-admin/commit/c624f32)
|
||||
- remove @soybeanjs/cli - by @honghuangdc [<samp>(41349)</samp>](https://github.com/soybeanjs/soybean-admin/commit/4134955)
|
||||
- echarts loading style - by @honghuangdc [<samp>(456c3)</samp>](https://github.com/soybeanjs/soybean-admin/commit/456c318)
|
||||
- perf page manage_role, useTable - by @honghuangdc [<samp>(39aa7)</samp>](https://github.com/soybeanjs/soybean-admin/commit/39aa7aa)
|
||||
- perf table columns style - by @honghuangdc [<samp>(babdb)</samp>](https://github.com/soybeanjs/soybean-admin/commit/babdb5d)
|
||||
- perf page manage_menu style - by @honghuangdc [<samp>(0aa75)</samp>](https://github.com/soybeanjs/soybean-admin/commit/0aa75c0)
|
||||
- perf code - by @honghuangdc [<samp>(7fa87)</samp>](https://github.com/soybeanjs/soybean-admin/commit/7fa87f5)
|
||||
- perf code - by @honghuangdc [<samp>(05db8)</samp>](https://github.com/soybeanjs/soybean-admin/commit/05db8c0)
|
||||
- perf code - by @honghuangdc [<samp>(dc24a)</samp>](https://github.com/soybeanjs/soybean-admin/commit/dc24a36)
|
||||
- perf manage page style - by @honghuangdc [<samp>(779ba)</samp>](https://github.com/soybeanjs/soybean-admin/commit/779ba4e)
|
||||
- perf manage menu - by @honghuangdc [<samp>(71f2c)</samp>](https://github.com/soybeanjs/soybean-admin/commit/71f2c55)
|
||||
- manage menu: add transform to component - by @honghuangdc [<samp>(0abbf)</samp>](https://github.com/soybeanjs/soybean-admin/commit/0abbfa5)
|
||||
|
||||
### 💅 Refactors
|
||||
|
||||
- **projects**:
|
||||
- remove plugin-web-update-notification - by @honghuangdc [<samp>(f6c6d)</samp>](https://github.com/honghuangdc/soybean-admin/commit/f6c6dbd)
|
||||
- fix conflict with locale file - by @honghuangdc [<samp>(3346b)</samp>](https://github.com/honghuangdc/soybean-admin/commit/3346bcd)
|
||||
- refactor app-loading - by @honghuangdc [<samp>(b4f3d)</samp>](https://github.com/honghuangdc/soybean-admin/commit/b4f3dd2)
|
||||
- use naive-ui color-picker - by @honghuangdc [<samp>(b5551)</samp>](https://github.com/honghuangdc/soybean-admin/commit/b5551d6)
|
||||
- perf page home - by @honghuangdc [<samp>(4c61c)</samp>](https://github.com/honghuangdc/soybean-admin/commit/4c61c6f)
|
||||
- login components => modules - by @honghuangdc [<samp>(59bec)</samp>](https://github.com/honghuangdc/soybean-admin/commit/59bec2d)
|
||||
- perf page function_tab - by @honghuangdc [<samp>(b5477)</samp>](https://github.com/honghuangdc/soybean-admin/commit/b5477e8)
|
||||
- update mock api - by @honghuangdc [<samp>(27241)</samp>](https://github.com/honghuangdc/soybean-admin/commit/2724169)
|
||||
- page manage_role: extract module - by @honghuangdc [<samp>(0e9e2)</samp>](https://github.com/honghuangdc/soybean-admin/commit/0e9e2e1)
|
||||
- perf page manage_role - by @honghuangdc [<samp>(a19f8)</samp>](https://github.com/honghuangdc/soybean-admin/commit/a19f895)
|
||||
- manage_route => manage_menu - by @honghuangdc [<samp>(f8467)</samp>](https://github.com/honghuangdc/soybean-admin/commit/f8467ce)
|
||||
- refactor service env config - by @honghuangdc [<samp>(43193)</samp>](https://github.com/honghuangdc/soybean-admin/commit/43193e2)
|
||||
- refactor unocss shortcuts: wh-full => size-full - by @honghuangdc [<samp>(b4c00)</samp>](https://github.com/honghuangdc/soybean-admin/commit/b4c00ce)
|
||||
- use enquirer replace prompts - by @honghuangdc [<samp>(b546f)</samp>](https://github.com/honghuangdc/soybean-admin/commit/b546ff8)
|
||||
- refactor useTable - by @honghuangdc [<samp>(c3efa)</samp>](https://github.com/honghuangdc/soybean-admin/commit/c3efa1b)
|
||||
- finish refactor useTable - by @honghuangdc [<samp>(86301)</samp>](https://github.com/honghuangdc/soybean-admin/commit/8630175)
|
||||
- finish refactor useTable and apply - by @honghuangdc [<samp>(3fd15)</samp>](https://github.com/honghuangdc/soybean-admin/commit/3fd15e5)
|
||||
- perf code - by @honghuangdc [<samp>(f91ef)</samp>](https://github.com/honghuangdc/soybean-admin/commit/f91ef30)
|
||||
- new route guard - by @honghuangdc [<samp>(37d20)</samp>](https://github.com/honghuangdc/soybean-admin/commit/37d20b8)
|
||||
- remove plugin-web-update-notification - by @honghuangdc [<samp>(f6c6d)</samp>](https://github.com/soybeanjs/soybean-admin/commit/f6c6dbd)
|
||||
- fix conflict with locale file - by @honghuangdc [<samp>(3346b)</samp>](https://github.com/soybeanjs/soybean-admin/commit/3346bcd)
|
||||
- refactor app-loading - by @honghuangdc [<samp>(b4f3d)</samp>](https://github.com/soybeanjs/soybean-admin/commit/b4f3dd2)
|
||||
- use naive-ui color-picker - by @honghuangdc [<samp>(b5551)</samp>](https://github.com/soybeanjs/soybean-admin/commit/b5551d6)
|
||||
- perf page home - by @honghuangdc [<samp>(4c61c)</samp>](https://github.com/soybeanjs/soybean-admin/commit/4c61c6f)
|
||||
- login components => modules - by @honghuangdc [<samp>(59bec)</samp>](https://github.com/soybeanjs/soybean-admin/commit/59bec2d)
|
||||
- perf page function_tab - by @honghuangdc [<samp>(b5477)</samp>](https://github.com/soybeanjs/soybean-admin/commit/b5477e8)
|
||||
- update mock api - by @honghuangdc [<samp>(27241)</samp>](https://github.com/soybeanjs/soybean-admin/commit/2724169)
|
||||
- page manage_role: extract module - by @honghuangdc [<samp>(0e9e2)</samp>](https://github.com/soybeanjs/soybean-admin/commit/0e9e2e1)
|
||||
- perf page manage_role - by @honghuangdc [<samp>(a19f8)</samp>](https://github.com/soybeanjs/soybean-admin/commit/a19f895)
|
||||
- manage_route => manage_menu - by @honghuangdc [<samp>(f8467)</samp>](https://github.com/soybeanjs/soybean-admin/commit/f8467ce)
|
||||
- refactor service env config - by @honghuangdc [<samp>(43193)</samp>](https://github.com/soybeanjs/soybean-admin/commit/43193e2)
|
||||
- refactor unocss shortcuts: wh-full => size-full - by @honghuangdc [<samp>(b4c00)</samp>](https://github.com/soybeanjs/soybean-admin/commit/b4c00ce)
|
||||
- use enquirer replace prompts - by @honghuangdc [<samp>(b546f)</samp>](https://github.com/soybeanjs/soybean-admin/commit/b546ff8)
|
||||
- refactor useTable - by @honghuangdc [<samp>(c3efa)</samp>](https://github.com/soybeanjs/soybean-admin/commit/c3efa1b)
|
||||
- finish refactor useTable - by @honghuangdc [<samp>(86301)</samp>](https://github.com/soybeanjs/soybean-admin/commit/8630175)
|
||||
- finish refactor useTable and apply - by @honghuangdc [<samp>(3fd15)</samp>](https://github.com/soybeanjs/soybean-admin/commit/3fd15e5)
|
||||
- perf code - by @honghuangdc [<samp>(f91ef)</samp>](https://github.com/soybeanjs/soybean-admin/commit/f91ef30)
|
||||
- new route guard - by @honghuangdc [<samp>(37d20)</samp>](https://github.com/soybeanjs/soybean-admin/commit/37d20b8)
|
||||
|
||||
### 📖 Documentation
|
||||
|
||||
- **projects**:
|
||||
- update README.md - by @honghuangdc [<samp>(78364)</samp>](https://github.com/honghuangdc/soybean-admin/commit/783648f)
|
||||
- update README.md - by @honghuangdc [<samp>(1ea48)</samp>](https://github.com/honghuangdc/soybean-admin/commit/1ea4817)
|
||||
- add README - by @honghuangdc [<samp>(2371b)</samp>](https://github.com/honghuangdc/soybean-admin/commit/2371ba8)
|
||||
- update README - by @honghuangdc [<samp>(d16a9)</samp>](https://github.com/honghuangdc/soybean-admin/commit/d16a9d5)
|
||||
- update README.md - by @honghuangdc [<samp>(6a771)</samp>](https://github.com/honghuangdc/soybean-admin/commit/6a771ea)
|
||||
- update README.md - by @honghuangdc [<samp>(57b6d)</samp>](https://github.com/honghuangdc/soybean-admin/commit/57b6d8a)
|
||||
- update README.md - by @honghuangdc [<samp>(b30c0)</samp>](https://github.com/honghuangdc/soybean-admin/commit/b30c035)
|
||||
- update README.md - by @honghuangdc [<samp>(c260f)</samp>](https://github.com/honghuangdc/soybean-admin/commit/c260fe2)
|
||||
- update README.md - by @honghuangdc [<samp>(03c42)</samp>](https://github.com/honghuangdc/soybean-admin/commit/03c42aa)
|
||||
- update README.md - by @honghuangdc [<samp>(0fae9)</samp>](https://github.com/honghuangdc/soybean-admin/commit/0fae993)
|
||||
- update README.md - by @honghuangdc [<samp>(4e4d2)</samp>](https://github.com/honghuangdc/soybean-admin/commit/4e4d2de)
|
||||
- update README.md - by @honghuangdc [<samp>(86b44)</samp>](https://github.com/honghuangdc/soybean-admin/commit/86b445c)
|
||||
- update README.md - by @honghuangdc [<samp>(e2085)</samp>](https://github.com/honghuangdc/soybean-admin/commit/e2085e0)
|
||||
- update README.md - by @honghuangdc [<samp>(6ea9b)</samp>](https://github.com/honghuangdc/soybean-admin/commit/6ea9b85)
|
||||
- update README.md - by @honghuangdc [<samp>(ef4af)</samp>](https://github.com/honghuangdc/soybean-admin/commit/ef4af79)
|
||||
- update README.md - by @honghuangdc [<samp>(41830)</samp>](https://github.com/honghuangdc/soybean-admin/commit/418302a)
|
||||
- add CHANGELOG.md - by @honghuangdc [<samp>(46b61)</samp>](https://github.com/honghuangdc/soybean-admin/commit/46b6156)
|
||||
- update README.md - by @honghuangdc [<samp>(78364)</samp>](https://github.com/soybeanjs/soybean-admin/commit/783648f)
|
||||
- update README.md - by @honghuangdc [<samp>(1ea48)</samp>](https://github.com/soybeanjs/soybean-admin/commit/1ea4817)
|
||||
- add README - by @honghuangdc [<samp>(2371b)</samp>](https://github.com/soybeanjs/soybean-admin/commit/2371ba8)
|
||||
- update README - by @honghuangdc [<samp>(d16a9)</samp>](https://github.com/soybeanjs/soybean-admin/commit/d16a9d5)
|
||||
- update README.md - by @honghuangdc [<samp>(6a771)</samp>](https://github.com/soybeanjs/soybean-admin/commit/6a771ea)
|
||||
- update README.md - by @honghuangdc [<samp>(57b6d)</samp>](https://github.com/soybeanjs/soybean-admin/commit/57b6d8a)
|
||||
- update README.md - by @honghuangdc [<samp>(b30c0)</samp>](https://github.com/soybeanjs/soybean-admin/commit/b30c035)
|
||||
- update README.md - by @honghuangdc [<samp>(c260f)</samp>](https://github.com/soybeanjs/soybean-admin/commit/c260fe2)
|
||||
- update README.md - by @honghuangdc [<samp>(03c42)</samp>](https://github.com/soybeanjs/soybean-admin/commit/03c42aa)
|
||||
- update README.md - by @honghuangdc [<samp>(0fae9)</samp>](https://github.com/soybeanjs/soybean-admin/commit/0fae993)
|
||||
- update README.md - by @honghuangdc [<samp>(4e4d2)</samp>](https://github.com/soybeanjs/soybean-admin/commit/4e4d2de)
|
||||
- update README.md - by @honghuangdc [<samp>(86b44)</samp>](https://github.com/soybeanjs/soybean-admin/commit/86b445c)
|
||||
- update README.md - by @honghuangdc [<samp>(e2085)</samp>](https://github.com/soybeanjs/soybean-admin/commit/e2085e0)
|
||||
- update README.md - by @honghuangdc [<samp>(6ea9b)</samp>](https://github.com/soybeanjs/soybean-admin/commit/6ea9b85)
|
||||
- update README.md - by @honghuangdc [<samp>(ef4af)</samp>](https://github.com/soybeanjs/soybean-admin/commit/ef4af79)
|
||||
- update README.md - by @honghuangdc [<samp>(41830)</samp>](https://github.com/soybeanjs/soybean-admin/commit/418302a)
|
||||
- add CHANGELOG.md - by @honghuangdc [<samp>(46b61)</samp>](https://github.com/soybeanjs/soybean-admin/commit/46b6156)
|
||||
|
||||
### 🏡 Chore
|
||||
|
||||
- **deps**:
|
||||
- update deps - by @honghuangdc [<samp>(3eaf0)</samp>](https://github.com/honghuangdc/soybean-admin/commit/3eaf05b)
|
||||
- update deps - by @honghuangdc [<samp>(36fe1)</samp>](https://github.com/honghuangdc/soybean-admin/commit/36fe1da)
|
||||
- update deps - by @honghuangdc [<samp>(55342)</samp>](https://github.com/honghuangdc/soybean-admin/commit/5534294)
|
||||
- update deps - by @honghuangdc [<samp>(f1b86)</samp>](https://github.com/honghuangdc/soybean-admin/commit/f1b86cc)
|
||||
- update deps - by @honghuangdc [<samp>(840e7)</samp>](https://github.com/honghuangdc/soybean-admin/commit/840e7f9)
|
||||
- update deps - by @honghuangdc [<samp>(6114b)</samp>](https://github.com/honghuangdc/soybean-admin/commit/6114b9f)
|
||||
- update deps - by @honghuangdc [<samp>(9cc7e)</samp>](https://github.com/honghuangdc/soybean-admin/commit/9cc7ee5)
|
||||
- update deps - by @honghuangdc [<samp>(9c4ba)</samp>](https://github.com/honghuangdc/soybean-admin/commit/9c4ba66)
|
||||
- update deps - by @honghuangdc [<samp>(fb3b9)</samp>](https://github.com/honghuangdc/soybean-admin/commit/fb3b94b)
|
||||
- update deps - by @honghuangdc [<samp>(14aa8)</samp>](https://github.com/honghuangdc/soybean-admin/commit/14aa856)
|
||||
- update deps - by @honghuangdc [<samp>(02d4b)</samp>](https://github.com/honghuangdc/soybean-admin/commit/02d4b0a)
|
||||
- update deps - by @honghuangdc [<samp>(b2ee9)</samp>](https://github.com/honghuangdc/soybean-admin/commit/b2ee9ee)
|
||||
- update deps - by @honghuangdc [<samp>(0fee1)</samp>](https://github.com/honghuangdc/soybean-admin/commit/0fee104)
|
||||
- update deps - by @honghuangdc [<samp>(c0a65)</samp>](https://github.com/honghuangdc/soybean-admin/commit/c0a65a1)
|
||||
- update deps - by @honghuangdc [<samp>(3eaf0)</samp>](https://github.com/soybeanjs/soybean-admin/commit/3eaf05b)
|
||||
- update deps - by @honghuangdc [<samp>(36fe1)</samp>](https://github.com/soybeanjs/soybean-admin/commit/36fe1da)
|
||||
- update deps - by @honghuangdc [<samp>(55342)</samp>](https://github.com/soybeanjs/soybean-admin/commit/5534294)
|
||||
- update deps - by @honghuangdc [<samp>(f1b86)</samp>](https://github.com/soybeanjs/soybean-admin/commit/f1b86cc)
|
||||
- update deps - by @honghuangdc [<samp>(840e7)</samp>](https://github.com/soybeanjs/soybean-admin/commit/840e7f9)
|
||||
- update deps - by @honghuangdc [<samp>(6114b)</samp>](https://github.com/soybeanjs/soybean-admin/commit/6114b9f)
|
||||
- update deps - by @honghuangdc [<samp>(9cc7e)</samp>](https://github.com/soybeanjs/soybean-admin/commit/9cc7ee5)
|
||||
- update deps - by @honghuangdc [<samp>(9c4ba)</samp>](https://github.com/soybeanjs/soybean-admin/commit/9c4ba66)
|
||||
- update deps - by @honghuangdc [<samp>(fb3b9)</samp>](https://github.com/soybeanjs/soybean-admin/commit/fb3b94b)
|
||||
- update deps - by @honghuangdc [<samp>(14aa8)</samp>](https://github.com/soybeanjs/soybean-admin/commit/14aa856)
|
||||
- update deps - by @honghuangdc [<samp>(02d4b)</samp>](https://github.com/soybeanjs/soybean-admin/commit/02d4b0a)
|
||||
- update deps - by @honghuangdc [<samp>(b2ee9)</samp>](https://github.com/soybeanjs/soybean-admin/commit/b2ee9ee)
|
||||
- update deps - by @honghuangdc [<samp>(0fee1)</samp>](https://github.com/soybeanjs/soybean-admin/commit/0fee104)
|
||||
- update deps - by @honghuangdc [<samp>(c0a65)</samp>](https://github.com/soybeanjs/soybean-admin/commit/c0a65a1)
|
||||
- **project**:
|
||||
- delete src/locales/lang/zh-CN.ts - by @honghuangdc [<samp>(377db)</samp>](https://github.com/honghuangdc/soybean-admin/commit/377db82)
|
||||
- delete src/locales/lang/zh-CN.ts - by @honghuangdc [<samp>(377db)</samp>](https://github.com/soybeanjs/soybean-admin/commit/377db82)
|
||||
- **projects**:
|
||||
- use eslint flat config & update config - by @honghuangdc [<samp>(a176d)</samp>](https://github.com/honghuangdc/soybean-admin/commit/a176dc4)
|
||||
- update @sa/scripts - by @honghuangdc [<samp>(d7785)</samp>](https://github.com/honghuangdc/soybean-admin/commit/d778560)
|
||||
- update pnpm version - by @honghuangdc [<samp>(55f76)</samp>](https://github.com/honghuangdc/soybean-admin/commit/55f7638)
|
||||
- update eslint config - by @honghuangdc [<samp>(5023f)</samp>](https://github.com/honghuangdc/soybean-admin/commit/5023f37)
|
||||
- lock deps versions - by @honghuangdc [<samp>(a24f9)</samp>](https://github.com/honghuangdc/soybean-admin/commit/a24f963)
|
||||
- update pnpm version - by @honghuangdc [<samp>(ea02b)</samp>](https://github.com/honghuangdc/soybean-admin/commit/ea02b23)
|
||||
- remove @simonwep/pickr - by @honghuangdc [<samp>(502a4)</samp>](https://github.com/honghuangdc/soybean-admin/commit/502a4d2)
|
||||
- remove soybean.svg - by @honghuangdc [<samp>(4031f)</samp>](https://github.com/honghuangdc/soybean-admin/commit/4031faf)
|
||||
- update pnpm version - by @honghuangdc [<samp>(adec0)</samp>](https://github.com/honghuangdc/soybean-admin/commit/adec0d7)
|
||||
- update deps & fix keep-alive - by @honghuangdc [<samp>(13001)</samp>](https://github.com/honghuangdc/soybean-admin/commit/13001bc)
|
||||
- update @elegant-router/vue, fix inject name in windows - by @honghuangdc [<samp>(0b56e)</samp>](https://github.com/honghuangdc/soybean-admin/commit/0b56e44)
|
||||
- add dev and build command with service env - by @honghuangdc [<samp>(ebb15)</samp>](https://github.com/honghuangdc/soybean-admin/commit/ebb1548)
|
||||
- update deps & remove packages docs - by @honghuangdc [<samp>(57963)</samp>](https://github.com/honghuangdc/soybean-admin/commit/579636b)
|
||||
- update pnpm-lock.yaml - by @honghuangdc [<samp>(147f6)</samp>](https://github.com/honghuangdc/soybean-admin/commit/147f60d)
|
||||
- update repository url - by @honghuangdc [<samp>(806a1)</samp>](https://github.com/honghuangdc/soybean-admin/commit/806a1cb)
|
||||
- update deps & update pnpm version - by @honghuangdc [<samp>(9772a)</samp>](https://github.com/honghuangdc/soybean-admin/commit/9772aec)
|
||||
- add unocss eslint config - by @honghuangdc [<samp>(40635)</samp>](https://github.com/honghuangdc/soybean-admin/commit/4063529)
|
||||
- update launch.json - by @honghuangdc [<samp>(3db82)</samp>](https://github.com/honghuangdc/soybean-admin/commit/3db82ac)
|
||||
- update vscode extensions.json - by @honghuangdc [<samp>(4e29a)</samp>](https://github.com/honghuangdc/soybean-admin/commit/4e29aca)
|
||||
- update pnpm version - by @honghuangdc [<samp>(7065f)</samp>](https://github.com/honghuangdc/soybean-admin/commit/7065f6f)
|
||||
- update deps & fix eslint vue rule - by @honghuangdc [<samp>(8143b)</samp>](https://github.com/honghuangdc/soybean-admin/commit/8143b00)
|
||||
- update pnpm version - by @honghuangdc [<samp>(6ad51)</samp>](https://github.com/honghuangdc/soybean-admin/commit/6ad51e9)
|
||||
- use eslint flat config & update config - by @honghuangdc [<samp>(a176d)</samp>](https://github.com/soybeanjs/soybean-admin/commit/a176dc4)
|
||||
- update @sa/scripts - by @honghuangdc [<samp>(d7785)</samp>](https://github.com/soybeanjs/soybean-admin/commit/d778560)
|
||||
- update pnpm version - by @honghuangdc [<samp>(55f76)</samp>](https://github.com/soybeanjs/soybean-admin/commit/55f7638)
|
||||
- update eslint config - by @honghuangdc [<samp>(5023f)</samp>](https://github.com/soybeanjs/soybean-admin/commit/5023f37)
|
||||
- lock deps versions - by @honghuangdc [<samp>(a24f9)</samp>](https://github.com/soybeanjs/soybean-admin/commit/a24f963)
|
||||
- update pnpm version - by @honghuangdc [<samp>(ea02b)</samp>](https://github.com/soybeanjs/soybean-admin/commit/ea02b23)
|
||||
- remove @simonwep/pickr - by @honghuangdc [<samp>(502a4)</samp>](https://github.com/soybeanjs/soybean-admin/commit/502a4d2)
|
||||
- remove soybean.svg - by @honghuangdc [<samp>(4031f)</samp>](https://github.com/soybeanjs/soybean-admin/commit/4031faf)
|
||||
- update pnpm version - by @honghuangdc [<samp>(adec0)</samp>](https://github.com/soybeanjs/soybean-admin/commit/adec0d7)
|
||||
- update deps & fix keep-alive - by @honghuangdc [<samp>(13001)</samp>](https://github.com/soybeanjs/soybean-admin/commit/13001bc)
|
||||
- update @elegant-router/vue, fix inject name in windows - by @honghuangdc [<samp>(0b56e)</samp>](https://github.com/soybeanjs/soybean-admin/commit/0b56e44)
|
||||
- add dev and build command with service env - by @honghuangdc [<samp>(ebb15)</samp>](https://github.com/soybeanjs/soybean-admin/commit/ebb1548)
|
||||
- update deps & remove packages docs - by @honghuangdc [<samp>(57963)</samp>](https://github.com/soybeanjs/soybean-admin/commit/579636b)
|
||||
- update pnpm-lock.yaml - by @honghuangdc [<samp>(147f6)</samp>](https://github.com/soybeanjs/soybean-admin/commit/147f60d)
|
||||
- update repository url - by @honghuangdc [<samp>(806a1)</samp>](https://github.com/soybeanjs/soybean-admin/commit/806a1cb)
|
||||
- update deps & update pnpm version - by @honghuangdc [<samp>(9772a)</samp>](https://github.com/soybeanjs/soybean-admin/commit/9772aec)
|
||||
- add unocss eslint config - by @honghuangdc [<samp>(40635)</samp>](https://github.com/soybeanjs/soybean-admin/commit/4063529)
|
||||
- update launch.json - by @honghuangdc [<samp>(3db82)</samp>](https://github.com/soybeanjs/soybean-admin/commit/3db82ac)
|
||||
- update vscode extensions.json - by @honghuangdc [<samp>(4e29a)</samp>](https://github.com/soybeanjs/soybean-admin/commit/4e29aca)
|
||||
- update pnpm version - by @honghuangdc [<samp>(7065f)</samp>](https://github.com/soybeanjs/soybean-admin/commit/7065f6f)
|
||||
- update deps & fix eslint vue rule - by @honghuangdc [<samp>(8143b)</samp>](https://github.com/soybeanjs/soybean-admin/commit/8143b00)
|
||||
- update pnpm version - by @honghuangdc [<samp>(6ad51)</samp>](https://github.com/soybeanjs/soybean-admin/commit/6ad51e9)
|
||||
|
||||
### 🎨 Styles
|
||||
|
||||
- **components**:
|
||||
- Uniform icon size for header - by @Azir-11 [<samp>(b37c1)</samp>](https://github.com/honghuangdc/soybean-admin/commit/b37c1e9)
|
||||
- Uniform icon size for header - by @Azir-11 [<samp>(b37c1)</samp>](https://github.com/soybeanjs/soybean-admin/commit/b37c1e9)
|
||||
- **projects**:
|
||||
- format code - by @honghuangdc [<samp>(a7481)</samp>](https://github.com/honghuangdc/soybean-admin/commit/a748166)
|
||||
- update theme mode segment height - by @honghuangdc [<samp>(4d846)</samp>](https://github.com/honghuangdc/soybean-admin/commit/4d8469e)
|
||||
- fix tooltip zIndex of ButtonIcon - by @honghuangdc [<samp>(db747)</samp>](https://github.com/honghuangdc/soybean-admin/commit/db747c4)
|
||||
- sort defineProps, defineEmits with TS type - by @honghuangdc [<samp>(123fd)</samp>](https://github.com/honghuangdc/soybean-admin/commit/123fd4f)
|
||||
- format code - by @honghuangdc [<samp>(a7481)</samp>](https://github.com/soybeanjs/soybean-admin/commit/a748166)
|
||||
- update theme mode segment height - by @honghuangdc [<samp>(4d846)</samp>](https://github.com/soybeanjs/soybean-admin/commit/4d8469e)
|
||||
- fix tooltip zIndex of ButtonIcon - by @honghuangdc [<samp>(db747)</samp>](https://github.com/soybeanjs/soybean-admin/commit/db747c4)
|
||||
- sort defineProps, defineEmits with TS type - by @honghuangdc [<samp>(123fd)</samp>](https://github.com/soybeanjs/soybean-admin/commit/123fd4f)
|
||||
|
||||
### 🤖 CI
|
||||
|
||||
- **projects**: add github actions config - by @honghuangdc [<samp>(4cb17)</samp>](https://github.com/honghuangdc/soybean-admin/commit/4cb17c7)
|
||||
- **projects**: add github actions config - by @honghuangdc [<samp>(4cb17)</samp>](https://github.com/soybeanjs/soybean-admin/commit/4cb17c7)
|
||||
|
||||
### ❤️ Contributors
|
||||
|
||||
|
||||
@@ -106,6 +106,15 @@ pnpm dev
|
||||
pnpm build
|
||||
```
|
||||
|
||||
## Ecosystem
|
||||
|
||||
- [electron-mock-admin](https://github.com/lixin59/electron-mock-api): A Mock Api management system that helps front-end developers quickly implement interface mocks.
|
||||
- [T-Shell](https://github.com/TheBlindM/T-Shell): A terminal emulator and SSH client with configurable command prompts.
|
||||
- [pea](https://github.com/haitang1894/pea) : Adopting SpringBoot3.2 + JDK21, MyBatis-Plus, SpringSecurity security framework, etc., suitable for the simple permission system developed by [soybean-admin](https://gitee.com/honghuangdc/soybean-admin).
|
||||
- [MalusAdmin](https://github.com/pridejoy/MalusAdmin): A backend management framework developed based on Vue3/TypeScript/NaiveUI and NET7 & Sqlsugar. It is implemented in the most original and simplest way, with a fresh and elegant front-end, a clear and elegant backend structure, and powerful functions.
|
||||
- [PanisAdmin](https://github.com/paynezhuang/panis-admin): Adopting SpringBoot 3, SaToken, MySQL and other frameworks to develop and modify [soybean-admin](https://github.com/soybeanjs/soybean-admin) for the second time, adapting dynamic menu/button-level authorization. Retaining the original flavor, fresh and elegant, high-value back-end management system scaffold.
|
||||
|
||||
|
||||
## How to Contribute
|
||||
|
||||
We warmly welcome and appreciate all forms of contributions. If you have any ideas or suggestions, please feel free to share them by submitting [pull requests](https://github.com/soybeanjs/soybean-admin/pulls) or creating GitHub [issue](https://github.com/soybeanjs/soybean-admin/issues/new).
|
||||
|
||||
@@ -105,6 +105,15 @@ pnpm dev
|
||||
pnpm build
|
||||
```
|
||||
|
||||
## 周边生态
|
||||
|
||||
- [electron-mock-admin](https://github.com/lixin59/electron-mock-api): 一个 Mock Api 管理系统,帮助前端开发伙伴快速实现接口的 mock。
|
||||
- [T-Shell](https://github.com/TheBlindM/T-Shell): 是一个可配置命令提示的终端模拟器和 SSH 客户端。
|
||||
- [pea](https://github.com/haitang1894/pea) : 采用SpringBoot3.2 + JDK21、MyBatis-Plus、SpringSecurity安全框架等,适配 [soybean-admin](https://gitee.com/honghuangdc/soybean-admin) 开发的简单权限系统。
|
||||
- [MalusAdmin](https://github.com/pridejoy/MalusAdmin): 基于 Vue3/TypeScript/NaiveUI 和 NET7 & Sqlsugar 开发的后台管理框架。采用最原生最简洁的方式来实现, 前端清新优雅高颜值,后端 结构清晰,优雅易懂,功能强大。
|
||||
- [PanisAdmin](https://github.com/paynezhuang/panis-admin): 采用SpringBoot3、SaToken、MySQL等框架开发,二次修改 [soybean-admin](https://github.com/soybeanjs/soybean-admin),适配动态菜单/按钮级别的鉴权,保留原汁原味、清新优雅、高颜值的后台管理系统脚手架。
|
||||
|
||||
|
||||
## 如何贡献
|
||||
|
||||
我们热烈欢迎并感谢所有形式的贡献。如果您有任何想法或建议,欢迎通过提交 [pull requests](https://github.com/soybeanjs/soybean-admin/pulls) 或创建 GitHub [issue](https://github.com/soybeanjs/soybean-admin/issues/new) 来分享。
|
||||
@@ -126,6 +135,7 @@ pnpm build
|
||||
|
||||
[Soybean](https://github.com/honghuangdc)
|
||||
|
||||
|
||||
## 贡献者
|
||||
|
||||
感谢以下贡献者的贡献。如果您想为本项目做出贡献,请参考 [如何贡献](#如何贡献)。
|
||||
|
||||
@@ -9,7 +9,18 @@ export function setupElegantRouter() {
|
||||
blank: 'src/layouts/blank-layout/index.vue'
|
||||
},
|
||||
customRoutes: {
|
||||
names: ['exception_403', 'exception_404', 'exception_500']
|
||||
names: [
|
||||
'exception_403',
|
||||
'exception_404',
|
||||
'exception_500',
|
||||
'document_project',
|
||||
'document_project-link',
|
||||
'document_vue',
|
||||
'document_vite',
|
||||
'document_unocss',
|
||||
'document_naive',
|
||||
'document_antd'
|
||||
]
|
||||
},
|
||||
routePathTransformer(routeName, routePath) {
|
||||
const key = routeName as RouteKey;
|
||||
|
||||
@@ -7,7 +7,7 @@ export default defineConfig(
|
||||
'vue/multi-word-component-names': [
|
||||
'warn',
|
||||
{
|
||||
ignores: ['index', 'App', '[id]']
|
||||
ignores: ['index', 'App', '[id]', '[url]']
|
||||
}
|
||||
],
|
||||
'vue/component-name-in-template-casing': [
|
||||
|
||||
35
package.json
35
package.json
@@ -1,8 +1,7 @@
|
||||
{
|
||||
"name": "soybean-admin",
|
||||
"type": "module",
|
||||
"version": "1.0.4",
|
||||
"packageManager": "pnpm@9.0.5",
|
||||
"version": "1.0.9",
|
||||
"description": "A fresh and elegant admin template, based on Vue3、Vite3、TypeScript、NaiveUI and UnoCSS. 一个基于Vue3、Vite3、TypeScript、NaiveUI and UnoCSS的清新优雅的中后台模版。",
|
||||
"author": {
|
||||
"name": "Soybean",
|
||||
@@ -27,6 +26,10 @@
|
||||
"ant-design-vue v4",
|
||||
"UnoCSS"
|
||||
],
|
||||
"engines": {
|
||||
"node": ">=18.12.0",
|
||||
"pnpm": ">=8.7.0"
|
||||
},
|
||||
"scripts": {
|
||||
"build": "vite build --mode prod",
|
||||
"build:test": "vite build --mode test",
|
||||
@@ -52,25 +55,25 @@
|
||||
"@sa/utils": "workspace:*",
|
||||
"@vueuse/core": "10.9.0",
|
||||
"clipboard": "2.0.11",
|
||||
"dayjs": "1.11.10",
|
||||
"dayjs": "1.11.11",
|
||||
"echarts": "5.5.0",
|
||||
"lodash-es": "4.17.21",
|
||||
"naive-ui": "2.38.1",
|
||||
"naive-ui": "2.38.2",
|
||||
"nprogress": "0.2.0",
|
||||
"pinia": "2.1.7",
|
||||
"vue": "3.4.24",
|
||||
"vue": "3.4.26",
|
||||
"vue-draggable-plus": "0.4.0",
|
||||
"vue-i18n": "9.13.1",
|
||||
"vue-router": "4.3.2"
|
||||
},
|
||||
"devDependencies": {
|
||||
"@elegant-router/vue": "0.3.6",
|
||||
"@iconify/json": "2.2.203",
|
||||
"@iconify/json": "2.2.206",
|
||||
"@sa/scripts": "workspace:*",
|
||||
"@sa/uno-preset": "workspace:*",
|
||||
"@soybeanjs/eslint-config": "1.3.2",
|
||||
"@soybeanjs/eslint-config": "1.3.4",
|
||||
"@types/lodash-es": "4.17.12",
|
||||
"@types/node": "20.12.7",
|
||||
"@types/node": "20.12.8",
|
||||
"@types/nprogress": "0.2.3",
|
||||
"@unocss/eslint-config": "0.59.4",
|
||||
"@unocss/preset-icons": "0.59.4",
|
||||
@@ -80,21 +83,21 @@
|
||||
"@unocss/vite": "0.59.4",
|
||||
"@vitejs/plugin-vue": "5.0.4",
|
||||
"@vitejs/plugin-vue-jsx": "3.1.0",
|
||||
"eslint": "9.1.1",
|
||||
"eslint": "9.2.0",
|
||||
"eslint-plugin-vue": "9.25.0",
|
||||
"lint-staged": "15.2.2",
|
||||
"sass": "1.75.0",
|
||||
"sass": "1.76.0",
|
||||
"simple-git-hooks": "2.11.1",
|
||||
"tsx": "4.7.2",
|
||||
"tsx": "4.9.1",
|
||||
"typescript": "5.4.5",
|
||||
"unplugin-icons": "0.18.5",
|
||||
"unplugin-vue-components": "0.26.0",
|
||||
"vite": "5.2.10",
|
||||
"unplugin-icons": "0.19.0",
|
||||
"unplugin-vue-components": "0.27.0",
|
||||
"vite": "5.2.11",
|
||||
"vite-plugin-progress": "0.0.7",
|
||||
"vite-plugin-svg-icons": "2.0.1",
|
||||
"vite-plugin-vue-devtools": "7.1.2",
|
||||
"vite-plugin-vue-devtools": "7.1.3",
|
||||
"vue-eslint-parser": "9.4.2",
|
||||
"vue-tsc": "2.0.14"
|
||||
"vue-tsc": "2.0.16"
|
||||
},
|
||||
"simple-git-hooks": {
|
||||
"commit-msg": "pnpm sa git-commit-verify",
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "@sa/axios",
|
||||
"version": "1.0.4",
|
||||
"version": "1.0.9",
|
||||
"exports": {
|
||||
".": "./src/index.ts"
|
||||
},
|
||||
|
||||
@@ -48,7 +48,9 @@ function createCommonRequest<ResponseData = any>(
|
||||
|
||||
instance.interceptors.response.use(
|
||||
async response => {
|
||||
if (opts.isBackendSuccess(response)) {
|
||||
const responseType: ResponseType = (response.config?.responseType as ResponseType) || 'json';
|
||||
|
||||
if (responseType !== 'json' || opts.isBackendSuccess(response)) {
|
||||
return Promise.resolve(response);
|
||||
}
|
||||
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "@sa/color-palette",
|
||||
"version": "1.0.4",
|
||||
"version": "1.0.9",
|
||||
"exports": {
|
||||
".": "./src/index.ts"
|
||||
},
|
||||
|
||||
20
packages/color-palette/tsconfig.json
Normal file
20
packages/color-palette/tsconfig.json
Normal file
@@ -0,0 +1,20 @@
|
||||
{
|
||||
"compilerOptions": {
|
||||
"target": "ESNext",
|
||||
"jsx": "preserve",
|
||||
"lib": ["DOM", "ESNext"],
|
||||
"baseUrl": ".",
|
||||
"module": "ESNext",
|
||||
"moduleResolution": "node",
|
||||
"resolveJsonModule": true,
|
||||
"types": ["node"],
|
||||
"strict": true,
|
||||
"strictNullChecks": true,
|
||||
"noUnusedLocals": true,
|
||||
"allowSyntheticDefaultImports": true,
|
||||
"esModuleInterop": true,
|
||||
"forceConsistentCasingInFileNames": true
|
||||
},
|
||||
"include": ["src/**/*"],
|
||||
"exclude": ["node_modules", "dist"]
|
||||
}
|
||||
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "@sa/hooks",
|
||||
"version": "1.0.4",
|
||||
"version": "1.0.9",
|
||||
"exports": {
|
||||
".": "./src/index.ts"
|
||||
},
|
||||
|
||||
@@ -7,4 +7,5 @@ import useHookTable from './use-table';
|
||||
|
||||
export { useBoolean, useLoading, useCountDown, useContext, useSvgIconRender, useHookTable };
|
||||
|
||||
export * from './use-signal';
|
||||
export * from './use-table';
|
||||
|
||||
144
packages/hooks/src/use-signal.ts
Normal file
144
packages/hooks/src/use-signal.ts
Normal file
@@ -0,0 +1,144 @@
|
||||
import { computed, ref, shallowRef, triggerRef } from 'vue';
|
||||
import type {
|
||||
ComputedGetter,
|
||||
DebuggerOptions,
|
||||
Ref,
|
||||
ShallowRef,
|
||||
WritableComputedOptions,
|
||||
WritableComputedRef
|
||||
} from 'vue';
|
||||
|
||||
type Updater<T> = (value: T) => T;
|
||||
type Mutator<T> = (value: T) => void;
|
||||
|
||||
/**
|
||||
* Signal is a reactive value that can be set, updated or mutated
|
||||
*
|
||||
* @example
|
||||
* ```ts
|
||||
* const count = useSignal(0);
|
||||
*
|
||||
* // `watchEffect`
|
||||
* watchEffect(() => {
|
||||
* console.log(count());
|
||||
* });
|
||||
*
|
||||
* // watch
|
||||
* watch(count, value => {
|
||||
* console.log(value);
|
||||
* });
|
||||
*
|
||||
* // useComputed
|
||||
* const double = useComputed(() => count() * 2);
|
||||
* const writeableDouble = useComputed({
|
||||
* get: () => count() * 2,
|
||||
* set: value => count.set(value / 2)
|
||||
* });
|
||||
* ```
|
||||
*/
|
||||
export interface Signal<T> {
|
||||
(): Readonly<T>;
|
||||
/**
|
||||
* Set the value of the signal
|
||||
*
|
||||
* It recommend use `set` for primitive values
|
||||
*
|
||||
* @param value
|
||||
*/
|
||||
set(value: T): void;
|
||||
/**
|
||||
* Update the value of the signal using an updater function
|
||||
*
|
||||
* It recommend use `update` for non-primitive values, only the first level of the object will be reactive.
|
||||
*
|
||||
* @param updater
|
||||
*/
|
||||
update(updater: Updater<T>): void;
|
||||
/**
|
||||
* Mutate the value of the signal using a mutator function
|
||||
*
|
||||
* this action will call `triggerRef`, so the value will be tracked on `watchEffect`.
|
||||
*
|
||||
* It recommend use `mutate` for non-primitive values, all levels of the object will be reactive.
|
||||
*
|
||||
* @param mutator
|
||||
*/
|
||||
mutate(mutator: Mutator<T>): void;
|
||||
/**
|
||||
* Get the reference of the signal
|
||||
*
|
||||
* Sometimes it can be useful to make `v-model` work with the signal
|
||||
*
|
||||
* ```vue
|
||||
* <template>
|
||||
* <input v-model="model.count" />
|
||||
* </template>;
|
||||
*
|
||||
* <script setup lang="ts">
|
||||
* const state = useSignal({ count: 0 }, { useRef: true });
|
||||
*
|
||||
* const model = state.getRef();
|
||||
* </script>
|
||||
* ```
|
||||
*/
|
||||
getRef(): Readonly<ShallowRef<Readonly<T>>>;
|
||||
}
|
||||
|
||||
export interface ReadonlySignal<T> {
|
||||
(): Readonly<T>;
|
||||
}
|
||||
|
||||
export interface SignalOptions {
|
||||
/**
|
||||
* Whether to use `ref` to store the value
|
||||
*
|
||||
* @default false use `sharedRef` to store the value
|
||||
*/
|
||||
useRef?: boolean;
|
||||
}
|
||||
|
||||
export function useSignal<T>(initialValue: T, options?: SignalOptions): Signal<T> {
|
||||
const { useRef } = options || {};
|
||||
|
||||
const state = useRef ? (ref(initialValue) as Ref<T>) : shallowRef(initialValue);
|
||||
|
||||
return createSignal(state);
|
||||
}
|
||||
|
||||
export function useComputed<T>(getter: ComputedGetter<T>, debugOptions?: DebuggerOptions): ReadonlySignal<T>;
|
||||
export function useComputed<T>(options: WritableComputedOptions<T>, debugOptions?: DebuggerOptions): Signal<T>;
|
||||
export function useComputed<T>(
|
||||
getterOrOptions: ComputedGetter<T> | WritableComputedOptions<T>,
|
||||
debugOptions?: DebuggerOptions
|
||||
) {
|
||||
const isGetter = typeof getterOrOptions === 'function';
|
||||
|
||||
const computedValue = computed(getterOrOptions as any, debugOptions);
|
||||
|
||||
if (isGetter) {
|
||||
return () => computedValue.value as ReadonlySignal<T>;
|
||||
}
|
||||
|
||||
return createSignal(computedValue);
|
||||
}
|
||||
|
||||
function createSignal<T>(state: ShallowRef<T> | WritableComputedRef<T>): Signal<T> {
|
||||
const signal = () => state.value;
|
||||
|
||||
signal.set = (value: T) => {
|
||||
state.value = value;
|
||||
};
|
||||
|
||||
signal.update = (updater: Updater<T>) => {
|
||||
state.value = updater(state.value);
|
||||
};
|
||||
|
||||
signal.mutate = (mutator: Mutator<T>) => {
|
||||
mutator(state.value);
|
||||
triggerRef(state);
|
||||
};
|
||||
|
||||
signal.getRef = () => state as Readonly<ShallowRef<Readonly<T>>>;
|
||||
|
||||
return signal;
|
||||
}
|
||||
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "@sa/materials",
|
||||
"version": "1.0.4",
|
||||
"version": "1.0.9",
|
||||
"exports": {
|
||||
".": "./src/index.ts"
|
||||
},
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "@sa/fetch",
|
||||
"version": "1.0.4",
|
||||
"version": "1.0.9",
|
||||
"exports": {
|
||||
".": "./src/index.ts"
|
||||
},
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "@sa/scripts",
|
||||
"version": "1.0.4",
|
||||
"version": "1.0.9",
|
||||
"bin": {
|
||||
"sa": "./bin.ts"
|
||||
},
|
||||
@@ -13,15 +13,15 @@
|
||||
}
|
||||
},
|
||||
"devDependencies": {
|
||||
"@soybeanjs/changelog": "0.3.22",
|
||||
"bumpp": "9.4.0",
|
||||
"@soybeanjs/changelog": "0.3.23",
|
||||
"bumpp": "9.4.1",
|
||||
"c12": "1.10.0",
|
||||
"cac": "6.7.14",
|
||||
"consola": "3.2.3",
|
||||
"enquirer": "2.4.1",
|
||||
"execa": "8.0.1",
|
||||
"kolorist": "1.8.0",
|
||||
"npm-check-updates": "16.14.18",
|
||||
"npm-check-updates": "16.14.20",
|
||||
"rimraf": "5.0.5"
|
||||
}
|
||||
}
|
||||
|
||||
@@ -19,6 +19,7 @@ const defaultOptions: CliOption = {
|
||||
['style', 'Changes that do not affect the meaning of the code'],
|
||||
['refactor', 'A code change that neither fixes a bug nor adds a feature'],
|
||||
['perf', 'A code change that improves performance'],
|
||||
['optimize', 'A code change that optimizes code quality'],
|
||||
['test', 'Adding missing tests or correcting existing tests'],
|
||||
['build', 'Changes that affect the build system or external dependencies'],
|
||||
['ci', 'Changes to our CI configuration files and scripts'],
|
||||
@@ -27,6 +28,7 @@ const defaultOptions: CliOption = {
|
||||
],
|
||||
gitCommitScopes: [
|
||||
['projects', 'project'],
|
||||
['packages', 'packages'],
|
||||
['components', 'components'],
|
||||
['hooks', 'hook functions'],
|
||||
['utils', 'utils functions'],
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "@sa/uno-preset",
|
||||
"version": "1.0.4",
|
||||
"version": "1.0.9",
|
||||
"exports": {
|
||||
".": "./src/index.ts"
|
||||
},
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "@sa/utils",
|
||||
"version": "1.0.4",
|
||||
"version": "1.0.9",
|
||||
"exports": {
|
||||
".": "./src/index.ts"
|
||||
},
|
||||
|
||||
1632
pnpm-lock.yaml
generated
1632
pnpm-lock.yaml
generated
File diff suppressed because it is too large
Load Diff
@@ -1,4 +1,6 @@
|
||||
<script setup lang="ts">
|
||||
import { $t } from '@/locales';
|
||||
|
||||
defineOptions({
|
||||
name: 'TableHeaderOperation'
|
||||
});
|
||||
|
||||
@@ -36,7 +36,11 @@ const icon = computed(() => {
|
||||
</script>
|
||||
|
||||
<template>
|
||||
<ButtonIcon :tooltip-content="collapsed ? $t('icon.expand') : $t('icon.collapse')" tooltip-placement="bottom-start">
|
||||
<ButtonIcon
|
||||
:tooltip-content="collapsed ? $t('icon.expand') : $t('icon.collapse')"
|
||||
tooltip-placement="bottom-start"
|
||||
:z-index="99"
|
||||
>
|
||||
<SvgIcon :icon="icon" />
|
||||
</ButtonIcon>
|
||||
</template>
|
||||
|
||||
@@ -15,7 +15,7 @@ const icon = computed(() => (props.pin ? 'mdi-pin-off' : 'mdi-pin'));
|
||||
|
||||
<template>
|
||||
<ButtonIcon
|
||||
:tooltip-content="pin ? $t('icon.pin') : $t('icon.unpin')"
|
||||
:tooltip-content="pin ? $t('icon.unpin') : $t('icon.pin')"
|
||||
tooltip-placement="bottom-start"
|
||||
:z-index="100"
|
||||
>
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
import { computed, effectScope, onScopeDispose, reactive, ref, watch } from 'vue';
|
||||
import type { Ref } from 'vue';
|
||||
import type { PaginationProps } from 'naive-ui';
|
||||
import { cloneDeep } from 'lodash-es';
|
||||
import { useBoolean, useHookTable } from '@sa/hooks';
|
||||
import { useAppStore } from '@/store/modules/app';
|
||||
import { $t } from '@/locales';
|
||||
@@ -186,7 +187,8 @@ export function useTableOperate<T extends TableData = TableData>(data: Ref<T[]>,
|
||||
|
||||
function handleEdit(id: T['id']) {
|
||||
operateType.value = 'edit';
|
||||
editingData.value = data.value.find(item => item.id === id) || null;
|
||||
const findItem = data.value.find(item => item.id === id) || null;
|
||||
editingData.value = cloneDeep(findItem);
|
||||
|
||||
openDrawer();
|
||||
}
|
||||
|
||||
@@ -18,6 +18,7 @@ defineOptions({
|
||||
|
||||
const appStore = useAppStore();
|
||||
const themeStore = useThemeStore();
|
||||
const { menus } = setupMixMenuContext();
|
||||
|
||||
const layoutMode = computed(() => {
|
||||
const vertical: LayoutMode = 'vertical';
|
||||
@@ -65,7 +66,7 @@ function getSiderWidth() {
|
||||
|
||||
let w = isVerticalMix.value || isHorizontalMix.value ? mixWidth : width;
|
||||
|
||||
if (isVerticalMix.value && appStore.mixSiderFixed) {
|
||||
if (isVerticalMix.value && appStore.mixSiderFixed && menus.value.length) {
|
||||
w += mixChildMenuWidth;
|
||||
}
|
||||
|
||||
@@ -77,14 +78,12 @@ function getSiderCollapsedWidth() {
|
||||
|
||||
let w = isVerticalMix.value || isHorizontalMix.value ? mixCollapsedWidth : collapsedWidth;
|
||||
|
||||
if (isVerticalMix.value && appStore.mixSiderFixed) {
|
||||
if (isVerticalMix.value && appStore.mixSiderFixed && menus.value.length) {
|
||||
w += mixChildMenuWidth;
|
||||
}
|
||||
|
||||
return w;
|
||||
}
|
||||
|
||||
setupMixMenuContext();
|
||||
</script>
|
||||
|
||||
<template>
|
||||
|
||||
@@ -1,4 +1,47 @@
|
||||
import { computed, ref, watch } from 'vue';
|
||||
import { useRoute } from 'vue-router';
|
||||
import { useContext } from '@sa/hooks';
|
||||
import { useMixMenu } from '../hooks';
|
||||
import { useRouteStore } from '@/store/modules/route';
|
||||
|
||||
export const { setupStore: setupMixMenuContext, useStore: useMixMenuContext } = useContext('mix-menu', useMixMenu);
|
||||
|
||||
function useMixMenu() {
|
||||
const route = useRoute();
|
||||
const routeStore = useRouteStore();
|
||||
|
||||
const activeFirstLevelMenuKey = ref('');
|
||||
|
||||
function setActiveFirstLevelMenuKey(key: string) {
|
||||
activeFirstLevelMenuKey.value = key;
|
||||
}
|
||||
|
||||
function getActiveFirstLevelMenuKey() {
|
||||
const { hideInMenu, activeMenu } = route.meta;
|
||||
const name = route.name as string;
|
||||
|
||||
const routeName = (hideInMenu ? activeMenu : name) || name;
|
||||
|
||||
const [firstLevelRouteName] = routeName.split('_');
|
||||
|
||||
setActiveFirstLevelMenuKey(firstLevelRouteName);
|
||||
}
|
||||
|
||||
const menus = computed(
|
||||
() => routeStore.menus.find(menu => menu.key === activeFirstLevelMenuKey.value)?.children || []
|
||||
);
|
||||
|
||||
watch(
|
||||
() => route.name,
|
||||
() => {
|
||||
getActiveFirstLevelMenuKey();
|
||||
},
|
||||
{ immediate: true }
|
||||
);
|
||||
|
||||
return {
|
||||
activeFirstLevelMenuKey,
|
||||
setActiveFirstLevelMenuKey,
|
||||
getActiveFirstLevelMenuKey,
|
||||
menus
|
||||
};
|
||||
}
|
||||
|
||||
@@ -1,44 +0,0 @@
|
||||
import { computed, ref, watch } from 'vue';
|
||||
import { useRoute } from 'vue-router';
|
||||
import { useRouteStore } from '@/store/modules/route';
|
||||
|
||||
export function useMixMenu() {
|
||||
const route = useRoute();
|
||||
const routeStore = useRouteStore();
|
||||
|
||||
const activeFirstLevelMenuKey = ref('');
|
||||
|
||||
function setActiveFirstLevelMenuKey(key: string) {
|
||||
activeFirstLevelMenuKey.value = key;
|
||||
}
|
||||
|
||||
function getActiveFirstLevelMenuKey() {
|
||||
const { hideInMenu, activeMenu } = route.meta;
|
||||
const name = route.name as string;
|
||||
|
||||
const routeName = (hideInMenu ? activeMenu : name) || name;
|
||||
|
||||
const [firstLevelRouteName] = routeName.split('_');
|
||||
|
||||
setActiveFirstLevelMenuKey(firstLevelRouteName);
|
||||
}
|
||||
|
||||
const menus = computed(
|
||||
() => routeStore.menus.find(menu => menu.key === activeFirstLevelMenuKey.value)?.children || []
|
||||
);
|
||||
|
||||
watch(
|
||||
() => route.name,
|
||||
() => {
|
||||
getActiveFirstLevelMenuKey();
|
||||
},
|
||||
{ immediate: true }
|
||||
);
|
||||
|
||||
return {
|
||||
activeFirstLevelMenuKey,
|
||||
setActiveFirstLevelMenuKey,
|
||||
getActiveFirstLevelMenuKey,
|
||||
menus
|
||||
};
|
||||
}
|
||||
@@ -2,10 +2,10 @@
|
||||
import { computed } from 'vue';
|
||||
import { useBoolean } from '@sa/hooks';
|
||||
import { useAppStore } from '@/store/modules/app';
|
||||
import { useRouteStore } from '@/store/modules/route';
|
||||
import { useThemeStore } from '@/store/modules/theme';
|
||||
import { useRouterPush } from '@/hooks/common/router';
|
||||
import { useMixMenu } from '../../hooks';
|
||||
import { $t } from '@/locales';
|
||||
import { useMixMenuContext } from '../../context';
|
||||
import FirstLevelMenu from './first-level-menu.vue';
|
||||
import BaseMenu from './base-menu.vue';
|
||||
|
||||
@@ -15,16 +15,15 @@ defineOptions({
|
||||
|
||||
const appStore = useAppStore();
|
||||
const themeStore = useThemeStore();
|
||||
const routeStore = useRouteStore();
|
||||
const { routerPushByKey } = useRouterPush();
|
||||
const { bool: drawerVisible, setBool: setDrawerVisible } = useBoolean();
|
||||
const { activeFirstLevelMenuKey, setActiveFirstLevelMenuKey, getActiveFirstLevelMenuKey } = useMixMenu();
|
||||
const { menus, activeFirstLevelMenuKey, setActiveFirstLevelMenuKey, getActiveFirstLevelMenuKey } = useMixMenuContext();
|
||||
|
||||
const siderInverted = computed(() => !themeStore.darkMode && themeStore.sider.inverted);
|
||||
|
||||
const menus = computed(() => routeStore.menus.find(menu => menu.key === activeFirstLevelMenuKey.value)?.children || []);
|
||||
const hasMenus = computed(() => menus.value.length > 0);
|
||||
|
||||
const showDrawer = computed(() => (drawerVisible.value && menus.value.length) || appStore.mixSiderFixed);
|
||||
const showDrawer = computed(() => hasMenus.value && (drawerVisible.value || appStore.mixSiderFixed));
|
||||
|
||||
function handleSelectMixMenu(menu: App.Global.Menu) {
|
||||
setActiveFirstLevelMenuKey(menu.key);
|
||||
@@ -49,7 +48,7 @@ function handleResetActiveMenu() {
|
||||
</FirstLevelMenu>
|
||||
<div
|
||||
class="relative h-full transition-width-300"
|
||||
:style="{ width: appStore.mixSiderFixed ? themeStore.sider.mixChildMenuWidth + 'px' : '0px' }"
|
||||
:style="{ width: appStore.mixSiderFixed && hasMenus ? themeStore.sider.mixChildMenuWidth + 'px' : '0px' }"
|
||||
>
|
||||
<DarkModeContainer
|
||||
class="absolute-lt h-full flex-col-stretch nowrap-hidden shadow-sm transition-all-300"
|
||||
|
||||
@@ -137,7 +137,16 @@ const local: App.I18n.Schema = {
|
||||
403: 'No Permission',
|
||||
404: 'Page Not Found',
|
||||
500: 'Server Error',
|
||||
'iframe-page': 'Iframe',
|
||||
home: 'Home',
|
||||
document: 'Document',
|
||||
document_project: 'Project Document',
|
||||
'document_project-link': 'Project Document(External Link)',
|
||||
document_vue: 'Vue Document',
|
||||
document_vite: 'Vite Document',
|
||||
document_unocss: 'UnoCSS Document',
|
||||
document_naive: 'Naive UI Document',
|
||||
document_antd: 'Ant Design Vue Document',
|
||||
'user-center': 'User Center',
|
||||
about: 'About',
|
||||
function: 'System Function',
|
||||
|
||||
@@ -137,7 +137,16 @@ const local: App.I18n.Schema = {
|
||||
403: '无权限',
|
||||
404: '页面不存在',
|
||||
500: '服务器错误',
|
||||
'iframe-page': '外链页面',
|
||||
home: '首页',
|
||||
document: '文档',
|
||||
document_project: '项目文档',
|
||||
'document_project-link': '项目文档(外链)',
|
||||
document_vue: 'Vue文档',
|
||||
document_vite: 'Vite文档',
|
||||
document_unocss: 'UnoCSS文档',
|
||||
document_naive: 'Naive UI文档',
|
||||
document_antd: 'Ant Design Vue文档',
|
||||
'user-center': '个人中心',
|
||||
about: '关于',
|
||||
function: '系统功能',
|
||||
|
||||
@@ -18,6 +18,7 @@ export const views: Record<LastLevelRouteKey, RouteComponent | (() => Promise<Ro
|
||||
403: () => import("@/views/_builtin/403/index.vue"),
|
||||
404: () => import("@/views/_builtin/404/index.vue"),
|
||||
500: () => import("@/views/_builtin/500/index.vue"),
|
||||
"iframe-page": () => import("@/views/_builtin/iframe-page/[url].vue"),
|
||||
login: () => import("@/views/_builtin/login/index.vue"),
|
||||
about: () => import("@/views/about/index.vue"),
|
||||
"function_hide-child_one": () => import("@/views/function/hide-child/one/index.vue"),
|
||||
|
||||
@@ -179,6 +179,19 @@ export const generatedRoutes: GeneratedRoute[] = [
|
||||
order: 1
|
||||
}
|
||||
},
|
||||
{
|
||||
name: 'iframe-page',
|
||||
path: '/iframe-page/:url',
|
||||
component: 'layout.base$view.iframe-page',
|
||||
props: true,
|
||||
meta: {
|
||||
title: 'iframe-page',
|
||||
i18nKey: 'route.iframe-page',
|
||||
constant: true,
|
||||
hideInMenu: true,
|
||||
keepAlive: true
|
||||
}
|
||||
},
|
||||
{
|
||||
name: 'login',
|
||||
path: '/login/:module(pwd-login|code-login|register|reset-pwd|bind-wechat)?',
|
||||
|
||||
@@ -147,6 +147,14 @@ const routeMap: RouteMap = {
|
||||
"exception_403": "/exception/403",
|
||||
"exception_404": "/exception/404",
|
||||
"exception_500": "/exception/500",
|
||||
"document": "/document",
|
||||
"document_project": "/document/project",
|
||||
"document_project-link": "/document/project-link",
|
||||
"document_vue": "/document/vue",
|
||||
"document_vite": "/document/vite",
|
||||
"document_unocss": "/document/unocss",
|
||||
"document_naive": "/document/naive",
|
||||
"document_antd": "/document/antd",
|
||||
"403": "/403",
|
||||
"404": "/404",
|
||||
"500": "/500",
|
||||
@@ -162,6 +170,7 @@ const routeMap: RouteMap = {
|
||||
"function_tab": "/function/tab",
|
||||
"function_toggle-auth": "/function/toggle-auth",
|
||||
"home": "/home",
|
||||
"iframe-page": "/iframe-page/:url",
|
||||
"login": "/login/:module(pwd-login|code-login|register|reset-pwd|bind-wechat)?",
|
||||
"manage": "/manage",
|
||||
"manage_menu": "/manage/menu",
|
||||
|
||||
@@ -51,6 +51,115 @@ const customRoutes: CustomRoute[] = [
|
||||
}
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
name: 'document',
|
||||
path: '/document',
|
||||
component: 'layout.base',
|
||||
meta: {
|
||||
title: 'document',
|
||||
i18nKey: 'route.document',
|
||||
order: 2,
|
||||
icon: 'mdi:file-document-multiple-outline'
|
||||
},
|
||||
children: [
|
||||
{
|
||||
name: 'document_antd',
|
||||
path: '/document/antd',
|
||||
component: 'view.iframe-page',
|
||||
props: {
|
||||
url: 'https://antdv.com/components/overview-cn'
|
||||
},
|
||||
meta: {
|
||||
title: 'document_antd',
|
||||
i18nKey: 'route.document_antd',
|
||||
order: 7,
|
||||
icon: 'logos:ant-design'
|
||||
}
|
||||
},
|
||||
{
|
||||
name: 'document_naive',
|
||||
path: '/document/naive',
|
||||
component: 'view.iframe-page',
|
||||
props: {
|
||||
url: 'https://www.naiveui.com/zh-CN/os-theme/docs/introduction'
|
||||
},
|
||||
meta: {
|
||||
title: 'document_naive',
|
||||
i18nKey: 'route.document_naive',
|
||||
order: 6,
|
||||
icon: 'logos:naiveui'
|
||||
}
|
||||
},
|
||||
{
|
||||
name: 'document_project',
|
||||
path: '/document/project',
|
||||
component: 'view.iframe-page',
|
||||
props: {
|
||||
url: 'https://docs.soybeanjs.cn/zh'
|
||||
},
|
||||
meta: {
|
||||
title: 'document_project',
|
||||
i18nKey: 'route.document_project',
|
||||
order: 1,
|
||||
localIcon: 'logo'
|
||||
}
|
||||
},
|
||||
{
|
||||
name: 'document_project-link',
|
||||
path: '/document/project-link',
|
||||
component: 'view.iframe-page',
|
||||
meta: {
|
||||
title: 'document_project-link',
|
||||
i18nKey: 'route.document_project-link',
|
||||
order: 2,
|
||||
localIcon: 'logo',
|
||||
href: 'https://docs.soybeanjs.cn/zh'
|
||||
}
|
||||
},
|
||||
{
|
||||
name: 'document_unocss',
|
||||
path: '/document/unocss',
|
||||
component: 'view.iframe-page',
|
||||
props: {
|
||||
url: 'https://unocss.dev/'
|
||||
},
|
||||
meta: {
|
||||
title: 'document_unocss',
|
||||
i18nKey: 'route.document_unocss',
|
||||
order: 5,
|
||||
icon: 'logos:unocss'
|
||||
}
|
||||
},
|
||||
{
|
||||
name: 'document_vite',
|
||||
path: '/document/vite',
|
||||
component: 'view.iframe-page',
|
||||
props: {
|
||||
url: 'https://cn.vitejs.dev/'
|
||||
},
|
||||
meta: {
|
||||
title: 'document_vite',
|
||||
i18nKey: 'route.document_vite',
|
||||
order: 4,
|
||||
icon: 'logos:vitejs'
|
||||
}
|
||||
},
|
||||
{
|
||||
name: 'document_vue',
|
||||
path: '/document/vue',
|
||||
component: 'view.iframe-page',
|
||||
props: {
|
||||
url: 'https://cn.vuejs.org/'
|
||||
},
|
||||
meta: {
|
||||
title: 'document_vue',
|
||||
i18nKey: 'route.document_vue',
|
||||
order: 3,
|
||||
icon: 'logos:vue'
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
];
|
||||
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
import { effectScope, onScopeDispose, ref, watch } from 'vue';
|
||||
import { effectScope, nextTick, onScopeDispose, ref, watch } from 'vue';
|
||||
import { defineStore } from 'pinia';
|
||||
import { breakpointsTailwind, useBreakpoints, useTitle } from '@vueuse/core';
|
||||
import { breakpointsTailwind, useBreakpoints, useEventListener, useTitle } from '@vueuse/core';
|
||||
import { useBoolean } from '@sa/hooks';
|
||||
import { SetupStoreId } from '@/enum';
|
||||
import { router } from '@/router';
|
||||
@@ -22,7 +22,11 @@ export const useAppStore = defineStore(SetupStoreId.App, () => {
|
||||
const { bool: fullContent, toggle: toggleFullContent } = useBoolean();
|
||||
const { bool: contentXScrollable, setBool: setContentXScrollable } = useBoolean();
|
||||
const { bool: siderCollapse, setBool: setSiderCollapse, toggle: toggleSiderCollapse } = useBoolean();
|
||||
const { bool: mixSiderFixed, setBool: setMixSiderFixed, toggle: toggleMixSiderFixed } = useBoolean();
|
||||
const {
|
||||
bool: mixSiderFixed,
|
||||
setBool: setMixSiderFixed,
|
||||
toggle: toggleMixSiderFixed
|
||||
} = useBoolean(localStg.get('mixSiderFixed') === 'Y');
|
||||
|
||||
/** Is mobile layout */
|
||||
const isMobile = breakpoints.smaller('sm');
|
||||
@@ -83,9 +87,26 @@ export const useAppStore = defineStore(SetupStoreId.App, () => {
|
||||
isMobile,
|
||||
newValue => {
|
||||
if (newValue) {
|
||||
setSiderCollapse(true);
|
||||
// backup theme setting before is mobile
|
||||
localStg.set('backupThemeSettingBeforeIsMobile', {
|
||||
layout: themeStore.layout.mode,
|
||||
siderCollapse: siderCollapse.value
|
||||
});
|
||||
|
||||
themeStore.setThemeLayout('vertical');
|
||||
setSiderCollapse(true);
|
||||
} else {
|
||||
// when is not mobile, recover the backup theme setting
|
||||
const backup = localStg.get('backupThemeSettingBeforeIsMobile');
|
||||
|
||||
if (backup) {
|
||||
nextTick(() => {
|
||||
themeStore.setThemeLayout(backup.layout);
|
||||
setSiderCollapse(backup.siderCollapse);
|
||||
|
||||
localStg.remove('backupThemeSettingBeforeIsMobile');
|
||||
});
|
||||
}
|
||||
}
|
||||
},
|
||||
{ immediate: true }
|
||||
@@ -107,6 +128,11 @@ export const useAppStore = defineStore(SetupStoreId.App, () => {
|
||||
});
|
||||
});
|
||||
|
||||
// cache mixSiderFixed
|
||||
useEventListener(window, 'beforeunload', () => {
|
||||
localStg.set('mixSiderFixed', mixSiderFixed.value ? 'Y' : 'N');
|
||||
});
|
||||
|
||||
/** On scope dispose */
|
||||
onScopeDispose(() => {
|
||||
scope.stop();
|
||||
|
||||
@@ -16,17 +16,24 @@ export function getAllTabs(tabs: App.Global.Tab[], homeTab?: App.Global.Tab) {
|
||||
|
||||
const filterHomeTabs = tabs.filter(tab => tab.id !== homeTab.id);
|
||||
|
||||
const fixedTabs = filterHomeTabs
|
||||
.filter(tab => tab.fixedIndex !== undefined)
|
||||
.sort((a, b) => a.fixedIndex! - b.fixedIndex!);
|
||||
const fixedTabs = filterHomeTabs.filter(isFixedTab).sort((a, b) => a.fixedIndex! - b.fixedIndex!);
|
||||
|
||||
const remainTabs = filterHomeTabs.filter(tab => tab.fixedIndex === undefined);
|
||||
const remainTabs = filterHomeTabs.filter(tab => !isFixedTab(tab));
|
||||
|
||||
const allTabs = [homeTab, ...fixedTabs, ...remainTabs];
|
||||
|
||||
return updateTabsLabel(allTabs);
|
||||
}
|
||||
|
||||
/**
|
||||
* Is fixed tab
|
||||
*
|
||||
* @param tab
|
||||
*/
|
||||
function isFixedTab(tab: App.Global.Tab) {
|
||||
return tab.fixedIndex !== undefined && tab.fixedIndex !== null;
|
||||
}
|
||||
|
||||
/**
|
||||
* Get tab id by route
|
||||
*
|
||||
@@ -177,7 +184,7 @@ export function extractTabsByAllRoutes(router: Router, tabs: App.Global.Tab[]) {
|
||||
* @param tabs
|
||||
*/
|
||||
export function getFixedTabs(tabs: App.Global.Tab[]) {
|
||||
return tabs.filter(tab => tab.fixedIndex !== undefined);
|
||||
return tabs.filter(isFixedTab);
|
||||
}
|
||||
|
||||
/**
|
||||
|
||||
2
src/typings/app.d.ts
vendored
2
src/typings/app.d.ts
vendored
@@ -198,7 +198,7 @@ declare namespace App {
|
||||
/** The tab route full path */
|
||||
fullPath: string;
|
||||
/** The tab fixed index */
|
||||
fixedIndex?: number;
|
||||
fixedIndex?: number | null;
|
||||
/**
|
||||
* Tab icon
|
||||
*
|
||||
|
||||
2
src/typings/components.d.ts
vendored
2
src/typings/components.d.ts
vendored
@@ -1,10 +1,10 @@
|
||||
/* eslint-disable */
|
||||
/* prettier-ignore */
|
||||
// @ts-nocheck
|
||||
// Generated by unplugin-vue-components
|
||||
// Read more: https://github.com/vuejs/core/pull/3399
|
||||
export {}
|
||||
|
||||
/* prettier-ignore */
|
||||
declare module 'vue' {
|
||||
export interface GlobalComponents {
|
||||
AppProvider: typeof import('./../components/common/app-provider.vue')['default']
|
||||
|
||||
27
src/typings/elegant-router.d.ts
vendored
27
src/typings/elegant-router.d.ts
vendored
@@ -21,6 +21,14 @@ declare module "@elegant-router/types" {
|
||||
"exception_403": "/exception/403";
|
||||
"exception_404": "/exception/404";
|
||||
"exception_500": "/exception/500";
|
||||
"document": "/document";
|
||||
"document_project": "/document/project";
|
||||
"document_project-link": "/document/project-link";
|
||||
"document_vue": "/document/vue";
|
||||
"document_vite": "/document/vite";
|
||||
"document_unocss": "/document/unocss";
|
||||
"document_naive": "/document/naive";
|
||||
"document_antd": "/document/antd";
|
||||
"403": "/403";
|
||||
"404": "/404";
|
||||
"500": "/500";
|
||||
@@ -36,6 +44,7 @@ declare module "@elegant-router/types" {
|
||||
"function_tab": "/function/tab";
|
||||
"function_toggle-auth": "/function/toggle-auth";
|
||||
"home": "/home";
|
||||
"iframe-page": "/iframe-page/:url";
|
||||
"login": "/login/:module(pwd-login|code-login|register|reset-pwd|bind-wechat)?";
|
||||
"manage": "/manage";
|
||||
"manage_menu": "/manage/menu";
|
||||
@@ -72,6 +81,14 @@ declare module "@elegant-router/types" {
|
||||
| "exception_403"
|
||||
| "exception_404"
|
||||
| "exception_500"
|
||||
| "document"
|
||||
| "document_project"
|
||||
| "document_project-link"
|
||||
| "document_vue"
|
||||
| "document_vite"
|
||||
| "document_unocss"
|
||||
| "document_naive"
|
||||
| "document_antd"
|
||||
>;
|
||||
|
||||
/**
|
||||
@@ -90,6 +107,7 @@ declare module "@elegant-router/types" {
|
||||
| "about"
|
||||
| "function"
|
||||
| "home"
|
||||
| "iframe-page"
|
||||
| "login"
|
||||
| "manage"
|
||||
| "multi-menu"
|
||||
@@ -104,6 +122,7 @@ declare module "@elegant-router/types" {
|
||||
| "root"
|
||||
| "not-found"
|
||||
| "exception"
|
||||
| "document"
|
||||
>;
|
||||
|
||||
/**
|
||||
@@ -114,6 +133,7 @@ declare module "@elegant-router/types" {
|
||||
| "403"
|
||||
| "404"
|
||||
| "500"
|
||||
| "iframe-page"
|
||||
| "login"
|
||||
| "about"
|
||||
| "function_hide-child_one"
|
||||
@@ -144,6 +164,13 @@ declare module "@elegant-router/types" {
|
||||
| "exception_403"
|
||||
| "exception_404"
|
||||
| "exception_500"
|
||||
| "document_project"
|
||||
| "document_project-link"
|
||||
| "document_vue"
|
||||
| "document_vite"
|
||||
| "document_unocss"
|
||||
| "document_naive"
|
||||
| "document_antd"
|
||||
>;
|
||||
|
||||
/**
|
||||
|
||||
2
src/typings/router.d.ts
vendored
2
src/typings/router.d.ts
vendored
@@ -58,7 +58,7 @@ declare module 'vue-router' {
|
||||
/** By default, the same route path will use one tab, if set to true, it will use multiple tabs */
|
||||
multiTab?: boolean;
|
||||
/** If set, the route will be fixed in tabs, and the value is the order of fixed tabs */
|
||||
fixedIndexInTab?: number;
|
||||
fixedIndexInTab?: number | null;
|
||||
/** if set query parameters, it will be automatically carried when entering the route */
|
||||
query?: Record<string, string>;
|
||||
}
|
||||
|
||||
7
src/typings/storage.d.ts
vendored
7
src/typings/storage.d.ts
vendored
@@ -14,6 +14,8 @@ declare namespace StorageType {
|
||||
lang: App.I18n.LangType;
|
||||
/** The token */
|
||||
token: string;
|
||||
/** Fixed sider with mix-menu */
|
||||
mixSiderFixed: CommonType.YesOrNo;
|
||||
/** The refresh token */
|
||||
refreshToken: string;
|
||||
/** The user info */
|
||||
@@ -30,5 +32,10 @@ declare namespace StorageType {
|
||||
overrideThemeFlag: string;
|
||||
/** The global tabs */
|
||||
globalTabs: App.Global.Tab[];
|
||||
/** The backup theme setting before is mobile */
|
||||
backupThemeSettingBeforeIsMobile: {
|
||||
layout: UnionKey.ThemeLayoutMode;
|
||||
siderCollapse: boolean;
|
||||
};
|
||||
}
|
||||
}
|
||||
|
||||
25
src/views/_builtin/iframe-page/[url].vue
Normal file
25
src/views/_builtin/iframe-page/[url].vue
Normal file
@@ -0,0 +1,25 @@
|
||||
<script setup lang="ts">
|
||||
import { onActivated, onMounted } from 'vue';
|
||||
|
||||
interface Props {
|
||||
url: string;
|
||||
}
|
||||
|
||||
defineProps<Props>();
|
||||
|
||||
onMounted(() => {
|
||||
console.log('mounted');
|
||||
});
|
||||
|
||||
onActivated(() => {
|
||||
console.log('activated');
|
||||
});
|
||||
</script>
|
||||
|
||||
<template>
|
||||
<div class="h-full">
|
||||
<iframe id="iframePage" class="size-full" :src="url"></iframe>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<style scoped></style>
|
||||
@@ -136,20 +136,18 @@ const layoutOptions: CommonType.Option[] = [
|
||||
}
|
||||
];
|
||||
|
||||
function handleUpdateModel() {
|
||||
if (props.operateType === 'add') {
|
||||
function handleInitModel() {
|
||||
Object.assign(model, createDefaultModel());
|
||||
|
||||
return;
|
||||
}
|
||||
if (!props.rowData) return;
|
||||
|
||||
if (props.operateType === 'addChild' && props.rowData) {
|
||||
if (props.operateType === 'addChild') {
|
||||
const { id } = props.rowData;
|
||||
|
||||
Object.assign(model, createDefaultModel(), { parentId: id });
|
||||
Object.assign(model, { parentId: id });
|
||||
}
|
||||
|
||||
if (props.operateType === 'edit' && props.rowData) {
|
||||
if (props.operateType === 'edit') {
|
||||
const { component, ...rest } = props.rowData;
|
||||
|
||||
const { layout, page } = getLayoutAndPage(component);
|
||||
@@ -175,14 +173,14 @@ async function handleSubmit() {
|
||||
|
||||
watch(visible, () => {
|
||||
if (visible.value) {
|
||||
handleUpdateModel();
|
||||
handleInitModel();
|
||||
restoreValidation();
|
||||
}
|
||||
});
|
||||
</script>
|
||||
|
||||
<template>
|
||||
<NDrawer v-model:show="visible" :title="title" display-directive="show" :width="360">
|
||||
<NDrawer v-model:show="visible" display-directive="show" :width="360">
|
||||
<NDrawerContent :title="title" :native-scrollbar="false" closable>
|
||||
<NForm ref="formRef" :model="model" :rules="rules" label-placement="left" :label-width="80">
|
||||
<NFormItem :label="$t('page.manage.menu.menuType')" path="menuType">
|
||||
|
||||
@@ -68,11 +68,8 @@ const roleId = computed(() => props.rowData?.id || -1);
|
||||
|
||||
const isEdit = computed(() => props.operateType === 'edit');
|
||||
|
||||
function handleUpdateModelWhenEdit() {
|
||||
if (props.operateType === 'add') {
|
||||
function handleInitModel() {
|
||||
Object.assign(model, createDefaultModel());
|
||||
return;
|
||||
}
|
||||
|
||||
if (props.operateType === 'edit' && props.rowData) {
|
||||
Object.assign(model, props.rowData);
|
||||
@@ -93,14 +90,14 @@ async function handleSubmit() {
|
||||
|
||||
watch(visible, () => {
|
||||
if (visible.value) {
|
||||
handleUpdateModelWhenEdit();
|
||||
handleInitModel();
|
||||
restoreValidation();
|
||||
}
|
||||
});
|
||||
</script>
|
||||
|
||||
<template>
|
||||
<NDrawer v-model:show="visible" :title="title" display-directive="show" :width="360">
|
||||
<NDrawer v-model:show="visible" display-directive="show" :width="360">
|
||||
<NDrawerContent :title="title" :native-scrollbar="false" closable>
|
||||
<NForm ref="formRef" :model="model" :rules="rules">
|
||||
<NFormItem :label="$t('page.manage.role.roleName')" path="roleName">
|
||||
|
||||
@@ -89,11 +89,8 @@ async function getRoleOptions() {
|
||||
}
|
||||
}
|
||||
|
||||
function handleUpdateModelWhenEdit() {
|
||||
if (props.operateType === 'add') {
|
||||
function handleInitModel() {
|
||||
Object.assign(model, createDefaultModel());
|
||||
return;
|
||||
}
|
||||
|
||||
if (props.operateType === 'edit' && props.rowData) {
|
||||
Object.assign(model, props.rowData);
|
||||
@@ -114,7 +111,7 @@ async function handleSubmit() {
|
||||
|
||||
watch(visible, () => {
|
||||
if (visible.value) {
|
||||
handleUpdateModelWhenEdit();
|
||||
handleInitModel();
|
||||
restoreValidation();
|
||||
getRoleOptions();
|
||||
}
|
||||
@@ -122,7 +119,7 @@ watch(visible, () => {
|
||||
</script>
|
||||
|
||||
<template>
|
||||
<NDrawer v-model:show="visible" :title="title" display-directive="show" :width="360">
|
||||
<NDrawer v-model:show="visible" display-directive="show" :width="360">
|
||||
<NDrawerContent :title="title" :native-scrollbar="false" closable>
|
||||
<NForm ref="formRef" :model="model" :rules="rules">
|
||||
<NFormItem :label="$t('page.manage.user.userName')" path="userName">
|
||||
|
||||
Reference in New Issue
Block a user