Showing preview only (940K chars total). Download the full file or copy to clipboard to get everything.
Repository: soybeanjs/soybean-admin
Branch: main
Commit: af1b5f1d3387
Files: 288
Total size: 867.0 KB
Directory structure:
gitextract_2ab1an7r/
├── .editorconfig
├── .gitattributes
├── .github/
│ ├── ISSUE_TEMPLATE/
│ │ ├── bug-report_cn.yaml
│ │ ├── bug-report_en.yaml
│ │ ├── feature_request_cn.yaml
│ │ └── feature_request_en.yaml
│ ├── PULL_REQUEST_TEMPLATE/
│ │ ├── pr_cn.md
│ │ └── pr_en.md
│ └── workflows/
│ ├── linter.yml
│ ├── opencode.yml
│ └── release.yml
├── .gitignore
├── .npmrc
├── .oxfmtrc.json
├── .oxlintrc.json
├── .vscode/
│ ├── extensions.json
│ ├── launch.json
│ └── settings.json
├── CHANGELOG.md
├── CHANGELOG.zh_CN.md
├── LICENSE
├── README.en_US.md
├── README.md
├── build/
│ ├── config/
│ │ ├── index.ts
│ │ ├── proxy.ts
│ │ └── time.ts
│ └── plugins/
│ ├── devtools.ts
│ ├── html.ts
│ ├── index.ts
│ ├── router.ts
│ ├── unocss.ts
│ └── unplugin.ts
├── eslint.config.js
├── index.html
├── package.json
├── packages/
│ ├── alova/
│ │ ├── package.json
│ │ ├── src/
│ │ │ ├── client.ts
│ │ │ ├── constant.ts
│ │ │ ├── fetch.ts
│ │ │ ├── index.ts
│ │ │ ├── mock.ts
│ │ │ └── type.ts
│ │ └── tsconfig.json
│ ├── axios/
│ │ ├── package.json
│ │ ├── src/
│ │ │ ├── constant.ts
│ │ │ ├── index.ts
│ │ │ ├── options.ts
│ │ │ ├── shared.ts
│ │ │ └── type.ts
│ │ └── tsconfig.json
│ ├── color/
│ │ ├── package.json
│ │ ├── src/
│ │ │ ├── constant/
│ │ │ │ ├── index.ts
│ │ │ │ ├── name.ts
│ │ │ │ └── palette.ts
│ │ │ ├── index.ts
│ │ │ ├── palette/
│ │ │ │ ├── antd.ts
│ │ │ │ ├── index.ts
│ │ │ │ └── recommend.ts
│ │ │ ├── shared/
│ │ │ │ ├── colord.ts
│ │ │ │ ├── index.ts
│ │ │ │ └── name.ts
│ │ │ └── types/
│ │ │ └── index.ts
│ │ └── tsconfig.json
│ ├── hooks/
│ │ ├── package.json
│ │ ├── src/
│ │ │ ├── index.ts
│ │ │ ├── use-boolean.ts
│ │ │ ├── use-context.ts
│ │ │ ├── use-count-down.ts
│ │ │ ├── use-loading.ts
│ │ │ ├── use-request.ts
│ │ │ ├── use-svg-icon-render.ts
│ │ │ └── use-table.ts
│ │ └── tsconfig.json
│ ├── materials/
│ │ ├── package.json
│ │ ├── src/
│ │ │ ├── index.ts
│ │ │ ├── libs/
│ │ │ │ ├── admin-layout/
│ │ │ │ │ ├── index.module.css
│ │ │ │ │ ├── index.module.css.d.ts
│ │ │ │ │ ├── index.ts
│ │ │ │ │ ├── index.vue
│ │ │ │ │ └── shared.ts
│ │ │ │ ├── page-tab/
│ │ │ │ │ ├── button-tab.vue
│ │ │ │ │ ├── chrome-tab-bg.vue
│ │ │ │ │ ├── chrome-tab.vue
│ │ │ │ │ ├── index.module.css
│ │ │ │ │ ├── index.module.css.d.ts
│ │ │ │ │ ├── index.ts
│ │ │ │ │ ├── index.vue
│ │ │ │ │ ├── shared.ts
│ │ │ │ │ ├── slider-tab.vue
│ │ │ │ │ └── svg-close.vue
│ │ │ │ └── simple-scrollbar/
│ │ │ │ ├── index.ts
│ │ │ │ └── index.vue
│ │ │ └── types/
│ │ │ └── index.ts
│ │ └── tsconfig.json
│ ├── scripts/
│ │ ├── bin.ts
│ │ ├── package.json
│ │ ├── src/
│ │ │ ├── commands/
│ │ │ │ ├── changelog.ts
│ │ │ │ ├── cleanup.ts
│ │ │ │ ├── git-commit.ts
│ │ │ │ ├── index.ts
│ │ │ │ ├── release.ts
│ │ │ │ ├── router.ts
│ │ │ │ └── update-pkg.ts
│ │ │ ├── config/
│ │ │ │ └── index.ts
│ │ │ ├── index.ts
│ │ │ ├── locales/
│ │ │ │ └── index.ts
│ │ │ ├── shared/
│ │ │ │ └── index.ts
│ │ │ └── types/
│ │ │ └── index.ts
│ │ └── tsconfig.json
│ ├── uno-preset/
│ │ ├── package.json
│ │ ├── src/
│ │ │ └── index.ts
│ │ └── tsconfig.json
│ └── utils/
│ ├── package.json
│ ├── src/
│ │ ├── crypto.ts
│ │ ├── index.ts
│ │ ├── klona.ts
│ │ ├── nanoid.ts
│ │ └── storage.ts
│ └── tsconfig.json
├── pnpm-workspace.yaml
├── src/
│ ├── App.vue
│ ├── components/
│ │ ├── advanced/
│ │ │ ├── table-column-setting.vue
│ │ │ └── table-header-operation.vue
│ │ ├── common/
│ │ │ ├── app-provider.vue
│ │ │ ├── dark-mode-container.vue
│ │ │ ├── exception-base.vue
│ │ │ ├── full-screen.vue
│ │ │ ├── icon-tooltip.vue
│ │ │ ├── lang-switch.vue
│ │ │ ├── menu-toggler.vue
│ │ │ ├── pin-toggler.vue
│ │ │ ├── reload-button.vue
│ │ │ ├── system-logo.vue
│ │ │ └── theme-schema-switch.vue
│ │ └── custom/
│ │ ├── better-scroll.vue
│ │ ├── button-icon.vue
│ │ ├── count-to.vue
│ │ ├── look-forward.vue
│ │ ├── soybean-avatar.vue
│ │ ├── svg-icon.vue
│ │ └── wave-bg.vue
│ ├── constants/
│ │ ├── app.ts
│ │ ├── common.ts
│ │ └── reg.ts
│ ├── enum/
│ │ └── index.ts
│ ├── hooks/
│ │ ├── business/
│ │ │ ├── auth.ts
│ │ │ └── captcha.ts
│ │ └── common/
│ │ ├── echarts.ts
│ │ ├── form.ts
│ │ ├── icon.ts
│ │ ├── router.ts
│ │ └── table.ts
│ ├── layouts/
│ │ ├── base-layout/
│ │ │ └── index.vue
│ │ ├── blank-layout/
│ │ │ └── index.vue
│ │ └── modules/
│ │ ├── global-breadcrumb/
│ │ │ └── index.vue
│ │ ├── global-content/
│ │ │ └── index.vue
│ │ ├── global-footer/
│ │ │ └── index.vue
│ │ ├── global-header/
│ │ │ ├── components/
│ │ │ │ ├── theme-button.vue
│ │ │ │ └── user-avatar.vue
│ │ │ └── index.vue
│ │ ├── global-logo/
│ │ │ └── index.vue
│ │ ├── global-menu/
│ │ │ ├── components/
│ │ │ │ └── first-level-menu.vue
│ │ │ ├── context/
│ │ │ │ └── index.ts
│ │ │ ├── index.vue
│ │ │ └── modules/
│ │ │ ├── horizontal-menu.vue
│ │ │ ├── top-hybrid-header-first.vue
│ │ │ ├── top-hybrid-sidebar-first.vue
│ │ │ ├── vertical-hybrid-header-first.vue
│ │ │ ├── vertical-menu.vue
│ │ │ └── vertical-mix-menu.vue
│ │ ├── global-search/
│ │ │ ├── components/
│ │ │ │ ├── search-footer.vue
│ │ │ │ ├── search-modal.vue
│ │ │ │ └── search-result.vue
│ │ │ └── index.vue
│ │ ├── global-sider/
│ │ │ └── index.vue
│ │ ├── global-tab/
│ │ │ ├── context-menu.vue
│ │ │ └── index.vue
│ │ └── theme-drawer/
│ │ ├── components/
│ │ │ ├── layout-mode-card.vue
│ │ │ └── setting-item.vue
│ │ ├── index.vue
│ │ └── modules/
│ │ ├── appearance/
│ │ │ ├── index.vue
│ │ │ └── modules/
│ │ │ ├── theme-color.vue
│ │ │ ├── theme-radius.vue
│ │ │ └── theme-schema.vue
│ │ ├── config-operation.vue
│ │ ├── general/
│ │ │ ├── index.vue
│ │ │ └── modules/
│ │ │ ├── global-settings.vue
│ │ │ └── watermark-settings.vue
│ │ ├── layout/
│ │ │ ├── index.vue
│ │ │ └── modules/
│ │ │ ├── content-settings.vue
│ │ │ ├── footer-settings.vue
│ │ │ ├── header-settings.vue
│ │ │ ├── layout-mode.vue
│ │ │ ├── sider-settings.vue
│ │ │ └── tab-settings.vue
│ │ └── preset/
│ │ ├── index.vue
│ │ └── modules/
│ │ └── theme-preset.vue
│ ├── locales/
│ │ ├── dayjs.ts
│ │ ├── index.ts
│ │ ├── langs/
│ │ │ ├── en-us.ts
│ │ │ └── zh-cn.ts
│ │ ├── locale.ts
│ │ └── naive.ts
│ ├── main.ts
│ ├── plugins/
│ │ ├── app.ts
│ │ ├── assets.ts
│ │ ├── dayjs.ts
│ │ ├── iconify.ts
│ │ ├── index.ts
│ │ ├── loading.ts
│ │ └── nprogress.ts
│ ├── router/
│ │ ├── elegant/
│ │ │ ├── imports.ts
│ │ │ ├── routes.ts
│ │ │ └── transform.ts
│ │ ├── guard/
│ │ │ ├── index.ts
│ │ │ ├── progress.ts
│ │ │ ├── route.ts
│ │ │ └── title.ts
│ │ ├── index.ts
│ │ └── routes/
│ │ ├── builtin.ts
│ │ └── index.ts
│ ├── service/
│ │ ├── api/
│ │ │ ├── auth.ts
│ │ │ ├── index.ts
│ │ │ └── route.ts
│ │ └── request/
│ │ ├── index.ts
│ │ ├── shared.ts
│ │ └── type.ts
│ ├── store/
│ │ ├── index.ts
│ │ ├── modules/
│ │ │ ├── app/
│ │ │ │ └── index.ts
│ │ │ ├── auth/
│ │ │ │ ├── index.ts
│ │ │ │ └── shared.ts
│ │ │ ├── route/
│ │ │ │ ├── index.ts
│ │ │ │ └── shared.ts
│ │ │ ├── tab/
│ │ │ │ ├── index.ts
│ │ │ │ └── shared.ts
│ │ │ └── theme/
│ │ │ ├── index.ts
│ │ │ └── shared.ts
│ │ └── plugins/
│ │ └── index.ts
│ ├── styles/
│ │ ├── css/
│ │ │ ├── global.css
│ │ │ ├── nprogress.css
│ │ │ ├── reset.css
│ │ │ └── transition.css
│ │ └── scss/
│ │ ├── global.scss
│ │ └── scrollbar.scss
│ ├── theme/
│ │ ├── preset/
│ │ │ ├── azir.json
│ │ │ ├── compact.json
│ │ │ ├── dark.json
│ │ │ └── default.json
│ │ ├── settings.ts
│ │ └── vars.ts
│ ├── typings/
│ │ ├── api/
│ │ │ ├── auth.d.ts
│ │ │ ├── common.d.ts
│ │ │ └── route.d.ts
│ │ ├── app.d.ts
│ │ ├── common.d.ts
│ │ ├── components.d.ts
│ │ ├── elegant-router.d.ts
│ │ ├── global.d.ts
│ │ ├── naive-ui.d.ts
│ │ ├── router.d.ts
│ │ ├── storage.d.ts
│ │ ├── union-key.d.ts
│ │ └── vite-env.d.ts
│ ├── utils/
│ │ ├── agent.ts
│ │ ├── common.ts
│ │ ├── icon.ts
│ │ ├── service.ts
│ │ └── storage.ts
│ └── views/
│ ├── _builtin/
│ │ ├── 403/
│ │ │ └── index.vue
│ │ ├── 404/
│ │ │ └── index.vue
│ │ ├── 500/
│ │ │ └── index.vue
│ │ ├── iframe-page/
│ │ │ └── [url].vue
│ │ └── login/
│ │ ├── index.vue
│ │ └── modules/
│ │ ├── bind-wechat.vue
│ │ ├── code-login.vue
│ │ ├── pwd-login.vue
│ │ ├── register.vue
│ │ └── reset-pwd.vue
│ └── home/
│ ├── index.vue
│ └── modules/
│ ├── card-data.vue
│ ├── creativity-banner.vue
│ ├── header-banner.vue
│ ├── line-chart.vue
│ ├── pie-chart.vue
│ └── project-news.vue
├── tsconfig.json
├── uno.config.ts
└── vite.config.ts
================================================
FILE CONTENTS
================================================
================================================
FILE: .editorconfig
================================================
# Editor configuration, see http://editorconfig.org
root = true
[*]
charset = utf-8
indent_style = space
indent_size = 2
end_of_line = lf
trim_trailing_whitespace = true
insert_final_newline = true
================================================
FILE: .gitattributes
================================================
"*.vue" eol=lf
"*.js" eol=lf
"*.ts" eol=lf
"*.jsx" eol=lf
"*.tsx" eol=lf
"*.mjs" eol=lf
"*.json" eol=lf
"*.html" eol=lf
"*.css" eol=lf
"*.scss" eol=lf
"*.md" eol=lf
"*.yaml" eol=lf
"*.yml" eol=lf
================================================
FILE: .github/ISSUE_TEMPLATE/bug-report_cn.yaml
================================================
name: 🐞 Bug提交
description: 在使用软件或功能的过程中遇到了错误
title: '[Bug]: '
labels: ['bug?']
body:
- type: markdown
attributes:
value: |
## 请按照以下要求进行提交
### 1. 提交后需要指定标签和截止时间。
---
- type: markdown
attributes:
value: |
## 环境信息
请根据实际使用环境修改以下信息。
- type: input
id: env-program-ver
attributes:
label: 软件版本
validations:
required: true
- type: dropdown
id: env-vm-ver
attributes:
label: 运行环境
description: 选择运行软件的系统版本
options:
- Windows (64)
- Windows (32/x84)
- MacOS
- Linux
- Ubuntu
- CentOS
- ArchLinux
- UNIX (Android)
- 其它(请在下方说明)
validations:
required: true
- type: dropdown
id: env-vm-arch
attributes:
label: 运行架构
description: (可选) 选择运行软件的系统架构
options:
- AMD64
- x86
- ARM [32] (别名:AArch32 / ARMv7)
- ARM [64] (别名:AArch64 / ARMv8)
- 其它
- type: textarea
id: reproduce-steps
attributes:
label: 重现步骤
description: |
我们需要执行哪些操作才能让 bug 出现?
简洁清晰的重现步骤能够帮助我们更迅速地定位问题所在。
validations:
required: true
- type: textarea
id: expected
attributes:
label: 期望的结果是什么?
validations:
required: true
- type: textarea
id: actual
attributes:
label: 实际的结果是什么?
validations:
required: true
- type: textarea
id: logging
attributes:
label: 日志记录(可选)
render: golang
- type: textarea
id: extra-desc
attributes:
label: 补充说明(可选)
================================================
FILE: .github/ISSUE_TEMPLATE/bug-report_en.yaml
================================================
name: 🐞 Bug Report
description: Encountered an error while using the software or feature
title: '[Bug]: '
labels: ['bug?']
body:
- type: markdown
attributes:
value: |
## Please submit according to the following requirements
### 1. After submission, you need to specify the label and deadline.
---
- type: markdown
attributes:
value: |
## Environment Information
Please modify the following information according to the actual usage environment.
- type: input
id: env-program-ver
attributes:
label: Software Version
validations:
required: true
- type: dropdown
id: env-vm-ver
attributes:
label: Operating Environment
description: Select the system version on which the software is running
options:
- Windows (64)
- Windows (32/x84)
- MacOS
- Linux
- Ubuntu
- CentOS
- ArchLinux
- UNIX (Android)
- Other (please specify below)
validations:
required: true
- type: dropdown
id: env-vm-arch
attributes:
label: Operating Architecture
description: (Optional) Select the system architecture on which the software is running
options:
- AMD64
- x86
- ARM [32] (Alias:AArch32 / ARMv7)
- ARM [64] (Alias:AArch64 / ARMv8)
- Other
- type: textarea
id: reproduce-steps
attributes:
label: Reproduce Steps
description: |
What operations do we need to perform to make the bug appear?
The concise and clear reproduction steps can help us locate the problem more quickly.
validations:
required: true
- type: textarea
id: expected
attributes:
label: What is the expected result?
validations:
required: true
- type: textarea
id: actual
attributes:
label: What is the actual result?
validations:
required: true
- type: textarea
id: logging
attributes:
label: Logging (Optional)
render: golang
- type: textarea
id: extra-desc
attributes:
label: Additional Description (Optional)
================================================
FILE: .github/ISSUE_TEMPLATE/feature_request_cn.yaml
================================================
---
name: 🚀 功能请求
description: 提出一个想法以帮助我们改进W&B
title: '[功能]: '
labels:
- '功能请求'
body:
- type: markdown
attributes:
value: |
**感谢 :heart: 您花时间填写此功能请求报告!**
我们恳请您搜索看看您的功能是否[已经存在](https://github.com/soybeanjs/soybean-admin/issues?q=is%3Aissue+sort%3Acreated-desc+)。
我们也很乐意接受用户的贡献。有关更多详细信息,请参阅[此处](https://github.com/soybeanjs/soybean-admin/blob/main/README.zh_CN.md#%E5%A6%82%E4%BD%95%E8%B4%A1%E7%8C%AE)。
- type: textarea
attributes:
label: 描述
description: |
对您感兴趣的功能的清晰简洁的描述。
validations:
required: true
- type: textarea
attributes:
label: 建议的解决方案
description: |
描述您想要的解决方案。对您希望发生的事情的清晰简洁的描述。
validations:
required: true
- type: textarea
attributes:
label: 替代方案
description: |
描述您考虑过的替代方案。
对您考虑过的任何替代解决方案或功能的清晰简洁的描述。
validations:
required: false
- type: textarea
attributes:
label: 额外的上下文
description: |
在此处添加有关问题的其他上下文。
validations:
required: false
================================================
FILE: .github/ISSUE_TEMPLATE/feature_request_en.yaml
================================================
---
name: 🚀 Feature Request
description: Suggest an idea to help us improve W&B
title: '[Feature]: '
labels:
- 'feature_request'
body:
- type: markdown
attributes:
value: |
**Thanks :heart: for taking the time to fill out this feature request report!**
We kindly ask that you search to see if an issue [already exists](https://github.com/soybeanjs/soybean-admin/issues?q=is%3Aissue+sort%3Acreated-desc+) for your feature.
We are also happy to accept contributions from our users. For more details see [here](https://github.com/soybeanjs/soybean-admin/blob/main/README.md#how-to-contribute).
- type: textarea
attributes:
label: Description
description: |
A clear and concise description of the feature you're interested in.
validations:
required: true
- type: textarea
attributes:
label: Suggested Solution
description: |
Describe the solution you'd like. A clear and concise description of what you want to happen.
validations:
required: true
- type: textarea
attributes:
label: Alternatives
description: |
Describe alternatives you've considered.
A clear and concise description of any alternative solutions or features you've considered.
validations:
required: false
- type: textarea
attributes:
label: Additional Context
description: |
Add any other context about the problem here.
validations:
required: false
================================================
FILE: .github/PULL_REQUEST_TEMPLATE/pr_cn.md
================================================
首先,感谢你的贡献! 😄
新特性请提交至 feature 分支,其余可提交至 main 分支。在一个维护者审核通过后合并。请确保填写以下 pull request 的信息,谢谢!~
[[English Template / 英文模板](./pr_en.md)]
### 这个变动的性质是
- [ ] 新特性提交
- [ ] 日常 bug 修复
- [ ] 站点、文档改进
- [ ] 组件样式改进
- [ ] TypeScript 定义更新
- [ ] 重构
- [ ] 代码风格优化
- [ ] 分支合并
- [ ] 其他改动(是关于什么的改动?)
### 需求背景
> 1. 描述相关需求的来源。
> 2. 要解决的问题。
> 3. 相关的 issue 讨论链接。
### 实现方案和 API(非新功能可选)
> 1. 基本的解决思路和其他可选方案。
> 2. 列出最终的 API 实现和用法。
> 3. 涉及 UI/交互变动需要有截图或 GIF。
### 对用户的影响和可能的风险(非新功能可选)
> 1. 这个改动对用户端是否有影响?影响的方面有哪些?
> 2. 是否有可能隐含的 break change 和其他风险?
### Changelog 描述(非新功能可选)
> 1. 英文描述
> 2. 中文描述(可选)
### 请求合并前的自查清单
- [ ] 文档已补充或无须补充
- [ ] 代码演示已提供或无须提供
- [ ] TypeScript 定义已补充或无须补充
- [ ] Changelog 已提供或无须提供
### 后续计划(非新功能可选)
> 如果这个提交后面还有相关的其他提交和跟进信息,可以写在这里。
================================================
FILE: .github/PULL_REQUEST_TEMPLATE/pr_en.md
================================================
First of all, thank you for your contribution! 😄
New feature please send pull request to feature branch, and rest to main branch. Pull request will be merged after one of collaborators approve. Please makes sure that these form are filled before submitting your pull request, thank you!
[[中文版模板 / Chinese template](./pr_cn.md)]
### This is a ...
- [ ] New feature
- [ ] Bug fix
- [ ] Site / document update
- [ ] Component style update
- [ ] TypeScript definition update
- [ ] Refactoring
- [ ] Code style optimization
- [ ] Branch merge
- [ ] Other (about what?)
### What's the background?
> 1. Describe the source of requirement.
> 2. Resolve what problem.
> 3. Related issue link.
### API Realization (Optional if not new feature)
> 1. Basic thought of solution and other optional proposal.
> 2. List final API realization and usage sample.
> 3. GIF or snapshot should be provided if includes UI/interactive modification.
### What's the effect? (Optional if not new feature)
> 1. Does this PR affect user? Which part will be affected?
> 2. What will say in changelog?
> 3. Does this PR contains potential break change or other risk?
### Changelog description (Optional if not new feature)
> 1. English description
> 2. Chinese description (optional)
### Self Check before Merge
- [ ] Doc is updated/provided or not needed
- [ ] Demo is updated/provided or not needed
- [ ] TypeScript definition is updated/provided or not needed
- [ ] Changelog is provided or not needed
### Additional Plan? (Optional if not new feature)
> If this PR related with other PR or following info. You can type here.
================================================
FILE: .github/workflows/linter.yml
================================================
---
name: Lint Code
permissions:
contents: write
on:
pull_request:
branches: [main]
jobs:
lint:
name: Lint All Code
runs-on: ubuntu-latest
steps:
- name: Checkout Code
uses: actions/checkout@v3
with:
fetch-depth: 0
- name: Lint Code Base
uses: github/super-linter@v4
env:
VALIDATE_ALL_CODEBASE: false
DEFAULT_BRANCH: main
# To change branch master or main
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
FILTER_REGEX_EXCLUDE: (docs|.github)
VALIDATE_MARKDOWN: false
================================================
FILE: .github/workflows/opencode.yml
================================================
name: opencode
on:
issue_comment:
types: [created]
pull_request_review_comment:
types: [created]
jobs:
opencode:
if: |
contains(github.event.comment.body, ' /oc') ||
startsWith(github.event.comment.body, '/oc') ||
contains(github.event.comment.body, ' /opencode') ||
startsWith(github.event.comment.body, '/opencode')
runs-on: ubuntu-latest
permissions:
id-token: write
contents: read
pull-requests: read
issues: read
steps:
- name: Checkout repository
uses: actions/checkout@v6
with:
persist-credentials: false
- name: Run opencode
uses: anomalyco/opencode/github@latest
env:
GOOGLE_GENERATIVE_AI_API_KEY: ${{ secrets.GOOGLE_GENERATIVE_AI_API_KEY }}
GEMINI_API_KEY: ${{ secrets.GEMINI_API_KEY }}
with:
model: google/gemini-3-pro-preview
================================================
FILE: .github/workflows/release.yml
================================================
name: Release
permissions:
contents: write
on:
push:
tags:
- 'v*'
jobs:
release:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
with:
fetch-depth: 0
- uses: actions/setup-node@v3
with:
node-version: 18.x
- run: npx githublogen
env:
GITHUB_TOKEN: ${{secrets.GITHUB_TOKEN}}
================================================
FILE: .gitignore
================================================
# Logs
logs
*.log
npm-debug.log*
yarn-debug.log*
yarn-error.log*
pnpm-debug.log*
lerna-debug.log*
node_modules
.DS_Store
dist
dist-ssr
coverage
*.local
/cypress/videos/
/cypress/screenshots/
# Editor directories and files
.vscode/*
!.vscode/extensions.json
!.vscode/settings.json
!.vscode/launch.json
.idea
*.suo
*.ntvs*
*.njsproj
*.sln
*.sw?
package-lock.json
yarn.lock
.VSCodeCounter
================================================
FILE: .npmrc
================================================
registry=https://registry.npmmirror.com/
shamefully-hoist=true
ignore-workspace-root-check=true
link-workspace-packages=true
================================================
FILE: .oxfmtrc.json
================================================
{
"ignorePatterns": ["src/typings/components.d.ts", "src/typings/elegant-router.d.ts", "src/router/elegant"],
"printWidth": 120,
"singleQuote": true,
"trailingComma": "none",
"arrowParens": "avoid",
"htmlWhitespaceSensitivity": "ignore",
"experimentalSortPackageJson": {
"sortScripts": true
}
}
================================================
FILE: .oxlintrc.json
================================================
{
"categories": {
"correctness": "error",
"suspicious": "error"
},
"plugins": ["eslint", "typescript", "unicorn", "oxc", "import", "vue"],
"rules": {
"import/no-unassigned-import": "off",
"unicorn/consistent-function-scoping": "off",
"unicorn/no-array-sort": "off",
"unicorn/no-array-reverse": "off",
"unicorn/require-module-specifiers": "off"
}
}
================================================
FILE: .vscode/extensions.json
================================================
{
"recommendations": [
"afzalsayed96.icones",
"antfu.iconify",
"antfu.unocss",
"dbaeumer.vscode-eslint",
"editorconfig.editorconfig",
"lokalise.i18n-ally",
"mhutchie.git-graph",
"mikestead.dotenv",
"naumovs.color-highlight",
"pkief.material-icon-theme",
"sdras.vue-vscode-snippets",
"vue.volar",
"whtouche.vscode-js-console-utils",
"zhuangtongfa.material-theme",
"tu6ge.naive-ui-intelligence"
]
}
================================================
FILE: .vscode/launch.json
================================================
{
"version": "0.2.0",
"configurations": [
{
"type": "chrome",
"request": "launch",
"name": "Vue Debugger",
"url": "http://localhost:9527",
"webRoot": "${workspaceFolder}"
},
{
"type": "node",
"request": "launch",
"name": "TS Debugger",
"runtimeExecutable": "tsx",
"skipFiles": ["<node_internals>/**", "${workspaceFolder}/node_modules/**"],
"program": "${file}",
"console": "integratedTerminal",
"internalConsoleOptions": "neverOpen"
}
]
}
================================================
FILE: .vscode/settings.json
================================================
{
"editor.codeActionsOnSave": {
"source.fixAll.eslint": "explicit",
"source.fixAll.oxc": "explicit"
},
"editor.defaultFormatter": "oxc.oxc-vscode",
"editor.formatOnSave": true,
"eslint.validate": ["vue"],
"i18n-ally.displayLanguage": "zh-cn",
"i18n-ally.enabledParsers": ["ts"],
"i18n-ally.enabledFrameworks": ["vue"],
"i18n-ally.editor.preferEditor": true,
"i18n-ally.keystyle": "nested",
"i18n-ally.localesPaths": ["src/locales/langs"],
"i18n-ally.parsers.typescript.compilerOptions": {
"moduleResolution": "node"
},
"prettier.enable": false,
"unocss.root": ["./"]
}
================================================
FILE: CHANGELOG.md
================================================
# Changelog
## [v2.1.0](https://github.com/soybeanjs/soybean-admin/compare/v2.0.2...v2.1.0) (2026-03-09)
### 🚨 Breaking Changes
- **projects**: integrate oxlint and oxfmt - by **soybeanfe** [<samp>(6ff74)</samp>](https://github.com/soybeanjs/soybean-admin/commit/6ff74c0c)
### 🚀 Features
- **components**:
- Column settings support fixed columns. - by @m-xlsea [<samp>(70658)</samp>](https://github.com/soybeanjs/soybean-admin/commit/70658643)
- Add “Select All” to TableColumnSetting - by @wenyuanw [<samp>(0081b)</samp>](https://github.com/soybeanjs/soybean-admin/commit/0081b9c0)
- **logo**:
- use new logo - by @soybeanjs [<samp>(5aac5)</samp>](https://github.com/soybeanjs/soybean-admin/commit/5aac540a)
- **projects**:
- add the plugin: vite-plugin-vue-transition-root-validator, to optimize the development experience. - by **Azir-11** [<samp>(30e3c)</samp>](https://github.com/soybeanjs/soybean-admin/commit/30e3cdc7)
- **types**:
- Added type definition `force` to router push options. - by @m-xlsea [<samp>(a3794)</samp>](https://github.com/soybeanjs/soybean-admin/commit/a37949f2)
- **workflows**:
- add opencode workflow for issue and PR comment triggers - by @soybeanjs [<samp>(dacee)</samp>](https://github.com/soybeanjs/soybean-admin/commit/dacee143)
### 🐞 Bug Fixes
- **projects**:
- fix the long list TableColumnSetting component exceeds the viewport. - by **skyfeiz** [<samp>(cbfb9)</samp>](https://github.com/soybeanjs/soybean-admin/commit/cbfb932f)
- fix NButton props conflicts. - by **skyfeiz** [<samp>(54107)</samp>](https://github.com/soybeanjs/soybean-admin/commit/54107aca)
- ensure HTML lang attribute is updated when setting locale - by @pan0xc [<samp>(f96c3)</samp>](https://github.com/soybeanjs/soybean-admin/commit/f96c3c9e)
- correct HTML lang attribute to standard format - by @pan0xc [<samp>(b520d)</samp>](https://github.com/soybeanjs/soybean-admin/commit/b520db3e)
- **router**:
- simplify route guard logic and remove unnecessary next calls - by **soybeanfe** [<samp>(3c2cb)</samp>](https://github.com/soybeanjs/soybean-admin/commit/3c2cbb74)
### 🛠 Optimizations
- **projects**:
- modify the injection location of the token. - by **Azir-11** [<samp>(9d48c)</samp>](https://github.com/soybeanjs/soybean-admin/commit/9d48ca5f)
- optimize unocss config - by **soybeanfe** [<samp>(6fc6f)</samp>](https://github.com/soybeanjs/soybean-admin/commit/6fc6f1c9)
### 📖 Documentation
- **projects**: V2 has been released. - by **skyfeiz** [<samp>(d7394)</samp>](https://github.com/soybeanjs/soybean-admin/commit/d73947a5)
### 🏡 Chore
- **deps**:
- update deps - by @soybeanjs [<samp>(232e1)</samp>](https://github.com/soybeanjs/soybean-admin/commit/232e1ac4)
- update deps - by @soybeanjs [<samp>(2a023)</samp>](https://github.com/soybeanjs/soybean-admin/commit/2a0231da)
- update deps - by **soybeanfe** [<samp>(b867c)</samp>](https://github.com/soybeanjs/soybean-admin/commit/b867c290)
### 🎨 Styles
- **projects**: fix lint code and format code - by **soybeanfe** [<samp>(781a1)</samp>](https://github.com/soybeanjs/soybean-admin/commit/781a18f4)
### ❤️ Contributors
[](https://github.com/pan0xc) [](https://github.com/m-xlsea) [](https://github.com/soybeanjs) [](https://github.com/wenyuanw)
[soybeanfe](mailto:honghuangdc@gmail.com), [Azir-11](mailto:2075125282@qq.com), [skyfeiz](mailto:webzhangfei@163.com),
## [v2.0.2](https://github.com/soybeanjs/soybean-admin/compare/v2.0.1...v2.0.2) (2025-12-23)
### 🐞 Bug Fixes
- **hooks**: update pagination pageSize after data fetch. - by **Azir-11** [<samp>(64226)</samp>](https://github.com/soybeanjs/soybean-admin/commit/64226d9b)
- **projects**: fix the incorrect judgment of home by pin tab. - by **Azir-11** [<samp>(62a43)</samp>](https://github.com/soybeanjs/soybean-admin/commit/62a43c39)
### 🏡 Chore
- **deps**: update deps - by @soybeanjs [<samp>(ec9f9)</samp>](https://github.com/soybeanjs/soybean-admin/commit/ec9f9af9)
### ❤️ Contributors
[](https://github.com/soybeanjs)
[Azir-11](mailto:2075125282@qq.com)
## [v2.0.1](https://github.com/soybeanjs/soybean-admin/compare/v2.0.0...v2.0.1) (2025-12-04)
### 🚀 Features
- **docs**:
- update QQ group image in README - by @soybeanjs [<samp>(46081)</samp>](https://github.com/soybeanjs/soybean-admin/commit/46081c36)
- **projects**:
- support theme presets to only set partial content. - by **Azir-11** [<samp>(9da84)</samp>](https://github.com/soybeanjs/soybean-admin/commit/9da847fb)
- support theme perset to override component library presets. - by **Azir-11** [<samp>(60517)</samp>](https://github.com/soybeanjs/soybean-admin/commit/605173a1)
- support pinning and unpinning of tabs - by **hooke** [<samp>(b8a76)</samp>](https://github.com/soybeanjs/soybean-admin/commit/b8a767d7)
- hybrid layout mode auto select first deepest child menu - by @paynezhuang [<samp>(94019)</samp>](https://github.com/soybeanjs/soybean-admin/commit/9401925f)
### 🐞 Bug Fixes
- **docs**: update project name in ecosystem section of README - by @soybeanjs [<samp>(bb232)</samp>](https://github.com/soybeanjs/soybean-admin/commit/bb232bf8)
- **types**: add missing property in theme presets - by **刘璐** [<samp>(4a9cf)</samp>](https://github.com/soybeanjs/soybean-admin/commit/4a9cf6c3)
### 🛠 Optimizations
- **projects**: simplify some theme preset configurations. - by **Azir-11** [<samp>(c6d97)</samp>](https://github.com/soybeanjs/soybean-admin/commit/c6d97dba)
### 📖 Documentation
- **projects**: add link to ecosystem document. - by **Azir-11** [<samp>(c472a)</samp>](https://github.com/soybeanjs/soybean-admin/commit/c472a943)
### 🏡 Chore
- **deps**:
- update deps - by @soybeanjs [<samp>(f8dc6)</samp>](https://github.com/soybeanjs/soybean-admin/commit/f8dc639e)
- update deps - by @soybeanjs [<samp>(7cf40)</samp>](https://github.com/soybeanjs/soybean-admin/commit/7cf4083b)
- **other**:
- remove Prettier's recommendation. - by **Azir-11** [<samp>(73e9a)</samp>](https://github.com/soybeanjs/soybean-admin/commit/73e9a0fe)
- **styles**:
- format code - by @soybeanjs [<samp>(098cd)</samp>](https://github.com/soybeanjs/soybean-admin/commit/098cd50e)
### 🎨 Styles
- **projects**: modify homepage prompt title to tip. - by **Azir-11** [<samp>(91a26)</samp>](https://github.com/soybeanjs/soybean-admin/commit/91a261c1)
### ❤️ Contributors
[](https://github.com/soybeanjs) [](https://github.com/paynezhuang)
[hooke](mailto:hellohooke@foxmail.com), [Azir-11](mailto:2075125282@qq.com), [刘璐](mailto:hi.alue@qq.com)
## [v2.0.0](https://github.com/soybeanjs/soybean-admin/compare/v1.3.15...v2.0.0) (2025-11-02)
### 🚨 Breaking Changes
- **hooks**: refactor useTable and enhance type definitions - by @soybeanjs [<samp>(8cc51)</samp>](https://github.com/soybeanjs/soybean-admin/commit/8cc5177c)
- **projects**: optimize layout mode, split horizontal mix component into two layouts, and rename the component. - by **Azir** [<samp>(b6ac3)</samp>](https://github.com/soybeanjs/soybean-admin/commit/b6ac3106)
- **request**: remove cancelRequest method and related logic from request instances - by @soybeanjs [<samp>(b4e12)</samp>](https://github.com/soybeanjs/soybean-admin/commit/b4e12530)
### 🚀 Features
- **components**:
- add the IconTooltip component. - by **Azir-11** [<samp>(a55b4)</samp>](https://github.com/soybeanjs/soybean-admin/commit/a55b4dc0)
- replace NTooltip with IconTooltip and optimize the layout of related components. - by **Azir-11** [<samp>(40057)</samp>](https://github.com/soybeanjs/soybean-admin/commit/4005763c)
- **global-tab**:
- add support for switching tabs with right mouse button click - by @soybeanjs [<samp>(b2c91)</samp>](https://github.com/soybeanjs/soybean-admin/commit/b2c919b6)
- **hooks**:
- add scrollX computation for total table width in useNaiveTable - by @Lruihao [<samp>(358e1)</samp>](https://github.com/soybeanjs/soybean-admin/commit/358e1297)
- **packages**:
- materials support slider-tab. closed #823 - by @CyberShen in https://github.com/soybeanjs/soybean-admin/issues/823 [<samp>(61fa4)</samp>](https://github.com/soybeanjs/soybean-admin/commit/61fa4b7f)
- **projects**:
- refactor theme drawer with tabbed layout for better UX. - by **Azir** [<samp>(8ba71)</samp>](https://github.com/soybeanjs/soybean-admin/commit/8ba71a08)
- Add current time display option for watermark - by @wenyuanw in https://github.com/soybeanjs/soybean-admin/issues/772 [<samp>(f238f)</samp>](https://github.com/soybeanjs/soybean-admin/commit/f238fcbd)
- add 'vertical-hybrid-header-first' layout mode - by @wenyuanw [<samp>(b4e5c)</samp>](https://github.com/soybeanjs/soybean-admin/commit/b4e5c6d9)
- add prompt information for scrolling mode and tab bar caching. - by **Azir-11** [<samp>(29a2a)</samp>](https://github.com/soybeanjs/soybean-admin/commit/29a2a5c6)
- support theme preset function. - by **Azir-11** [<samp>(257f1)</samp>](https://github.com/soybeanjs/soybean-admin/commit/257f1183)
- modify the default value of the reset cache policy to 'refresh'. - by **Azir-11** [<samp>(3c0a5)</samp>](https://github.com/soybeanjs/soybean-admin/commit/3c0a5282)
- optimize tabs cache cleaning strategy. close #820. - by **Azir-11** in https://github.com/soybeanjs/soybean-admin/issues/820 [<samp>(ef7ac)</samp>](https://github.com/soybeanjs/soybean-admin/commit/ef7acc62)
- support closing tabs with middle mouse button click - by @wenyuanw [<samp>(a8d1e)</samp>](https://github.com/soybeanjs/soybean-admin/commit/a8d1e5d2)
- support set global redius - by **CyberShen123** [<samp>(24c6d)</samp>](https://github.com/soybeanjs/soybean-admin/commit/24c6df52)
- support set global redius - by **CyberShen123** [<samp>(3549c)</samp>](https://github.com/soybeanjs/soybean-admin/commit/3549c4db)
- compatible with the new Echarts API and optimized styles. - by **Azir-11** [<samp>(9755c)</samp>](https://github.com/soybeanjs/soybean-admin/commit/9755c313)
- **styles**:
- add text-autospace property to improve text layout - by @wenyuanw [<samp>(345aa)</samp>](https://github.com/soybeanjs/soybean-admin/commit/345aa293)
### 🐞 Bug Fixes
- **hooks**:
- correct chart rendering logic in useEcharts - by @soybeanjs [<samp>(8a7cd)</samp>](https://github.com/soybeanjs/soybean-admin/commit/8a7cd593)
- **layout**:
- fix getSiderWidth - by @soybeanjs [<samp>(e471e)</samp>](https://github.com/soybeanjs/soybean-admin/commit/e471e914)
- **packages**:
- fix the parsing logic for stored data to ensure correct return of boolean values - by @Lruihao [<samp>(9ea56)</samp>](https://github.com/soybeanjs/soybean-admin/commit/9ea56c9b)
- axios: fix json response. fixed #815 - by @soybeanjs in https://github.com/soybeanjs/soybean-admin/issues/815 [<samp>(fd087)</samp>](https://github.com/soybeanjs/soybean-admin/commit/fd087f59)
- axios: fix json response. fixed #815 - by @soybeanjs in https://github.com/soybeanjs/soybean-admin/issues/815 [<samp>(5be86)</samp>](https://github.com/soybeanjs/soybean-admin/commit/5be864a8)
- **projects**:
- Fix i18n-ally not working when setting moduleResolution to bundler. fixed #780 - by @xiaobao0505 in https://github.com/soybeanjs/soybean-admin/issues/780 [<samp>(41191)</samp>](https://github.com/soybeanjs/soybean-admin/commit/41191d54)
- adjust legend position in line chart options. - by **Azir-11** [<samp>(0b998)</samp>](https://github.com/soybeanjs/soybean-admin/commit/0b9982bd)
- **readme**:
- update GitHub stars and forks links for gitee - by @soybeanjs [<samp>(923eb)</samp>](https://github.com/soybeanjs/soybean-admin/commit/923eb98a)
- **scripts**:
- update command to use 'npm-check-updates' instead of 'ncu' - by @soybeanjs [<samp>(8dc17)</samp>](https://github.com/soybeanjs/soybean-admin/commit/8dc17e62)
- **styles**:
- show light color scrollbar while dark mode is on - by **whyang** [<samp>(dac50)</samp>](https://github.com/soybeanjs/soybean-admin/commit/dac5075b)
- **table**:
- add type annotations for records in useTable hook - by @soybeanjs [<samp>(32b8f)</samp>](https://github.com/soybeanjs/soybean-admin/commit/32b8f990)
- **types**:
- fix proxy types - by @soybeanjs [<samp>(3d72f)</samp>](https://github.com/soybeanjs/soybean-admin/commit/3d72f954)
- fix proxy types - by @soybeanjs [<samp>(12b25)</samp>](https://github.com/soybeanjs/soybean-admin/commit/12b25e0d)
- fix ts type error - by @soybeanjs [<samp>(d5a3a)</samp>](https://github.com/soybeanjs/soybean-admin/commit/d5a3a25d)
### 🛠 Optimizations
- **hooks**:
- optimize useEcharts - by @soybeanjs [<samp>(936b8)</samp>](https://github.com/soybeanjs/soybean-admin/commit/936b834e)
- **packages**:
- remove ofetch package - by @soybeanjs [<samp>(abaaa)</samp>](https://github.com/soybeanjs/soybean-admin/commit/abaaa4a0)
- **projects**:
- improve theme drawer responsive width for mobile devices - by @wenyuanw [<samp>(8439a)</samp>](https://github.com/soybeanjs/soybean-admin/commit/8439a600)
- improve robustness of second-level menu key logic - by @wenyuanw [<samp>(8b8a2)</samp>](https://github.com/soybeanjs/soybean-admin/commit/8b8a2083)
- optimize theme drawer width - by @soybeanjs [<samp>(81468)</samp>](https://github.com/soybeanjs/soybean-admin/commit/8146858b)
- optimize api type file - by @soybeanjs [<samp>(3a343)</samp>](https://github.com/soybeanjs/soybean-admin/commit/3a343eea)
- optimize radius settings - by @soybeanjs [<samp>(87a66)</samp>](https://github.com/soybeanjs/soybean-admin/commit/87a66a42)
- **request**:
- enhance request options and response handling with generic types - by @soybeanjs [<samp>(50a5c)</samp>](https://github.com/soybeanjs/soybean-admin/commit/50a5cba0)
- **typings**:
- update component typings - by @soybeanjs [<samp>(1d142)</samp>](https://github.com/soybeanjs/soybean-admin/commit/1d142695)
### 💅 Refactors
- **hooks**:
- optimize useContext and update useMixMenuContext - by @soybeanjs [<samp>(c9651)</samp>](https://github.com/soybeanjs/soybean-admin/commit/c965140b)
- streamline column visibility handling in useTable and table components - by @soybeanjs [<samp>(ee434)</samp>](https://github.com/soybeanjs/soybean-admin/commit/ee434145)
- remove useSignal hook and update exports - by @soybeanjs [<samp>(87adc)</samp>](https://github.com/soybeanjs/soybean-admin/commit/87adc35f)
- **menu**:
- optimize the margin on the menu - by **NicholasLD** [<samp>(d7311)</samp>](https://github.com/soybeanjs/soybean-admin/commit/d7311111)
- **projects**:
- remove unnecessary logic in onRouteSwitchWhenLoggedIn - by @wenyuanw [<samp>(d6c81)</samp>](https://github.com/soybeanjs/soybean-admin/commit/d6c8142b)
- **request**:
- unify response transformation methods and deprecate transformBackendResponse - by @soybeanjs [<samp>(f83ee)</samp>](https://github.com/soybeanjs/soybean-admin/commit/f83eefbc)
- **types**:
- move Auth and Route namespaces to separate files and clean up api.d.ts - by **Azir** [<samp>(d37ce)</samp>](https://github.com/soybeanjs/soybean-admin/commit/d37ce046)
### 📖 Documentation
- **projects**:
- add github trendshift info. - by **恕瑞玛的皇帝** [<samp>(e18d3)</samp>](https://github.com/soybeanjs/soybean-admin/commit/e18d3972)
- add github trendshift info. - by **恕瑞玛的皇帝** [<samp>(2a0c9)</samp>](https://github.com/soybeanjs/soybean-admin/commit/2a0c9f1b)
- add contribution leaderboard - by @wenyuanw [<samp>(01744)</samp>](https://github.com/soybeanjs/soybean-admin/commit/017440c1)
### 🏡 Chore
- **deps**:
- update NodeJS and pnpm version requirements in package.json and documentation - by **Junior25306** [<samp>(a5c4b)</samp>](https://github.com/soybeanjs/soybean-admin/commit/a5c4b4e3)
- update deps - by @soybeanjs [<samp>(5cb1c)</samp>](https://github.com/soybeanjs/soybean-admin/commit/5cb1cebd)
- update deps - by @soybeanjs [<samp>(aeb63)</samp>](https://github.com/soybeanjs/soybean-admin/commit/aeb63690)
- update deps - by @soybeanjs [<samp>(e89b8)</samp>](https://github.com/soybeanjs/soybean-admin/commit/e89b86ce)
- update deps - by @soybeanjs [<samp>(c962f)</samp>](https://github.com/soybeanjs/soybean-admin/commit/c962f7b2)
- update deps - by @soybeanjs [<samp>(12135)</samp>](https://github.com/soybeanjs/soybean-admin/commit/1213531b)
- update deps - by @soybeanjs [<samp>(e33f9)</samp>](https://github.com/soybeanjs/soybean-admin/commit/e33f944a)
- update deps - by @soybeanjs [<samp>(9fa95)</samp>](https://github.com/soybeanjs/soybean-admin/commit/9fa951aa)
- update deps - by @soybeanjs [<samp>(b041f)</samp>](https://github.com/soybeanjs/soybean-admin/commit/b041fdd8)
- update deps - by @soybeanjs [<samp>(d567c)</samp>](https://github.com/soybeanjs/soybean-admin/commit/d567c057)
- update deps - by @soybeanjs [<samp>(6cbf5)</samp>](https://github.com/soybeanjs/soybean-admin/commit/6cbf5705)
- update deps - by @soybeanjs [<samp>(6010f)</samp>](https://github.com/soybeanjs/soybean-admin/commit/6010f518)
- update deps - by @soybeanjs [<samp>(232f5)</samp>](https://github.com/soybeanjs/soybean-admin/commit/232f56fd)
- **other**:
- update the ESLint validation configuration to support more file types. - by **Azir-11** [<samp>(8d7f9)</samp>](https://github.com/soybeanjs/soybean-admin/commit/8d7f91dc)
- update the ESLint validation configuration to support more file types. - by **Azir-11** [<samp>(be8f9)</samp>](https://github.com/soybeanjs/soybean-admin/commit/be8f915a)
- **packages**:
- update Vite version to 7 in package.json and documentation. - by **Azir** [<samp>(03dd6)</samp>](https://github.com/soybeanjs/soybean-admin/commit/03dd64c5)
- add picomatch to fix scripts - by @soybeanjs [<samp>(805c3)</samp>](https://github.com/soybeanjs/soybean-admin/commit/805c3381)
- **readme**:
- remove DartNode sponsorship badge from README files - by @soybeanjs [<samp>(33ade)</samp>](https://github.com/soybeanjs/soybean-admin/commit/33ade539)
- **vscode**:
- remove unused vue.server.hybridMode setting from .vscode/settings.json - by @soybeanjs [<samp>(13319)</samp>](https://github.com/soybeanjs/soybean-admin/commit/133196f3)
### 🎨 Styles
- **projects**: format code. - by **Azir-11** [<samp>(100e0)</samp>](https://github.com/soybeanjs/soybean-admin/commit/100e0ea5)
### ❤️ Contributors
[](https://github.com/soybeanjs) [](https://github.com/wenyuanw) [](https://github.com/CyberShen) [](https://github.com/Lruihao) [](https://github.com/xiaobao0505)
[Azir-11](mailto:2075125282@qq.com), [CyberShen123](mailto:s.lijun@qq.com), [whyang](mailto:whyang9701@gmail.com), [HongxuanG](mailto:1359774872@qq.com), [NicholasLD](mailto:878639947@qq.com), [Junior25306](mailto:dayu429@qq.com)
## [v2.0.0-beta.2](https://github.com/soybeanjs/soybean-admin/compare/v2.0.0-beta.1...v2.0.0-beta.2) (2025-10-27)
### 🚀 Features
- **global-tab**: add support for switching tabs with right mouse button click - by @soybeanjs [<samp>(b2c91)</samp>](https://github.com/soybeanjs/soybean-admin/commit/b2c919b6)
### 🐞 Bug Fixes
- **layout**: fix getSiderWidth - by @soybeanjs [<samp>(e471e)</samp>](https://github.com/soybeanjs/soybean-admin/commit/e471e914)
- **packages**: axios: fix json response. fixed #815 - by @soybeanjs in https://github.com/soybeanjs/soybean-admin/issues/815 [<samp>(fd087)</samp>](https://github.com/soybeanjs/soybean-admin/commit/fd087f59)
- **readme**: update GitHub stars and forks links for gitee - by @soybeanjs [<samp>(923eb)</samp>](https://github.com/soybeanjs/soybean-admin/commit/923eb98a)
- **scripts**: update command to use 'npm-check-updates' instead of 'ncu' - by @soybeanjs [<samp>(8dc17)</samp>](https://github.com/soybeanjs/soybean-admin/commit/8dc17e62)
- **types**: fix proxy types - by @soybeanjs [<samp>(12b25)</samp>](https://github.com/soybeanjs/soybean-admin/commit/12b25e0d)
### 📖 Documentation
- **projects**:
- add github trendshift info. - by **恕瑞玛的皇帝** [<samp>(e18d3)</samp>](https://github.com/soybeanjs/soybean-admin/commit/e18d3972)
- add contribution leaderboard - by @wenyuanw [<samp>(01744)</samp>](https://github.com/soybeanjs/soybean-admin/commit/017440c1)
### 🏡 Chore
- **deps**:
- update deps - by @soybeanjs [<samp>(e33f9)</samp>](https://github.com/soybeanjs/soybean-admin/commit/e33f944a)
- update deps - by @soybeanjs [<samp>(9fa95)</samp>](https://github.com/soybeanjs/soybean-admin/commit/9fa951aa)
- **other**:
- update the ESLint validation configuration to support more file types. - by **Azir-11** [<samp>(8d7f9)</samp>](https://github.com/soybeanjs/soybean-admin/commit/8d7f91dc)
- **readme**:
- remove DartNode sponsorship badge from README files - by @soybeanjs [<samp>(33ade)</samp>](https://github.com/soybeanjs/soybean-admin/commit/33ade539)
### ❤️ Contributors
[](https://github.com/soybeanjs) [](https://github.com/wenyuanw)
[恕瑞玛的皇帝](mailto:2075125282@qq.com)
## [v2.0.0-beta.1](https://github.com/soybeanjs/soybean-admin/compare/v1.3.15...v2.0.0-beta.1) (2025-10-25)
### 🚨 Breaking Changes
- **hooks**: refactor useTable and enhance type definitions - by @soybeanjs [<samp>(8cc51)</samp>](https://github.com/soybeanjs/soybean-admin/commit/8cc5177)
- **projects**: optimize layout mode, split horizontal mix component into two layouts, and rename the component. - by **Azir** [<samp>(b6ac3)</samp>](https://github.com/soybeanjs/soybean-admin/commit/b6ac310)
- **request**: remove cancelRequest method and related logic from request instances - by @soybeanjs [<samp>(b4e12)</samp>](https://github.com/soybeanjs/soybean-admin/commit/b4e1253)
### 🚀 Features
- **components**:
- add the IconTooltip component. - by **Azir-11** [<samp>(a55b4)</samp>](https://github.com/soybeanjs/soybean-admin/commit/a55b4dc)
- replace NTooltip with IconTooltip and optimize the layout of related components. - by **Azir-11** [<samp>(40057)</samp>](https://github.com/soybeanjs/soybean-admin/commit/4005763)
- **hooks**:
- add scrollX computation for total table width in useNaiveTable - by @Lruihao [<samp>(358e1)</samp>](https://github.com/soybeanjs/soybean-admin/commit/358e129)
- **packages**:
- materials support slider-tab. closed #823 - by @CyberShen in https://github.com/soybeanjs/soybean-admin/issues/823 [<samp>(61fa4)</samp>](https://github.com/soybeanjs/soybean-admin/commit/61fa4b7)
- **projects**:
- refactor theme drawer with tabbed layout for better UX. - by **Azir** [<samp>(8ba71)</samp>](https://github.com/soybeanjs/soybean-admin/commit/8ba71a0)
- Add current time display option for watermark - by @wenyuanw in https://github.com/soybeanjs/soybean-admin/issues/772 [<samp>(f238f)</samp>](https://github.com/soybeanjs/soybean-admin/commit/f238fcb)
- add 'vertical-hybrid-header-first' layout mode - by @wenyuanw [<samp>(b4e5c)</samp>](https://github.com/soybeanjs/soybean-admin/commit/b4e5c6d)
- add prompt information for scrolling mode and tab bar caching. - by **Azir-11** [<samp>(29a2a)</samp>](https://github.com/soybeanjs/soybean-admin/commit/29a2a5c)
- support theme preset function. - by **Azir-11** [<samp>(257f1)</samp>](https://github.com/soybeanjs/soybean-admin/commit/257f118)
- modify the default value of the reset cache policy to 'refresh'. - by **Azir-11** [<samp>(3c0a5)</samp>](https://github.com/soybeanjs/soybean-admin/commit/3c0a528)
- optimize tabs cache cleaning strategy. close #820. - by **Azir-11** in https://github.com/soybeanjs/soybean-admin/issues/820 [<samp>(ef7ac)</samp>](https://github.com/soybeanjs/soybean-admin/commit/ef7acc6)
- support closing tabs with middle mouse button click - by @wenyuanw [<samp>(a8d1e)</samp>](https://github.com/soybeanjs/soybean-admin/commit/a8d1e5d)
- support set global redius - by **CyberShen123** [<samp>(24c6d)</samp>](https://github.com/soybeanjs/soybean-admin/commit/24c6df5)
- support set global redius - by **CyberShen123** [<samp>(3549c)</samp>](https://github.com/soybeanjs/soybean-admin/commit/3549c4d)
- **styles**:
- add text-autospace property to improve text layout - by @wenyuanw [<samp>(345aa)</samp>](https://github.com/soybeanjs/soybean-admin/commit/345aa29)
### 🐞 Bug Fixes
- **hooks**:
- correct chart rendering logic in useEcharts - by @soybeanjs [<samp>(8a7cd)</samp>](https://github.com/soybeanjs/soybean-admin/commit/8a7cd59)
- **packages**:
- fix the parsing logic for stored data to ensure correct return of boolean values - by @Lruihao [<samp>(9ea56)</samp>](https://github.com/soybeanjs/soybean-admin/commit/9ea56c9)
- axios: fix json response. fixed #815 - by @soybeanjs in https://github.com/soybeanjs/soybean-admin/issues/815 [<samp>(5be86)</samp>](https://github.com/soybeanjs/soybean-admin/commit/5be864a)
- **projects**:
- Fix i18n-ally not working when setting moduleResolution to bundler. fixed #780 - by @xiaobao0505 in https://github.com/soybeanjs/soybean-admin/issues/780 [<samp>(41191)</samp>](https://github.com/soybeanjs/soybean-admin/commit/41191d5)
- **styles**:
- show light color scrollbar while dark mode is on - by **whyang** [<samp>(dac50)</samp>](https://github.com/soybeanjs/soybean-admin/commit/dac5075)
- **table**:
- add type annotations for records in useTable hook - by @soybeanjs [<samp>(32b8f)</samp>](https://github.com/soybeanjs/soybean-admin/commit/32b8f99)
- **types**:
- fix proxy types - by @soybeanjs [<samp>(3d72f)</samp>](https://github.com/soybeanjs/soybean-admin/commit/3d72f95)
- fix ts type error - by @soybeanjs [<samp>(d5a3a)</samp>](https://github.com/soybeanjs/soybean-admin/commit/d5a3a25)
### 🛠 Optimizations
- **hooks**:
- optimize useEcharts - by @soybeanjs [<samp>(936b8)</samp>](https://github.com/soybeanjs/soybean-admin/commit/936b834)
- **packages**:
- remove ofetch package - by @soybeanjs [<samp>(abaaa)</samp>](https://github.com/soybeanjs/soybean-admin/commit/abaaa4a)
- **projects**:
- improve theme drawer responsive width for mobile devices - by @wenyuanw [<samp>(8439a)</samp>](https://github.com/soybeanjs/soybean-admin/commit/8439a60)
- improve robustness of second-level menu key logic - by @wenyuanw [<samp>(8b8a2)</samp>](https://github.com/soybeanjs/soybean-admin/commit/8b8a208)
- optimize theme drawer width - by @soybeanjs [<samp>(81468)</samp>](https://github.com/soybeanjs/soybean-admin/commit/8146858)
- optimize api type file - by @soybeanjs [<samp>(3a343)</samp>](https://github.com/soybeanjs/soybean-admin/commit/3a343ee)
- optimize radius settings - by @soybeanjs [<samp>(87a66)</samp>](https://github.com/soybeanjs/soybean-admin/commit/87a66a4)
- **request**:
- enhance request options and response handling with generic types - by @soybeanjs [<samp>(50a5c)</samp>](https://github.com/soybeanjs/soybean-admin/commit/50a5cba)
### 💅 Refactors
- **hooks**:
- optimize useContext and update useMixMenuContext - by @soybeanjs [<samp>(c9651)</samp>](https://github.com/soybeanjs/soybean-admin/commit/c965140)
- streamline column visibility handling in useTable and table components - by @soybeanjs [<samp>(ee434)</samp>](https://github.com/soybeanjs/soybean-admin/commit/ee43414)
- remove useSignal hook and update exports - by @soybeanjs [<samp>(87adc)</samp>](https://github.com/soybeanjs/soybean-admin/commit/87adc35)
- **menu**:
- optimize the margin on the menu - by **NicholasLD** [<samp>(d7311)</samp>](https://github.com/soybeanjs/soybean-admin/commit/d731111)
- **projects**:
- remove unnecessary logic in onRouteSwitchWhenLoggedIn - by @wenyuanw [<samp>(d6c81)</samp>](https://github.com/soybeanjs/soybean-admin/commit/d6c8142)
- **request**:
- unify response transformation methods and deprecate transformBackendResponse - by @soybeanjs [<samp>(f83ee)</samp>](https://github.com/soybeanjs/soybean-admin/commit/f83eefb)
- **types**:
- move Auth and Route namespaces to separate files and clean up api.d.ts - by **Azir** [<samp>(d37ce)</samp>](https://github.com/soybeanjs/soybean-admin/commit/d37ce04)
### 📖 Documentation
- **projects**: add github trendshift info. - by **恕瑞玛的皇帝** [<samp>(2a0c9)</samp>](https://github.com/soybeanjs/soybean-admin/commit/2a0c9f1)
### 🏡 Chore
- **deps**:
- update NodeJS and pnpm version requirements in package.json and documentation - by **Junior25306** [<samp>(a5c4b)</samp>](https://github.com/soybeanjs/soybean-admin/commit/a5c4b4e)
- update deps - by @soybeanjs [<samp>(5cb1c)</samp>](https://github.com/soybeanjs/soybean-admin/commit/5cb1ceb)
- update deps - by @soybeanjs [<samp>(aeb63)</samp>](https://github.com/soybeanjs/soybean-admin/commit/aeb6369)
- update deps - by @soybeanjs [<samp>(e89b8)</samp>](https://github.com/soybeanjs/soybean-admin/commit/e89b86c)
- update deps - by @soybeanjs [<samp>(c962f)</samp>](https://github.com/soybeanjs/soybean-admin/commit/c962f7b)
- update deps - by @soybeanjs [<samp>(12135)</samp>](https://github.com/soybeanjs/soybean-admin/commit/1213531)
- update deps - by @soybeanjs [<samp>(b041f)</samp>](https://github.com/soybeanjs/soybean-admin/commit/b041fdd)
- update deps - by @soybeanjs [<samp>(d567c)</samp>](https://github.com/soybeanjs/soybean-admin/commit/d567c05)
- update deps - by @soybeanjs [<samp>(6cbf5)</samp>](https://github.com/soybeanjs/soybean-admin/commit/6cbf570)
- **other**:
- update the ESLint validation configuration to support more file types. - by **Azir-11** [<samp>(be8f9)</samp>](https://github.com/soybeanjs/soybean-admin/commit/be8f915)
- **packages**:
- update Vite version to 7 in package.json and documentation. - by **Azir** [<samp>(03dd6)</samp>](https://github.com/soybeanjs/soybean-admin/commit/03dd64c)
- add picomatch to fix scripts - by @soybeanjs [<samp>(805c3)</samp>](https://github.com/soybeanjs/soybean-admin/commit/805c338)
- **vscode**:
- remove unused vue.server.hybridMode setting from .vscode/settings.json - by @soybeanjs [<samp>(13319)</samp>](https://github.com/soybeanjs/soybean-admin/commit/133196f)
### 🎨 Styles
- **projects**: format code. - by **Azir-11** [<samp>(100e0)</samp>](https://github.com/soybeanjs/soybean-admin/commit/100e0ea)
### ❤️ Contributors
[](https://github.com/soybeanjs) [](https://github.com/wenyuanw) [](https://github.com/CyberShen) [](https://github.com/Lruihao) [](https://github.com/xiaobao0505)
[CyberShen123](mailto:s.lijun@qq.com), [whyang](mailto:whyang9701@gmail.com), [HongxuanG](mailto:1359774872@qq.com), [Azir-11](mailto:2075125282@qq.com), [NicholasLD](mailto:878639947@qq.com), [Junior25306](mailto:dayu429@qq.com)
## [v1.3.15](https://github.com/soybeanjs/soybean-admin/compare/v1.3.14...v1.3.15) (2025-06-24)
### 🚀 Features
- **projects**: add configurable user name watermark option - by @wenyuanw [<samp>(7c3da)</samp>](https://github.com/soybeanjs/soybean-admin/commit/7c3dac42)
### 🐞 Bug Fixes
- **app**: replace console.error with window.console.error for consistency - by @soybeanjs [<samp>(7d840)</samp>](https://github.com/soybeanjs/soybean-admin/commit/7d84062e)
- **projects**: ensure proper text color when themes are inverted - by @wenyuanw [<samp>(afd60)</samp>](https://github.com/soybeanjs/soybean-admin/commit/afd60421)
- **types**: The environment variable VITE_ICON_LOCAL_PREFIX has the wrong type. - by **chenziwen** [<samp>(da149)</samp>](https://github.com/soybeanjs/soybean-admin/commit/da149e5b)
### 🛠 Optimizations
- **components**: optimize spacing for lang-switch dropdown options - by @wenyuanw [<samp>(fcb89)</samp>](https://github.com/soybeanjs/soybean-admin/commit/fcb89883)
### 💅 Refactors
- **iframe-page**: remove unused lifecycle hooks and clean up script setup - by @soybeanjs [<samp>(276d8)</samp>](https://github.com/soybeanjs/soybean-admin/commit/276d836c)
### 📖 Documentation
- **other**: update docs with video tutorial link. - by **Azir** [<samp>(7b2e5)</samp>](https://github.com/soybeanjs/soybean-admin/commit/7b2e510a)
- **readme**: add warning about upcoming `V2` version and link to plan list - by @soybeanjs [<samp>(4d42d)</samp>](https://github.com/soybeanjs/soybean-admin/commit/4d42dcbe)
### 🏡 Chore
- **deps**: update deps - by @soybeanjs [<samp>(dc674)</samp>](https://github.com/soybeanjs/soybean-admin/commit/dc674ce8)
- **projects**: update deps & fix `moduleResolution` - by @soybeanjs [<samp>(dbd99)</samp>](https://github.com/soybeanjs/soybean-admin/commit/dbd995c1)
### ❤️ Contributors
[](https://github.com/soybeanjs) [](https://github.com/wenyuanw)
[Azir](mailto:2075125282@qq.com), [chenziwen](mailto:chenziwen@qesong.com)
## [v1.3.14](https://github.com/soybeanjs/soybean-admin/compare/v1.3.13...v1.3.14) (2025-06-09)
### 🚀 Features
- **docs**:
- add GitCode star badge to README files - by @soybeanjs [<samp>(05dc1)</samp>](https://github.com/soybeanjs/soybean-admin/commit/05dc11e2)
- add DartNode sponsorship badge to README files - by @soybeanjs [<samp>(2ed0b)</samp>](https://github.com/soybeanjs/soybean-admin/commit/2ed0b648)
- **projects**:
- support vite devtools specify the editor by launchEditor option. - by @Azir-11 in https://github.com/soybeanjs/soybean-admin/issues/730 [<samp>(29698)</samp>](https://github.com/soybeanjs/soybean-admin/commit/29698bef)
- clear tabs cache when switching users. - by @Azir-11 in https://github.com/soybeanjs/soybean-admin/issues/744 [<samp>(1ff4d)</samp>](https://github.com/soybeanjs/soybean-admin/commit/1ff4d82d)
- **theme**:
- global search button toggle - by **t8y2** [<samp>(75455)</samp>](https://github.com/soybeanjs/soybean-admin/commit/75455b00)
- **types**:
- enhance Option type to support customizable label types - by @WgoW and @testbrate in https://github.com/soybeanjs/soybean-admin/issues/735 [<samp>(123d2)</samp>](https://github.com/soybeanjs/soybean-admin/commit/123d2c90)
- **utils**:
- support quick generation of code templates. - by @Azir-11 in https://github.com/soybeanjs/soybean-admin/issues/733 [<samp>(8527a)</samp>](https://github.com/soybeanjs/soybean-admin/commit/8527aa80)
### 🐞 Bug Fixes
- **auth**:
- remove redundant authStore declaration in resetStore function - by @soybeanjs [<samp>(c57f8)</samp>](https://github.com/soybeanjs/soybean-admin/commit/c57f88aa)
- **hooks**:
- fixed the issue where loading was not properly closed in some cases. - by @Azir-11 in https://github.com/soybeanjs/soybean-admin/issues/737 [<samp>(85e40)</samp>](https://github.com/soybeanjs/soybean-admin/commit/85e40b19)
- refactor useCountDown hook for improved countdown logic and clarity. - by **Azir** [<samp>(dfb64)</samp>](https://github.com/soybeanjs/soybean-admin/commit/dfb647a8)
- **projects**:
- tab closure did not remove cache correctly. - by **Azir** [<samp>(7fb5c)</samp>](https://github.com/soybeanjs/soybean-admin/commit/7fb5c72f)
### 🛠 Optimizations
- **hooks**:
- remove obsolete disabling cache. - by @Azir-11 in https://github.com/soybeanjs/soybean-admin/issues/729 [<samp>(4e1b6)</samp>](https://github.com/soybeanjs/soybean-admin/commit/4e1b65b6)
- update detection function to cover the exceptions that occur when the request fails. - by **恕瑞玛的皇帝** [<samp>(22218)</samp>](https://github.com/soybeanjs/soybean-admin/commit/222187d3)
- **projects**:
- optimize tab deletion logic. closed #755 - by @wenyuanw in https://github.com/soybeanjs/soybean-admin/issues/755 [<samp>(e6044)</samp>](https://github.com/soybeanjs/soybean-admin/commit/e6044d0f)
### 📖 Documentation
- **README**:
- Add supporting ecosystem tools to the open-source repository - by @WgoW and @testbrate in https://github.com/soybeanjs/soybean-admin/issues/740 [<samp>(a013e)</samp>](https://github.com/soybeanjs/soybean-admin/commit/a013ea2c)
- **deps**:
- update the Vite version of the project description. - by @Azir-11 in https://github.com/soybeanjs/soybean-admin/issues/732 [<samp>(80486)</samp>](https://github.com/soybeanjs/soybean-admin/commit/80486099)
- **projects**:
- update README - by @xiatianYa in https://github.com/soybeanjs/soybean-admin/issues/726 [<samp>(3cbaf)</samp>](https://github.com/soybeanjs/soybean-admin/commit/3cbaf4f4)
- add gitcode link - by @soybeanjs [<samp>(f35c2)</samp>](https://github.com/soybeanjs/soybean-admin/commit/f35c250a)
### 🏡 Chore
- **deps**:
- add vscode recommend plugin close #738 - by @tu6ge in https://github.com/soybeanjs/soybean-admin/issues/739 and https://github.com/soybeanjs/soybean-admin/issues/738 [<samp>(61244)</samp>](https://github.com/soybeanjs/soybean-admin/commit/61244f0f)
- update deps - by @soybeanjs [<samp>(41b5f)</samp>](https://github.com/soybeanjs/soybean-admin/commit/41b5f493)
- update deps - by @soybeanjs [<samp>(3e4e1)</samp>](https://github.com/soybeanjs/soybean-admin/commit/3e4e17ab)
### 🤖 CI
- **hooks**: remove lint-staged in git hook. close #724 - by @Azir-11 in https://github.com/soybeanjs/soybean-admin/issues/743 and https://github.com/soybeanjs/soybean-admin/issues/724 [<samp>(c3abc)</samp>](https://github.com/soybeanjs/soybean-admin/commit/c3abc3df)
### ❤️ Contributors
[](https://github.com/soybeanjs) [](https://github.com/wenyuanw) [](https://github.com/Azir-11) [](https://github.com/WgoW) [](https://github.com/testbrate) [](https://github.com/tu6ge) [](https://github.com/xiatianYa)
[恕瑞玛的皇帝](mailto:2075125282@qq.com), [t8y2](mailto:1156263951@qq.com),
## [v1.3.13](https://github.com/soybeanjs/soybean-admin/compare/v1.3.12...v1.3.13) (2025-03-19)
### 🐞 Bug Fixes
- **projects**: fix active tab switch issue after removal - by @me-o in https://github.com/soybeanjs/soybean-admin/issues/723 [<samp>(a7c59)</samp>](https://github.com/soybeanjs/soybean-admin/commit/a7c59ada)
### 📖 Documentation
- **projects**: update README - by @Azir-11 in https://github.com/soybeanjs/soybean-admin/issues/718 [<samp>(3febb)</samp>](https://github.com/soybeanjs/soybean-admin/commit/3febb65d)
### 📦 Build
- **deps**: Restrict the minimum Node.js version. - by **一寸灰** in https://github.com/soybeanjs/soybean-admin/issues/720 [<samp>(a6ecd)</samp>](https://github.com/soybeanjs/soybean-admin/commit/a6ecd3e0)
### 🏡 Chore
- **deps**:
- update deps - by @soybeanjs [<samp>(5d8b7)</samp>](https://github.com/soybeanjs/soybean-admin/commit/5d8b782d)
- update deps - by @soybeanjs [<samp>(2e8cb)</samp>](https://github.com/soybeanjs/soybean-admin/commit/2e8cb35c)
- **projects**:
- update vscode settings and launch - by @soybeanjs [<samp>(8b12e)</samp>](https://github.com/soybeanjs/soybean-admin/commit/8b12ef9f)
### ❤️ Contributors
[](https://github.com/soybeanjs) [](https://github.com/me-o) [](https://github.com/Azir-11)
[一寸灰](mailto:webzhangfei@163.com),
## [v1.3.12](https://github.com/soybeanjs/soybean-admin/compare/v1.3.11...v1.3.12) (2025-03-12)
### 🚀 Features
- **projects**:
- support loading page dark mode adaptation. - by @Azir-11 in https://github.com/soybeanjs/soybean-admin/issues/702 [<samp>(9b945)</samp>](https://github.com/soybeanjs/soybean-admin/commit/9b9455d9)
- tab support touch event - by @soybeanjs [<samp>(a03be)</samp>](https://github.com/soybeanjs/soybean-admin/commit/a03becda)
- support proxy log in terminal - by @soybeanjs [<samp>(4cc14)</samp>](https://github.com/soybeanjs/soybean-admin/commit/4cc1487f)
- **projects): feat(projects**:
- TableColumnCheck title support VNode - by @soybeanjs in https://github.com/soybeanjs/soybean-admin/issues/716 [<samp>(a1a5c)</samp>](https://github.com/soybeanjs/soybean-admin/commit/a1a5c74c)
- **utils**:
- support replaceTab. - by @Azir-11 in https://github.com/soybeanjs/soybean-admin/issues/713 [<samp>(be608)</samp>](https://github.com/soybeanjs/soybean-admin/commit/be6080ba)
### 🐞 Bug Fixes
- **projects**:
- hidden multi-language button in login page. fix #694 - by **Azir** in https://github.com/soybeanjs/soybean-admin/issues/694 [<samp>(54e7d)</samp>](https://github.com/soybeanjs/soybean-admin/commit/54e7d6d0)
- fix multiple calls to the login API when clicking quickly. fixed #697 - by @zsdycs in https://github.com/soybeanjs/soybean-admin/issues/698 and https://github.com/soybeanjs/soybean-admin/issues/697 [<samp>(86da7)</samp>](https://github.com/soybeanjs/soybean-admin/commit/86da767e)
- fix multiple calls to the login API when clicking quickly. fixed #697 " - by @soybeanjs in https://github.com/soybeanjs/soybean-admin/issues/698 and https://github.com/soybeanjs/soybean-admin/issues/697 [<samp>(15163)</samp>](https://github.com/soybeanjs/soybean-admin/commit/15163d70)
### 🏡 Chore
- **deps**:
- update deps - by @soybeanjs [<samp>(132e1)</samp>](https://github.com/soybeanjs/soybean-admin/commit/132e1012)
- update deps - by **Azir** [<samp>(52c33)</samp>](https://github.com/soybeanjs/soybean-admin/commit/52c336d7)
- update deps - by @soybeanjs [<samp>(b8112)</samp>](https://github.com/soybeanjs/soybean-admin/commit/b8112613)
- **projects**:
- update unocss preset - by @Wangijun in https://github.com/soybeanjs/soybean-admin/issues/712 [<samp>(3e007)</samp>](https://github.com/soybeanjs/soybean-admin/commit/3e0076d4)
### ❤️ Contributors
[](https://github.com/soybeanjs) [](https://github.com/Azir-11) [](https://github.com/Wangijun) [](https://github.com/zsdycs)
[Azir](mailto:2075125282@qq.com),
## [v1.3.11](https://github.com/soybeanjs/soybean-admin/compare/v1.3.10...v1.3.11) (2025-01-19)
### 🚀 Features
- **projects**: multi language buttons support hiding. - by @Azir-11 in https://github.com/soybeanjs/soybean-admin/issues/683 [<samp>(d7aeb)</samp>](https://github.com/soybeanjs/soybean-admin/commit/d7aebb7)
### 🐞 Bug Fixes
- **hooks**:
- The total number before assigning a value to the table is incorrect. - by @Azir-11 in https://github.com/soybeanjs/soybean-admin/issues/687 [<samp>(56760)</samp>](https://github.com/soybeanjs/soybean-admin/commit/5676024)
- **projects**:
- fix login success notification. fixed #688 - by @soybeanjs in https://github.com/soybeanjs/soybean-admin/issues/688 [<samp>(60dd2)</samp>](https://github.com/soybeanjs/soybean-admin/commit/60dd226)
- fix update notifications. fixed #691, fixed #692 - by @soybeanjs in https://github.com/soybeanjs/soybean-admin/issues/691 and https://github.com/soybeanjs/soybean-admin/issues/692 [<samp>(ac862)</samp>](https://github.com/soybeanjs/soybean-admin/commit/ac86247)
### 🛠 Optimizations
- **projects**: optimize code - by @soybeanjs [<samp>(6489e)</samp>](https://github.com/soybeanjs/soybean-admin/commit/6489ec4)
### 📖 Documentation
- **projects**: update README - by @soybeanjs [<samp>(21434)</samp>](https://github.com/soybeanjs/soybean-admin/commit/214341e)
### 🏡 Chore
- **deps**: update deps - by @soybeanjs [<samp>(c9433)</samp>](https://github.com/soybeanjs/soybean-admin/commit/c9433e1)
### ❤️ Contributors
[](https://github.com/soybeanjs) [](https://github.com/Azir-11)
## [v1.3.10](https://github.com/honghuangdc/soybean-admin/compare/v1.3.9...v1.3.10) (2024-12-16)
### 🚀 Features
- **projects**: support show tab when not loggedIn - by @soybeanjs [<samp>(ba381)</samp>](https://github.com/honghuangdc/soybean-admin/commit/ba38119)
### 🐞 Bug Fixes
- **deps**:
- reduced eslint version to 9.14.0 - by @soybeanjs [<samp>(af417)</samp>](https://github.com/honghuangdc/soybean-admin/commit/af4177e)
- **projects**:
- fix route guard hook `onRouteSwitchWhenLoggedIn`. fixed #680 - by @soybeanjs in https://github.com/honghuangdc/soybean-admin/issues/680 [<samp>(ab985)</samp>](https://github.com/honghuangdc/soybean-admin/commit/ab9858c)
- check if init userInfo when initAuthRoute. fixed #680 - by @soybeanjs in https://github.com/honghuangdc/soybean-admin/issues/680 [<samp>(9f4fb)</samp>](https://github.com/honghuangdc/soybean-admin/commit/9f4fb8c)
### 🛠 Optimizations
- **projects**:
- optimize router guard - by @soybeanjs [<samp>(0dfcf)</samp>](https://github.com/honghuangdc/soybean-admin/commit/0dfcf18)
- use `defu` to fill added theme config - by @soybeanjs [<samp>(101b6)</samp>](https://github.com/honghuangdc/soybean-admin/commit/101b6f9)
### 📖 Documentation
- **projects**: ✏️ add element-plus version link - by **一寸灰** in https://github.com/honghuangdc/soybean-admin/issues/679 [<samp>(5c6ab)</samp>](https://github.com/honghuangdc/soybean-admin/commit/5c6ab0b)
### 🏡 Chore
- rename env.d.ts to vite-env.d.ts - by @wzc520pyfm in https://github.com/honghuangdc/soybean-admin/issues/675 [<samp>(b93c2)</samp>](https://github.com/honghuangdc/soybean-admin/commit/b93c203)
- **projects**: update deps & fix vite config - by @soybeanjs [<samp>(3e0eb)</samp>](https://github.com/honghuangdc/soybean-admin/commit/3e0eb72)
### ❤️ Contributors
[](https://github.com/soybeanjs) [](https://github.com/wzc520pyfm)
[一寸灰](mailto:webzhangfei@163.com),
## [v1.3.9](https://github.com/soybeanjs/soybean-admin/compare/v1.3.8...v1.3.9) (2024-11-17)
### 🚀 Features
- **projects**:
- support scheduled detection and update system. close #657 - by **青菜白玉汤** in https://github.com/soybeanjs/soybean-admin/issues/669 and https://github.com/soybeanjs/soybean-admin/issues/657 [<samp>(d088f)</samp>](https://github.com/soybeanjs/soybean-admin/commit/d088f81)
- app version notification plugin support sub deploy path. close #668 - by **Soybean** in https://github.com/soybeanjs/soybean-admin/issues/668 [<samp>(a53eb)</samp>](https://github.com/soybeanjs/soybean-admin/commit/a53eb10)
### 🛠 Optimizations
- **projects**: optimize code - by **Soybean** [<samp>(9ad5d)</samp>](https://github.com/soybeanjs/soybean-admin/commit/9ad5d71)
### 💅 Refactors
- **projects**: refactor router guard. fix #655 - by **Soybean** in https://github.com/soybeanjs/soybean-admin/issues/667 and https://github.com/soybeanjs/soybean-admin/issues/655 [<samp>(09144)</samp>](https://github.com/soybeanjs/soybean-admin/commit/09144df)
### 📖 Documentation
- **projects**: set the Chinese version of README as default - by **Soybean** [<samp>(9d28b)</samp>](https://github.com/soybeanjs/soybean-admin/commit/9d28b31)
### 🏡 Chore
- **deps**:
- update deps - by **Soybean** [<samp>(91de4)</samp>](https://github.com/soybeanjs/soybean-admin/commit/91de4a8)
- update deps - by **Soybean** [<samp>(0c809)</samp>](https://github.com/soybeanjs/soybean-admin/commit/0c809de)
- **projects**:
- add desc for base url of app - by **Soybean** [<samp>(17d7e)</samp>](https://github.com/soybeanjs/soybean-admin/commit/17d7e52)
### ❤️ Contributors
[Soybean](mailto:soybeanjs@outlook.com), [青菜白玉汤](mailto:79054161+Azir-11@users.noreply.github.com)
## [v1.3.8](https://github.com/soybeanjs/soybean-admin/compare/v1.3.7...v1.3.8) (2024-10-25)
### 🚨 Breaking Changes
- **projects**: refactor route cache & support reset route cache strategy - by @soybeanjs [<samp>(b667e)</samp>](https://github.com/soybeanjs/soybean-admin/commit/b667eab)
### 🚀 Features
- **packages**:
- add subpackage `@sa/alova` - by @JOU-amjs in https://github.com/soybeanjs/soybean-admin/issues/640 [<samp>(2072f)</samp>](https://github.com/soybeanjs/soybean-admin/commit/2072f58)
- optimistic subpackage `@sa/alova` - by @JOU-amjs in https://github.com/soybeanjs/soybean-admin/issues/646 [<samp>(4b3ac)</samp>](https://github.com/soybeanjs/soybean-admin/commit/4b3ac11)
- **projects**:
- login supports accessible operation. - by @Azir-11 in https://github.com/soybeanjs/soybean-admin/issues/637 [<samp>(cfaab)</samp>](https://github.com/soybeanjs/soybean-admin/commit/cfaab85)
### 🐞 Bug Fixes
- **utils**: fix `isPC`. fixed #644 - by @soybeanjs in https://github.com/soybeanjs/soybean-admin/issues/644 [<samp>(47264)</samp>](https://github.com/soybeanjs/soybean-admin/commit/4726498)
### 🏡 Chore
- **deps**:
- update deps - by @soybeanjs [<samp>(8dcda)</samp>](https://github.com/soybeanjs/soybean-admin/commit/8dcda38)
- **projects**:
- update vscode extensions - by @soybeanjs [<samp>(24bb6)</samp>](https://github.com/soybeanjs/soybean-admin/commit/24bb6d9)
- update deps & fix sass usage - by @soybeanjs [<samp>(71e63)</samp>](https://github.com/soybeanjs/soybean-admin/commit/71e6307)
- **types**:
- remove type declaration for document.startViewTransition (TypeScript 5.6 includes it) - by @NHZEX in https://github.com/soybeanjs/soybean-admin/issues/633 [<samp>(83ba7)</samp>](https://github.com/soybeanjs/soybean-admin/commit/83ba798)
### 🎨 Styles
- **projects**: reduce ambiguity in theme configuration instructions. - by @Azir-11 [<samp>(75cbf)</samp>](https://github.com/soybeanjs/soybean-admin/commit/75cbfbb)
### ❤️ Contributors
[](https://github.com/soybeanjs) [](https://github.com/JOU-amjs) [](https://github.com/Azir-11) [](https://github.com/NHZEX)
## [v1.3.7](https://github.com/soybeanjs/soybean-admin/compare/v1.3.6...v1.3.7) (2024-09-21)
### 🚨 Breaking Changes
- **projects**: update scss config - by @soybeanjs [<samp>(24e9e)</samp>](https://github.com/soybeanjs/soybean-admin/commit/24e9e57)
### 🐞 Bug Fixes
- **projects**: fix global-tab click conflict with contextmenu - by @soybeanjs [<samp>(3e72c)</samp>](https://github.com/soybeanjs/soybean-admin/commit/3e72c3b)
### 💅 Refactors
- **packages**: @sa/materials: remove tab close shortcut by mouse - by @soybeanjs [<samp>(4da58)</samp>](https://github.com/soybeanjs/soybean-admin/commit/4da588c)
### 🏡 Chore
- **deps**: update deps - by @soybeanjs [<samp>(baefd)</samp>](https://github.com/soybeanjs/soybean-admin/commit/baefdfd)
### ❤️ Contributors
[](https://github.com/soybeanjs)
## [v1.3.6](https://github.com/soybeanjs/soybean-admin/compare/v1.3.5...v1.3.6) (2024-09-20)
### 🐞 Bug Fixes
- **components**:
- fix VerticalMixMenu name - by @soybeanjs [<samp>(20f8e)</samp>](https://github.com/soybeanjs/soybean-admin/commit/20f8ed3)
- **projects**:
- fix click global-tab in iPad. fixed #624 - by @soybeanjs in https://github.com/soybeanjs/soybean-admin/issues/624 [<samp>(04d05)</samp>](https://github.com/soybeanjs/soybean-admin/commit/04d0564)
- when the roles filter submenu is empty, the parent menu is not excluded. fixed #621. - by @Azir-11 in https://github.com/soybeanjs/soybean-admin/issues/626 and https://github.com/soybeanjs/soybean-admin/issues/621 [<samp>(0ac95)</samp>](https://github.com/soybeanjs/soybean-admin/commit/0ac95bd)
### 🛠 Optimizations
- **projects**:
- optimize code - by @soybeanjs [<samp>(6561f)</samp>](https://github.com/soybeanjs/soybean-admin/commit/6561f0b)
- optimize code - by @soybeanjs [<samp>(38eeb)</samp>](https://github.com/soybeanjs/soybean-admin/commit/38eeb67)
- remove defineModel setting,enabled by default - by @yanbowe in https://github.com/soybeanjs/soybean-admin/issues/620 [<samp>(60bbd)</samp>](https://github.com/soybeanjs/soybean-admin/commit/60bbd2d)
### 📖 Documentation
- **projects**: update CHANGELOG - by @soybeanjs [<samp>(5baf1)</samp>](https://github.com/soybeanjs/soybean-admin/commit/5baf19d)
### 🏡 Chore
- **deps**:
- update deps - by @soybeanjs [<samp>(207d6)</samp>](https://github.com/soybeanjs/soybean-admin/commit/207d6eb)
- update deps - by @soybeanjs [<samp>(f3562)</samp>](https://github.com/soybeanjs/soybean-admin/commit/f35627e)
### ❤️ Contributors
[](https://github.com/soybeanjs) [](https://github.com/Azir-11) [](https://github.com/yanbowe)
## [v1.3.5](https://github.com/soybeanjs/soybean-admin/compare/v1.3.4...v1.3.5) (2024-09-07)
### 🚀 Features
- **packages**:
- @sa/axios: add response to flatRequest when success - by @soybeanjs [<samp>(c4e16)</samp>](https://github.com/soybeanjs/soybean-admin/commit/c4e1610)
- **projects**:
- README.zh_CN.md 添加合作推广 - by @PZ-18664918826 in https://github.com/soybeanjs/soybean-admin/issues/601 [<samp>(2fa40)</samp>](https://github.com/soybeanjs/soybean-admin/commit/2fa400b)
- Add more commit types according to Apache specifications - by @Azir-11 in https://github.com/soybeanjs/soybean-admin/issues/610 [<samp>(878d9)</samp>](https://github.com/soybeanjs/soybean-admin/commit/878d9c3)
- does the configuration support automatic updates. close#612 - by @Azir-11 in https://github.com/soybeanjs/soybean-admin/issues/617 and https://github.com/soybeanjs/soybean-admin/issues/612 [<samp>(4c9f4)</samp>](https://github.com/soybeanjs/soybean-admin/commit/4c9f4e0)
- add app error handler. close #587 - by @soybeanjs in https://github.com/soybeanjs/soybean-admin/issues/587 [<samp>(be855)</samp>](https://github.com/soybeanjs/soybean-admin/commit/be8556c)
### 🐞 Bug Fixes
- **deps**:
- move json5 from devDependencies to dependencies to support production usage - by @mufeng889 in https://github.com/soybeanjs/soybean-admin/issues/618 [<samp>(7cb43)</samp>](https://github.com/soybeanjs/soybean-admin/commit/7cb43fc)
- **projects**:
- avoid retrieving cached HTML - by @Azir-11 in https://github.com/soybeanjs/soybean-admin/issues/605 [<samp>(ef6cf)</samp>](https://github.com/soybeanjs/soybean-admin/commit/ef6cf93)
- fix login redirect - by @soybeanjs [<samp>(3830e)</samp>](https://github.com/soybeanjs/soybean-admin/commit/3830ec7)
- fix vertical-mix-menu when sider collapse. fixed #608 - by @soybeanjs in https://github.com/soybeanjs/soybean-admin/issues/608 [<samp>(c3f1f)</samp>](https://github.com/soybeanjs/soybean-admin/commit/c3f1f69)
- fix breadcrumb when activeMenu is parent menu. fixed #589 - by @soybeanjs in https://github.com/soybeanjs/soybean-admin/issues/589 [<samp>(79b2a)</samp>](https://github.com/soybeanjs/soybean-admin/commit/79b2a28)
- fix refresh token when meet multi requests. fixed #581 - by @soybeanjs in https://github.com/soybeanjs/soybean-admin/issues/581 [<samp>(27b52)</samp>](https://github.com/soybeanjs/soybean-admin/commit/27b5222)
- **types**:
- fix the type of TableApiFn - by @Azir-11 in https://github.com/soybeanjs/soybean-admin/issues/599 [<samp>(26c93)</samp>](https://github.com/soybeanjs/soybean-admin/commit/26c93df)
### 🛠 Optimizations
- **projects**: optimize menu selectedKey - by @soybeanjs [<samp>(531bf)</samp>](https://github.com/soybeanjs/soybean-admin/commit/531bfaf)
### 📖 Documentation
- **projects**:
- update README - by @mufeng889 in https://github.com/soybeanjs/soybean-admin/issues/594 [<samp>(a8f92)</samp>](https://github.com/soybeanjs/soybean-admin/commit/a8f923e)
- update README - by @soybeanjs [<samp>(e9a2e)</samp>](https://github.com/soybeanjs/soybean-admin/commit/e9a2ee4)
- update README - by @soybeanjs [<samp>(73e91)</samp>](https://github.com/soybeanjs/soybean-admin/commit/73e917a)
- update the location of important information in the document - by **Azir** [<samp>(9c012)</samp>](https://github.com/soybeanjs/soybean-admin/commit/9c012c7)
### 🏡 Chore
- **deps**:
- update deps - by @soybeanjs [<samp>(a1c14)</samp>](https://github.com/soybeanjs/soybean-admin/commit/a1c14a1)
- update deps - by @soybeanjs [<samp>(7fa55)</samp>](https://github.com/soybeanjs/soybean-admin/commit/7fa5590)
- update deps - by @soybeanjs [<samp>(a44ea)</samp>](https://github.com/soybeanjs/soybean-admin/commit/a44ea62)
- **projects**:
- use json5 resolve env `VITE_OTHER_SERVICE_BASE_URL` & fix proxy enable - by @soybeanjs [<samp>(b16a9)</samp>](https://github.com/soybeanjs/soybean-admin/commit/b16a963)
### 🎨 Styles
- **projects**: rename script czh to commit:zh - by @Azir-11 in https://github.com/soybeanjs/soybean-admin/issues/597 [<samp>(5094f)</samp>](https://github.com/soybeanjs/soybean-admin/commit/5094f0e)
### ❤️ Contributors
[](https://github.com/soybeanjs) [](https://github.com/mufeng889) [](https://github.com/Azir-11) [](https://github.com/PZ-18664918826)
[Azir](mailto:2075125282@qq.com),
## [v1.3.4](https://github.com/honghuangdc/soybean-admin/compare/v1.3.3...v1.3.4) (2024-08-01)
### 🚨 Breaking Changes
- **projects**: don't reset active menu of vertical-mix layout when it is mixSiderFixed - by @honghuangdc [<samp>(939c5)</samp>](https://github.com/honghuangdc/soybean-admin/commit/939c512)
### 🛠 Optimizations
- **projects**: optimize code - by @honghuangdc [<samp>(cb1d4)</samp>](https://github.com/honghuangdc/soybean-admin/commit/cb1d445)
### 🏡 Chore
- **projects**: update deps & fix vue-router type - by @honghuangdc [<samp>(96837)</samp>](https://github.com/honghuangdc/soybean-admin/commit/968370b)
### ❤️ Contributors
[](https://github.com/honghuangdc)
## [v1.3.3](https://github.com/honghuangdc/soybean-admin/compare/v1.3.2...v1.3.3) (2024-07-30)
### 🐞 Bug Fixes
- **projects**: fix watermark settings - by @honghuangdc [<samp>(5646a)</samp>](https://github.com/honghuangdc/soybean-admin/commit/5646a50)
### 📖 Documentation
- **projects**: update CHANGELOG - by @honghuangdc [<samp>(ebc83)</samp>](https://github.com/honghuangdc/soybean-admin/commit/ebc838c)
### ❤️ Contributors
[](https://github.com/honghuangdc)
## [v1.3.2](https://github.com/honghuangdc/soybean-admin/compare/v1.3.1...v1.3.2) (2024-07-30)
### 🚀 Features
- **projects**:
- add color fading mode.close #567 - by @Azir-11 in https://github.com/honghuangdc/soybean-admin/issues/569 and https://github.com/honghuangdc/soybean-admin/issues/567 [<samp>(4dde4)</samp>](https://github.com/honghuangdc/soybean-admin/commit/4dde4c2)
- add full screen watermark. close#571 - by @paynezhuang in https://github.com/honghuangdc/soybean-admin/issues/573 and https://github.com/honghuangdc/soybean-admin/issues/571 [<samp>(ea8aa)</samp>](https://github.com/honghuangdc/soybean-admin/commit/ea8aa6c)
### 🐞 Bug Fixes
- **projects**: fix vertical-mix menu selected - by @honghuangdc [<samp>(59f07)</samp>](https://github.com/honghuangdc/soybean-admin/commit/59f07d8)
### 🛠 Optimizations
- **projects**:
- add type WatermarkProps - by @honghuangdc [<samp>(f26d0)</samp>](https://github.com/honghuangdc/soybean-admin/commit/f26d0a6)
- remove home NAlert closable - by @honghuangdc [<samp>(98b75)</samp>](https://github.com/honghuangdc/soybean-admin/commit/98b75c2)
- optimize response code comparison - by @honghuangdc [<samp>(cf67d)</samp>](https://github.com/honghuangdc/soybean-admin/commit/cf67d55)
- **types**:
- remove useless types. - by **Azir** [<samp>(eed61)</samp>](https://github.com/honghuangdc/soybean-admin/commit/eed617f)
### 📖 Documentation
- **projects**: update CHANGELOG - by @honghuangdc [<samp>(d3759)</samp>](https://github.com/honghuangdc/soybean-admin/commit/d37591d)
### 🏡 Chore
- **deps**: update deps - by @honghuangdc [<samp>(993e9)</samp>](https://github.com/honghuangdc/soybean-admin/commit/993e9ca)
### ❤️ Contributors
[](https://github.com/honghuangdc) [](https://github.com/paynezhuang) [](https://github.com/Azir-11)
[Azir](mailto:2075125282@qq.com),
## [v1.3.1](https://github.com/honghuangdc/soybean-admin/compare/v1.3.0...v1.3.1) (2024-07-22)
### 🐞 Bug Fixes
- **projects**:
- fix the issue of abnormal width of the sidebar in the top menu mix and reverse mode - by @Azir-11 in https://github.com/honghuangdc/soybean-admin/issues/562 [<samp>(c4695)</samp>](https://github.com/honghuangdc/soybean-admin/commit/c469512)
- fix HorizontalMixMenu inverted. fixed #563 - by @honghuangdc in https://github.com/honghuangdc/soybean-admin/issues/563 [<samp>(4e55b)</samp>](https://github.com/honghuangdc/soybean-admin/commit/4e55b0e)
- fix vertical-menu will not render when the layout is from mobile - by @honghuangdc [<samp>(84027)</samp>](https://github.com/honghuangdc/soybean-admin/commit/8402734)
### 📖 Documentation
- **projects**: update CHANGELOG - by @honghuangdc [<samp>(613c8)</samp>](https://github.com/honghuangdc/soybean-admin/commit/613c836)
### 🎨 Styles
- **other**: modify the Chinese name of the grayscale mode - by **Azir** [<samp>(53770)</samp>](https://github.com/honghuangdc/soybean-admin/commit/5377002)
### ❤️ Contributors
[](https://github.com/honghuangdc) [](https://github.com/Azir-11)
[Azir](mailto:2075125282@qq.com),
## [v1.3.0](https://github.com/soybeanjs/soybean-admin/compare/v1.2.8...v1.3.0) (2024-07-22)
### 🚨 Breaking Changes
- **projects**: refactor global menu & support `reversed-horizontal-mix-menu`. close #365 - by @honghuangdc in https://github.com/soybeanjs/soybean-admin/issues/365 [<samp>(087e5)</samp>](https://github.com/soybeanjs/soybean-admin/commit/087e532)
### 🚀 Features
- **packages**:
- `@sa/scripts`: command `gitCommit` support chinese - by @mmdapl in https://github.com/soybeanjs/soybean-admin/issues/548 [<samp>(06971)</samp>](https://github.com/soybeanjs/soybean-admin/commit/06971f3)
- @sa/axios: replace CancelTokenSource by AbortController. close #530, close #532 - by @honghuangdc in https://github.com/soybeanjs/soybean-admin/issues/530 and https://github.com/soybeanjs/soybean-admin/issues/532 [<samp>(527fd)</samp>](https://github.com/soybeanjs/soybean-admin/commit/527fd79)
- @sa/scripts: add ignore pattern list for command `gitCommitVerify`. close #504 - by @honghuangdc in https://github.com/soybeanjs/soybean-admin/issues/504 [<samp>(958d0)</samp>](https://github.com/soybeanjs/soybean-admin/commit/958d0ba)
- **projects**:
- make branch `main` tiny & modify request retry times to 0 - by @Azir-11 [<samp>(793b1)</samp>](https://github.com/soybeanjs/soybean-admin/commit/793b16e)
### 🐞 Bug Fixes
- **hooks**: prevent program freezing when pagesize returns 0 - by @Azir-11 in https://github.com/soybeanjs/soybean-admin/issues/545 [<samp>(f4eeb)</samp>](https://github.com/soybeanjs/soybean-admin/commit/f4eeb2e)
### 💅 Refactors
- **projects**:
- combine `theme tokens` and `theme settings`. close #379 - by @honghuangdc in https://github.com/soybeanjs/soybean-admin/issues/379 [<samp>(1d1b1)</samp>](https://github.com/soybeanjs/soybean-admin/commit/1d1b148)
- change css vars mount to root - by @honghuangdc [<samp>(00f41)</samp>](https://github.com/soybeanjs/soybean-admin/commit/00f41dd)
### 📖 Documentation
- **projects**: update CHANGELOG - by @honghuangdc [<samp>(a0b76)</samp>](https://github.com/soybeanjs/soybean-admin/commit/a0b76da)
### 🏡 Chore
- **deps**: update deps - by @honghuangdc [<samp>(f6bd6)</samp>](https://github.com/soybeanjs/soybean-admin/commit/f6bd6b8)
- **projects**: add script `czh` - by @honghuangdc [<samp>(02069)</samp>](https://github.com/soybeanjs/soybean-admin/commit/0206969)
### ❤️ Contributors
[](https://github.com/honghuangdc) [](https://github.com/mmdapl) [](https://github.com/Azir-11)
## [v1.2.8](https://github.com/soybeanjs/soybean-admin/compare/v1.2.7...v1.2.8) (2024-07-20)
### 🐞 Bug Fixes
- **packages**:
- @sa/hooks: fix searchParams of useHookTable. fixed #552 - by @honghuangdc in https://github.com/soybeanjs/soybean-admin/issues/552 [<samp>(96c10)</samp>](https://github.com/soybeanjs/soybean-admin/commit/96c1044)
- **types**:
- Fixed the reference type error - by **dodu2014** in https://github.com/soybeanjs/soybean-admin/issues/551 [<samp>(3e2a9)</samp>](https://github.com/soybeanjs/soybean-admin/commit/3e2a993)
- fix data type of useHookTable - by @honghuangdc [<samp>(276ea)</samp>](https://github.com/soybeanjs/soybean-admin/commit/276ea7f)
### 💅 Refactors
- **projects**: replace `cloneDeep` of `lodash-es` with `klona` - by @honghuangdc [<samp>(a9133)</samp>](https://github.com/soybeanjs/soybean-admin/commit/a91335d)
### 📖 Documentation
- **projects**: update CHANGELOG - by @honghuangdc [<samp>(58fc0)</samp>](https://github.com/soybeanjs/soybean-admin/commit/58fc096)
### 🏡 Chore
- **deps**: update deps - by @honghuangdc [<samp>(cf019)</samp>](https://github.com/soybeanjs/soybean-admin/commit/cf0192a)
### ❤️ Contributors
[](https://github.com/honghuangdc)
[dodu2014](mailto:dodu@live.cn)
## [v1.2.7](https://github.com/honghuangdc/soybean-admin/compare/v1.2.6...v1.2.7) (2024-07-12)
### 🛠 Optimizations
- **projects**: supports custom menu icon sizes - by @wynn-w in https://github.com/honghuangdc/soybean-admin/issues/534 [<samp>(e035e)</samp>](https://github.com/honghuangdc/soybean-admin/commit/e035eab)
### 🏡 Chore
- **deps**:
- update deps - by @honghuangdc [<samp>(72ede)</samp>](https://github.com/honghuangdc/soybean-admin/commit/72ede8b)
- update deps - by @honghuangdc [<samp>(be13c)</samp>](https://github.com/honghuangdc/soybean-admin/commit/be13ca2)
- update deps - by @honghuangdc [<samp>(752ec)</samp>](https://github.com/honghuangdc/soybean-admin/commit/752ec1e)
- **projects**:
- Fix deprecated configuration config - by @paynezhuang in https://github.com/honghuangdc/soybean-admin/issues/524 [<samp>(0d20e)</samp>](https://github.com/honghuangdc/soybean-admin/commit/0d20e4c)
### ❤️ Contributors
[](https://github.com/honghuangdc) [](https://github.com/wynn-w) [](https://github.com/paynezhuang)
## [v1.2.6](https://github.com/honghuangdc/soybean-admin/compare/v1.2.5...v1.2.6) (2024-06-21)
### 🐞 Bug Fixes
- **projects**:
- request modal title use i18n. fixed #507 - by @honghuangdc in https://github.com/honghuangdc/soybean-admin/issues/507 [<samp>(f7de3)</samp>](https://github.com/honghuangdc/soybean-admin/commit/f7de3fd)
- add `getDataByPage` for `useTable`. fixed #499 - by @honghuangdc in https://github.com/honghuangdc/soybean-admin/issues/499 [<samp>(425c6)</samp>](https://github.com/honghuangdc/soybean-admin/commit/425c69a)
- fix login redirect to routeHome when routeHome of dynamic route is not same as static route. fixed #511 - by @honghuangdc in https://github.com/honghuangdc/soybean-admin/issues/511 [<samp>(49f60)</samp>](https://github.com/honghuangdc/soybean-admin/commit/49f60b2)
### 🛠 Optimizations
- **projects**: optimize `getRouteQueryOfLoginRoute` - by @honghuangdc [<samp>(693f7)</samp>](https://github.com/honghuangdc/soybean-admin/commit/693f704)
### 📖 Documentation
- **projects**:
- update CHANGELOG - by @honghuangdc [<samp>(5c67d)</samp>](https://github.com/honghuangdc/soybean-admin/commit/5c67d06)
- update README - by @honghuangdc [<samp>(1e67a)</samp>](https://github.com/honghuangdc/soybean-admin/commit/1e67ae8)
### 🏡 Chore
- **deps**:
- update deps. close #510 - by @honghuangdc in https://github.com/honghuangdc/soybean-admin/issues/510 [<samp>(53143)</samp>](https://github.com/honghuangdc/soybean-admin/commit/531432d)
- update deps - by @honghuangdc [<samp>(c7f6f)</samp>](https://github.com/honghuangdc/soybean-admin/commit/c7f6f2a)
### 🤖 CI
- **projects**:
- add github issues template - by @honghuangdc [<samp>(b5027)</samp>](https://github.com/honghuangdc/soybean-admin/commit/b5027c8)
- update github issues template - by @honghuangdc [<samp>(ff1d5)</samp>](https://github.com/honghuangdc/soybean-admin/commit/ff1d504)
### ❤️ Contributors
[](https://github.com/honghuangdc)
## [v1.2.5](https://github.com/soybeanjs/soybean-admin/compare/v1.2.4...v1.2.5) (2024-06-15)
### 🐞 Bug Fixes
- **projects**: Fix the issue of abnormal tab caching after logout. fixed #495 - by @Azir-11 in https://github.com/soybeanjs/soybean-admin/issues/495 [<samp>(3eeac)</samp>](https://github.com/soybeanjs/soybean-admin/commit/3eeace9)
### 🔥 Performance
- **project**: Initializing the static routing function does not require asynchronization - by **CHENZL** in https://github.com/soybeanjs/soybean-admin/issues/493 [<samp>(2198b)</samp>](https://github.com/soybeanjs/soybean-admin/commit/2198b98)
### 🛠 Optimizations
- **projects**: optimize code - by @soybeanjs [<samp>(b94ba)</samp>](https://github.com/soybeanjs/soybean-admin/commit/b94baa1)
- **types**: Enhance compatibility of global types - by @Azir-11 in https://github.com/soybeanjs/soybean-admin/issues/494 [<samp>(cd9d5)</samp>](https://github.com/soybeanjs/soybean-admin/commit/cd9d58d)
- **utils**: Reduce code indentation and improve readability - by @Azir-11 in https://github.com/soybeanjs/soybean-admin/issues/496 [<samp>(ad2f2)</samp>](https://github.com/soybeanjs/soybean-admin/commit/ad2f247)
### 📖 Documentation
- **projects**: update CHANGELOG - by @soybeanjs [<samp>(b3368)</samp>](https://github.com/soybeanjs/soybean-admin/commit/b336841)
### 🏡 Chore
- **deps**: update deps - by @soybeanjs [<samp>(b094d)</samp>](https://github.com/soybeanjs/soybean-admin/commit/b094d68)
### ❤️ Contributors
[](https://github.com/soybeanjs) [](https://github.com/Azir-11)
[CHENZL](mailto:zlong5568863@qq.com)
## [v1.2.4](https://github.com/soybeanjs/soybean-admin/compare/v1.2.3...v1.2.4) (2024-06-14)
### 🛠 Optimizations
- **projects**:
- optimize `setupAppVersionNotification` - by @soybeanjs [<samp>(b5a72)</samp>](https://github.com/soybeanjs/soybean-admin/commit/b5a723c)
- get buildTime with timezone 'Asia/Shanghai' - by @soybeanjs [<samp>(069fa)</samp>](https://github.com/soybeanjs/soybean-admin/commit/069fa8a)
### ❤️ Contributors
[](https://github.com/soybeanjs)
## [v1.2.3](https://github.com/soybeanjs/soybean-admin/compare/v1.2.2...v1.2.3) (2024-06-13)
### 🐞 Bug Fixes
- **projects**:
- fix mobile browser theme issue by adding color-scheme meta tag to index.html - by @KickCashew in https://github.com/soybeanjs/soybean-admin/issues/488 [<samp>(c2125)</samp>](https://github.com/soybeanjs/soybean-admin/commit/c212565)
- Fix secondary directory components is empty - by @paynezhuang in https://github.com/soybeanjs/soybean-admin/issues/491 [<samp>(aabb2)</samp>](https://github.com/soybeanjs/soybean-admin/commit/aabb2a4)
### 📖 Documentation
- **projects**:
- Fixed the hyperlink pointing error - by **Azir** [<samp>(20a81)</samp>](https://github.com/soybeanjs/soybean-admin/commit/20a8127)
- update README - by @soybeanjs [<samp>(70261)</samp>](https://github.com/soybeanjs/soybean-admin/commit/7026126)
### 🏡 Chore
- **deps**:
- update deps - by @soybeanjs [<samp>(813d8)</samp>](https://github.com/soybeanjs/soybean-admin/commit/813d8ce)
- update deps - by @soybeanjs [<samp>(bf718)</samp>](https://github.com/soybeanjs/soybean-admin/commit/bf71837)
### ❤️ Contributors
[](https://github.com/soybeanjs) [](https://github.com/paynezhuang) [](https://github.com/KickCashew)
[Azir](mailto:2075125282@qq.com)
## [v1.2.2](https://github.com/honghuangdc/soybean-admin/compare/v1.2.1...v1.2.2) (2024-06-12)
### 🚀 Features
- **projects**: reset scroll position when tab change - by @soybeanjs [<samp>(9094b)</samp>](https://github.com/honghuangdc/soybean-admin/commit/9094b21)
### 🐞 Bug Fixes
- **projects**:
- hide AppVersionNotification in DEV mode - by @sigma-plus in https://github.com/honghuangdc/soybean-admin/issues/482 [<samp>(62592)</samp>](https://github.com/honghuangdc/soybean-admin/commit/6259287)
- fix menu-toggler hidden in mobile layout. fixed #483 - by @soybeanjs in https://github.com/honghuangdc/soybean-admin/issues/483 [<samp>(4470c)</samp>](https://github.com/honghuangdc/soybean-admin/commit/4470cb4)
### 📖 Documentation
- **projects**: update README - by @soybeanjs [<samp>(8f9a7)</samp>](https://github.com/honghuangdc/soybean-admin/commit/8f9a705)
### ❤️ Contributors
[](https://github.com/soybeanjs) [](https://github.com/sigma-plus)
## [v1.2.1](https://github.com/honghuangdc/soybean-admin/compare/v1.2.0...v1.2.1) (2024-06-07)
### 🐞 Bug Fixes
- **projects**:
- fix get user info when page reload - by @soybeanjs [<samp>(ff51b)</samp>](https://github.com/honghuangdc/soybean-admin/commit/ff51b72)
- fix setupAppVersionNotification render - by @soybeanjs [<samp>(6a6eb)</samp>](https://github.com/honghuangdc/soybean-admin/commit/6a6eb9a)
### 📖 Documentation
- **projects**: update CHANGELOG - by @soybeanjs [<samp>(fe06b)</samp>](https://github.com/honghuangdc/soybean-admin/commit/fe06b8c)
### 🏡 Chore
- **deps**: update deps - by @soybeanjs [<samp>(08827)</samp>](https://github.com/honghuangdc/soybean-admin/commit/08827a4)
### ❤️ Contributors
[](https://github.com/soybeanjs)
## [v1.2.0](https://github.com/soybeanjs/soybean-admin/compare/v1.1.5...v1.2.0) (2024-06-06)
### 🚀 Features
- **projects**:
- support system new version update notification. close #420 - by @soybeanjs in https://github.com/soybeanjs/soybean-admin/issues/420 [<samp>(584cd)</samp>](https://github.com/soybeanjs/soybean-admin/commit/584cd54)
- get user info in router guard and remove in localStorage. close #459 - by @soybeanjs in https://github.com/soybeanjs/soybean-admin/issues/459 [<samp>(5531a)</samp>](https://github.com/soybeanjs/soybean-admin/commit/5531a68)
### 📖 Documentation
- **projects**: update CHANGELOG - by @soybeanjs [<samp>(2bec8)</samp>](https://github.com/soybeanjs/soybean-admin/commit/2bec899)
### ❤️ Contributors
[](https://github.com/soybeanjs)
## [v1.1.5](https://github.com/soybeanjs/soybean-admin/compare/v1.1.4...v1.1.5) (2024-06-06)
### 🐞 Bug Fixes
- **projects**: fix register name, CodeLogin => Register - by @m-xlsea in https://github.com/soybeanjs/soybean-admin/issues/478 [<samp>(ddf38)</samp>](https://github.com/soybeanjs/soybean-admin/commit/ddf3823)
### 🏡 Chore
- **deps**: update deps - by @soybeanjs [<samp>(060c0)</samp>](https://github.com/soybeanjs/soybean-admin/commit/060c0a9)
- **projects**: update vscode settings: vue official - by @soybeanjs [<samp>(76649)</samp>](https://github.com/soybeanjs/soybean-admin/commit/76649e2)
### ❤️ Contributors
[](https://github.com/soybeanjs) [](https://github.com/m-xlsea)
## [v1.1.4](https://github.com/honghuangdc/soybean-admin/compare/v1.1.3...v1.1.4) (2024-06-06)
### 🐞 Bug Fixes
- **utils**: modalLogout bug when esc is pressed - by @sigma-plus in https://github.com/honghuangdc/soybean-admin/issues/470 [<samp>(bd69c)</samp>](https://github.com/honghuangdc/soybean-admin/commit/bd69c00)
### 🛠 Optimizations
- **projects**: optimize RouteMeta remarks - by @soybeanjs [<samp>(ffb48)</samp>](https://github.com/honghuangdc/soybean-admin/commit/ffb48b1)
### 📖 Documentation
- **projects**:
- update CHANGELOG - by @soybeanjs [<samp>(756f8)</samp>](https://github.com/honghuangdc/soybean-admin/commit/756f84a)
- update Node&pnpm version - by @Azir-11 in https://github.com/honghuangdc/soybean-admin/issues/472 [<samp>(9b05d)</samp>](https://github.com/honghuangdc/soybean-admin/commit/9b05d73)
### 🏡 Chore
- **deps**:
- update deps - by @soybeanjs [<samp>(d0380)</samp>](https://github.com/honghuangdc/soybean-admin/commit/d0380ce)
- update deps - by @soybeanjs [<samp>(1f464)</samp>](https://github.com/honghuangdc/soybean-admin/commit/1f4647b)
- **projects**:
- close http proxy - by @soybeanjs [<samp>(d08a3)</samp>](https://github.com/honghuangdc/soybean-admin/commit/d08a381)
- update mock url - by @soybeanjs [<samp>(e6086)</samp>](https://github.com/honghuangdc/soybean-admin/commit/e6086f0)
- update vscode settings - by @soybeanjs [<samp>(910df)</samp>](https://github.com/honghuangdc/soybean-admin/commit/910dfca)
### ❤️ Contributors
[](https://github.com/soybeanjs) [](https://github.com/Azir-11) [](https://github.com/sigma-plus)
## [v1.1.3](https://github.com/soybeanjs/soybean-admin/compare/v1.1.2...v1.1.3) (2024-06-02)
### 🐞 Bug Fixes
- **components**:
- Fix the issue of search box popping up repeatedly due to carriage return - by @Azir-11 in https://github.com/soybeanjs/soybean-admin/issues/468 [<samp>(5bd96)</samp>](https://github.com/soybeanjs/soybean-admin/commit/5bd96b8)
- **projects**:
- fix click menu search. fixed #466, close #467 - by @soybeanjs in https://github.com/soybeanjs/soybean-admin/issues/466 and https://github.com/soybeanjs/soybean-admin/issues/467 [<samp>(8efdb)</samp>](https://github.com/soybeanjs/soybean-admin/commit/8efdb10)
- fix reCacheRoute. fixed #464 - by @soybeanjs in https://github.com/soybeanjs/soybean-admin/issues/464 [<samp>(59faf)</samp>](https://github.com/soybeanjs/soybean-admin/commit/59faf15)
- **styles**:
- fix FirstLevelMenu style. fixed #450 - by @soybeanjs in https://github.com/soybeanjs/soybean-admin/issues/450 [<samp>(db64b)</samp>](https://github.com/soybeanjs/soybean-admin/commit/db64b0e)
- fix PinToggler style. fixed #451 - by @soybeanjs in https://github.com/soybeanjs/soybean-admin/issues/451 [<samp>(42b12)</samp>](https://github.com/soybeanjs/soybean-admin/commit/42b121a)
### 🛠 Optimizations
- **components**: accuracy draggable area for TableColumnSetting with animation - by @orangelckc in https://github.com/soybeanjs/soybean-admin/issues/465 [<samp>(2aa85)</samp>](https://github.com/soybeanjs/soybean-admin/commit/2aa85c6)
- **projects**: unocss border shortcut - by @soybeanjs [<samp>(40d0f)</samp>](https://github.com/soybeanjs/soybean-admin/commit/40d0f8a)
### 📖 Documentation
- **projects**: update CHANGELOG - by @soybeanjs [<samp>(87b18)</samp>](https://github.com/soybeanjs/soybean-admin/commit/87b1838)
### 🏡 Chore
- **other**:
- correct spell mistake - by @orangelckc in https://github.com/soybeanjs/soybean-admin/issues/460 [<samp>(086ba)</samp>](https://github.com/soybeanjs/soybean-admin/commit/086bad4)
- correct spell mistake - by @Azir-11 in https://github.com/soybeanjs/soybean-admin/issues/462 [<samp>(f1850)</samp>](https://github.com/soybeanjs/soybean-admin/commit/f185041)
- **projects**:
- update vscode launch.json - by @soybeanjs [<samp>(4c1c7)</samp>](https://github.com/soybeanjs/soybean-admin/commit/4c1c7e6)
### ❤️ Contributors
[](https://github.com/soybeanjs) [](https://github.com/Azir-11) [](https://github.com/orangelckc)
## [v1.1.2](https://github.com/soybeanjs/soybean-admin/compare/v1.1.1...v1.1.2) (2024-05-24)
### 🐞 Bug Fixes
- **projects**:
- fix header style & fix button highlight when click global-tab. fixed #446 - by @honghuangdc in https://github.com/soybeanjs/soybean-admin/issues/446 [<samp>(64fc0)</samp>](https://github.com/soybeanjs/soybean-admin/commit/64fc099)
- fix multi tab page only render once. fixed #441 - by @honghuangdc in https://github.com/soybeanjs/soybean-admin/issues/441 [<samp>(e379d)</samp>](https://github.com/soybeanjs/soybean-admin/commit/e379d6c)
### 🛠 Optimizations
- **projects**: optimize code - by @honghuangdc [<samp>(bc8dc)</samp>](https://github.com/soybeanjs/soybean-admin/commit/bc8dc47)
### ❤️ Contributors
[](https://github.com/honghuangdc)
## [v1.1.1](https://github.com/soybeanjs/soybean-admin/compare/v1.1.0...v1.1.1) (2024-05-20)
### 🚀 Features
- **hooks**: add setOptions for useEcharts - by @honghuangdc [<samp>(e4d53)</samp>](https://github.com/soybeanjs/soybean-admin/commit/e4d53aa)
### 🐞 Bug Fixes
- **projects**:
- fix useRouter. fixed #436 - by @honghuangdc in https://github.com/soybeanjs/soybean-admin/issues/436 [<samp>(0774a)</samp>](https://github.com/soybeanjs/soybean-admin/commit/0774a51)
- add error handle when get routes in dynamic route mode. fixed 440 - by @honghuangdc [<samp>(57b4a)</samp>](https://github.com/soybeanjs/soybean-admin/commit/57b4a9d)
- **styles**:
- fix useTable type - by @honghuangdc [<samp>(07124)</samp>](https://github.com/soybeanjs/soybean-admin/commit/071241f)
### 📖 Documentation
- **projects**:
- update CHANGELOG - by @honghuangdc [<samp>(19783)</samp>](https://github.com/soybeanjs/soybean-admin/commit/1978397)
- update README.md - by @honghuangdc [<samp>(fa56e)</samp>](https://github.com/soybeanjs/soybean-admin/commit/fa56e9c)
- update README.md - by @honghuangdc [<samp>(419ea)</samp>](https://github.com/soybeanjs/soybean-admin/commit/419ea42)
### 🏡 Chore
- **projects**:
- update deps & fix TS error - by @honghuangdc [<samp>(4ea9c)</samp>](https://github.com/soybeanjs/soybean-admin/commit/4ea9c85)
- update eslint-config & fix code - by @honghuangdc [<samp>(68ea9)</samp>](https://github.com/soybeanjs/soybean-admin/commit/68ea974)
- update @elegant-router/vue & add error handle for resolve route. fixed #442 - by @honghuangdc in https://github.com/soybeanjs/soybean-admin/issues/442 [<samp>(24ff8)</samp>](https://github.com/soybeanjs/soybean-admin/commit/24ff852)
### ❤️ Contributors
[](https://github.com/honghuangdc)
## [v1.1.0](https://github.com/honghuangdc/soybean-admin/compare/v1.0.9...v1.1.0) (2024-05-07)
### 🚀 Features
- **projects**:
- support grayscale. fixed #385 - by @honghuangdc in https://github.com/honghuangdc/soybean-admin/issues/385 [<samp>(d335d)</samp>](https://github.com/honghuangdc/soybean-admin/commit/d335df6)
- Add prefix to local storage - by **Azir** [<samp>(1fc34)</samp>](https://github.com/honghuangdc/soybean-admin/commit/1fc34cc)
- add table showTotal options - by **paynezhuang** [<samp>(3e61e)</samp>](https://github.com/honghuangdc/soybean-admin/commit/3e61eab)
- add recommend color switch. closed #388 - by @honghuangdc in https://github.com/honghuangdc/soybean-admin/issues/388 [<samp>(a1920)</samp>](https://github.com/honghuangdc/soybean-admin/commit/a1920fc)
- add menu route field - by **paynezhuang** [<samp>(dbe31)</samp>](https://github.com/honghuangdc/soybean-admin/commit/dbe31eb)
- support repeated request errors occur once in a short time. close #368, close #369 - by @honghuangdc in https://github.com/honghuangdc/soybean-admin/issues/368 and https://github.com/honghuangdc/soybean-admin/issues/369 [<samp>(e3bd3)</samp>](https://github.com/honghuangdc/soybean-admin/commit/e3bd397)
- close tab by mouse wheel button click - by **JianJroh** [<samp>(d3849)</samp>](https://github.com/honghuangdc/soybean-admin/commit/d3849ba)
- page: support manage_menu more options. close #366 - by @honghuangdc in https://github.com/honghuangdc/soybean-admin/issues/366 [<samp>(c4b5c)</samp>](https://github.com/honghuangdc/soybean-admin/commit/c4b5c65)
- useTable adds expand to display - by **paynezhuang** [<samp>(0a90d)</samp>](https://github.com/honghuangdc/soybean-admin/commit/0a90dd3)
### 🐞 Bug Fixes
- **projects**:
- menu fixedIndexInTab default null - by **paynezhuang** [<samp>(3d10e)</samp>](https://github.com/honghuangdc/soybean-admin/commit/3d10ef1)
- fix menu-toggler zIndex - by @honghuangdc [<samp>(7bd43)</samp>](https://github.com/honghuangdc/soybean-admin/commit/7bd43df)
- fix manage_menu modal style - by @honghuangdc [<samp>(60f3b)</samp>](https://github.com/honghuangdc/soybean-admin/commit/60f3b14)
- fix menu data when role is changed. fixed #391 - by @honghuangdc in https://github.com/honghuangdc/soybean-admin/issues/391 [<samp>(3b47b)</samp>](https://github.com/honghuangdc/soybean-admin/commit/3b47b5a)
### 🛠 Optimizations
- **projects**: remove deprecated code - by @honghuangdc [<samp>(72ccb)</samp>](https://github.com/honghuangdc/soybean-admin/commit/72ccb6b)
### 💅 Refactors
- **projects**:
- refactor @sa/color-palette => @sa/color & perf @sa/utils - by @honghuangdc [<samp>(34999)</samp>](https://github.com/honghuangdc/soybean-admin/commit/3499997)
- menu-operate-drawer => menu-operate-modal - by @honghuangdc [<samp>(003e1)</samp>](https://github.com/honghuangdc/soybean-admin/commit/003e145)
### 📖 Documentation
- **projects**:
- add CHANGELOG.zh_CN.md - by @honghuangdc [<samp>(18b3f)</samp>](https://github.com/honghuangdc/soybean-admin/commit/18b3f05)
- update CHANGELOG - by @honghuangdc [<samp>(4d17c)</samp>](https://github.com/honghuangdc/soybean-admin/commit/4d17cfd)
### 🏡 Chore
- **deps**:
- update deps - by @honghuangdc [<samp>(1cb38)</samp>](https://github.com/honghuangdc/soybean-admin/commit/1cb3816)
- update deps - by @honghuangdc [<samp>(599b4)</samp>](https://github.com/honghuangdc/soybean-admin/commit/599b4e1)
- **projects**:
- merge main to v1.1.0 - by @honghuangdc [<samp>(ebe55)</samp>](https://github.com/honghuangdc/soybean-admin/commit/ebe55af)
### ❤️ Contributors
[](https://github.com/honghuangdc)
[paynezhuang](mailto:paynezhuang@gmail.com), [JianJroh](mailto:rhjian@foxmail.com), [Azir](mailto:2075125282@qq.com)
## [v1.1.0-beta.2](https://github.com/honghuangdc/soybean-admin/compare/v1.1.0-beta.1...v1.1.0-beta.2) (2024-05-07)
### 🚀 Features
- **projects**: useTable adds expand to display - by **paynezhuang** [<samp>(0a90d)</samp>](https://github.com/honghuangdc/soybean-admin/commit/0a90dd3)
### 🐞 Bug Fixes
- **projects**:
- fix manage_menu modal style - by @honghuangdc [<samp>(60f3b)</samp>](https://github.com/honghuangdc/soybean-admin/commit/60f3b14)
- fix menu data when role is changed. fixed #391 - by @honghuangdc in https://github.com/honghuangdc/soybean-admin/issues/391 [<samp>(3b47b)</samp>](https://github.com/honghuangdc/soybean-admin/commit/3b47b5a)
### 🛠 Optimizations
- **projects**: remove deprecated code - by @honghuangdc [<samp>(72ccb)</samp>](https://github.com/honghuangdc/soybean-admin/commit/72ccb6b)
### 📖 Documentation
- **projects**: add CHANGELOG.zh_CN.md - by @honghuangdc [<samp>(18b3f)</samp>](https://github.com/honghuangdc/soybean-admin/commit/18b3f05)
### ❤️ Contributors
[](https://github.com/honghuangdc)
[paynezhuang](mailto:paynezhuang@gmail.com)
## [v1.1.0-beta.1](https://github.com/soybeanjs/soybean-admin/compare/v1.0.9...v1.1.0-beta.1) (2024-05-07)
### 🚀 Features
- **projects**:
- support grayscale. fixed #385 - by @honghuangdc in https://github.com/soybeanjs/soybean-admin/issues/385 [<samp>(d335d)</samp>](https://github.com/soybeanjs/soybean-admin/commit/d335df6)
- Add prefix to local storage - by **Azir** [<samp>(1fc34)</samp>](https://github.com/soybeanjs/soybean-admin/commit/1fc34cc)
- add table showTotal options - by **paynezhuang** [<samp>(3e61e)</samp>](https://github.com/soybeanjs/soybean-admin/commit/3e61eab)
- add recommend color switch. closed #388 - by @honghuangdc in https://github.com/soybeanjs/soybean-admin/issues/388 [<samp>(a1920)</samp>](https://github.com/soybeanjs/soybean-admin/commit/a1920fc)
- add menu route field - by **paynezhuang** [<samp>(dbe31)</samp>](https://github.com/soybeanjs/soybean-admin/commit/dbe31eb)
- support repeated request errors occur once in a short time. close #368, close #369 - by @honghuangdc in https://github.com/soybeanjs/soybean-admin/issues/368 and https://github.com/soybeanjs/soybean-admin/issues/369 [<samp>(e3bd3)</samp>](https://github.com/soybeanjs/soybean-admin/commit/e3bd397)
- close tab by mouse wheel button click - by **JianJroh** [<samp>(d3849)</samp>](https://github.com/soybeanjs/soybean-admin/commit/d3849ba)
- page: support manage_menu more options. close #366 - by @honghuangdc in https://github.com/soybeanjs/soybean-admin/issues/366 [<samp>(c4b5c)</samp>](https://github.com/soybeanjs/soybean-admin/commit/c4b5c65)
### 🐞 Bug Fixes
- **projects**:
- menu fixedIndexInTab default null - by **paynezhuang** [<samp>(3d10e)</samp>](https://github.com/soybeanjs/soybean-admin/commit/3d10ef1)
- fix menu-toggler zIndex - by @honghuangdc [<samp>(7bd43)</samp>](https://github.com/soybeanjs/soybean-admin/commit/7bd43df)
### 💅 Refactors
- **projects**:
- refactor @sa/color-palette => @sa/color & perf @sa/utils - by @honghuangdc [<samp>(34999)</samp>](https://github.com/soybeanjs/soybean-admin/commit/3499997)
- menu-operate-drawer => menu-operate-modal - by @honghuangdc [<samp>(003e1)</samp>](https://github.com/soybeanjs/soybean-admin/commit/003e145)
### 🏡 Chore
- **deps**:
- update deps - by @honghuangdc [<samp>(1cb38)</samp>](https://github.com/soybeanjs/soybean-admin/commit/1cb3816)
- update deps - by @honghuangdc [<samp>(599b4)</samp>](https://github.com/soybeanjs/soybean-admin/commit/599b4e1)
- **projects**:
- merge main to v1.1.0 - by @honghuangdc [<samp>(ebe55)</samp>](https://github.com/soybeanjs/soybean-admin/commit/ebe55af)
### ❤️ Contributors
[](https://github.com/honghuangdc)
[JianJroh](mailto:rhjian@foxmail.com), [paynezhuang](mailto:paynezhuang@gmail.com), [Azir](mailto:2075125282@qq.com)
## [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
- **projects**:
- fix CHANGELOG versions - by @honghuangdc [<samp>(d9af5)</samp>](https://github.com/soybeanjs/soybean-admin/commit/d9af5aa)
- fix disabled page animate - by @honghuangdc [<samp>(23f28)</samp>](https://github.com/soybeanjs/soybean-admin/commit/23f283a)
- fix routes data when role is change. fixed #391 - by @honghuangdc in https://github.com/soybeanjs/soybean-admin/issues/391 [<samp>(cb83d)</samp>](https://github.com/soybeanjs/soybean-admin/commit/cb83d6d)
- fix tabs data when role is change. fixed #392 - by @honghuangdc in https://github.com/soybeanjs/soybean-admin/issues/392 [<samp>(04aa0)</samp>](https://github.com/soybeanjs/soybean-admin/commit/04aa097)
- recovery pnpm-lock.yaml - by @honghuangdc [<samp>(c6952)</samp>](https://github.com/soybeanjs/soybean-admin/commit/c695208)
### 💅 Refactors
- **hooks**: refactor @sa/color - by @honghuangdc [<samp>(93191)</samp>](https://github.com/soybeanjs/soybean-admin/commit/9319173)
### 📖 Documentation
- **projects**:
- update README.md - by @honghuangdc [<samp>(5a523)</samp>](https://github.com/soybeanjs/soybean-admin/commit/5a5232b)
- update README.md - by @honghuangdc [<samp>(79d9c)</samp>](https://github.com/soybeanjs/soybean-admin/commit/79d9c51)
### 🏡 Chore
- **deps**:
- update deps - by @honghuangdc [<samp>(ac928)</samp>](https://github.com/soybeanjs/soybean-admin/commit/ac92817)
- update deps - by @honghuangdc [<samp>(3ceeb)</samp>](https://github.com/soybeanjs/soybean-admin/commit/3ceeb6f)
- update deps - by @honghuangdc [<samp>(9a669)</samp>](https://github.com/soybeanjs/soybean-admin/commit/9a66979)
- **projects**:
- update pnpm version - by @honghuangdc [<samp>(42e16)</samp>](https://github.com/soybeanjs/soybean-admin/commit/42e16a0)
- update deps & update pnpm version & update eslint config - by @honghuangdc [<samp>(7392b)</samp>](https://github.com/soybeanjs/soybean-admin/commit/7392beb)
### ❤️ Contributors
[](https://github.com/honghuangdc)
## [v1.0.3](https://github.com/soybeanjs/soybean-admin/compare/v1.0.2...v1.0.3) (2024-04-16)
### 🚀 Features
- **hooks**: deleting the route export of useRoutePush, use vue-router - by **paynezhuang** [<samp>(c6648)</samp>](https://github.com/soybeanjs/soybean-admin/commit/c6648b6)
### 🐞 Bug Fixes
- **projects**:
- fix menu edit rules - by **paynezhuang** [<samp>(00105)</samp>](https://github.com/soybeanjs/soybean-admin/commit/001059c)
- fix SvgIcon inheritAttrs warning - by @honghuangdc [<samp>(efc0e)</samp>](https://github.com/soybeanjs/soybean-admin/commit/efc0e25)
- fix axios createRequest: add default state - by @honghuangdc [<samp>(d6eda)</samp>](https://github.com/soybeanjs/soybean-admin/commit/d6eda8f)
- update union-key.d.ts - by @honghuangdc [<samp>(60bef)</samp>](https://github.com/soybeanjs/soybean-admin/commit/60beff7)
- fix update theme color - by @honghuangdc [<samp>(27c53)</samp>](https://github.com/soybeanjs/soybean-admin/commit/27c53cd)
### 🔥 Performance
- **projects**: perf code - by @honghuangdc [<samp>(b7f07)</samp>](https://github.com/soybeanjs/soybean-admin/commit/b7f0749)
### 💅 Refactors
- **projects**: update naive-ui.d.ts - by @honghuangdc [<samp>(bb74d)</samp>](https://github.com/soybeanjs/soybean-admin/commit/bb74d99)
### 📖 Documentation
- **projects**: update README.md - by @honghuangdc [<samp>(f4a9c)</samp>](https://github.com/soybeanjs/soybean-admin/commit/f4a9cf8)
### ❤️ 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) (2024-04-08)
### 🐞 Bug Fixes
- **projects**: unify border-radius of Tag. fixed #378 - by @honghuangdc in https://github.com/soybeanjs/soybean-admin/issues/378 [<samp>(2f15a)</samp>](https://github.com/soybeanjs/soybean-admin/commit/2f15a2a)
- **styles**: fix css var is inserted repeatedly - by **燕博文** [<samp>(769d8)</samp>](https://github.com/soybeanjs/soybean-admin/commit/769d84a)
### 💅 Refactors
- **projects**: refactor addThemeVarsToHtml - by @honghuangdc [<samp>(41e47)</samp>](https://github.com/soybeanjs/soybean-admin/commit/41e470e)
### 🏡 Chore
- **deps**: update deps - by @honghuangdc [<samp>(a1b48)</samp>](https://github.com/soybeanjs/soybean-admin/commit/a1b484a)
- **projects**: disabled unocss eslint rule: order-attributify - by @honghuangdc [<samp>(1c72d)</samp>](https://github.com/soybeanjs/soybean-admin/commit/1c72dc7)
### ❤️ Contributors
[](https://github.com/honghuangdc)
[燕博文](mailto:349952469@qq.com)
## [v1.0.1](https://github.com/soybeanjs/soybean-admin/compare/v1.0.0...v1.0.1) (2024-04-03)
### 🐞 Bug Fixes
- **projects**:
- fix flatRequest error type. fixed #376 - by @honghuangdc in https://github.com/soybeanjs/soybean-admin/issues/376 [<samp>(1ec5e)</samp>](https://github.com/soybeanjs/soybean-admin/commit/1ec5ea0)
- add maxWidth for GlobalTab to fix bg with gap. fixed #350 - by @honghuangdc in https://github.com/soybeanjs/soybean-admin/issues/350 [<samp>(cc539)</samp>](https://github.com/soybeanjs/soybean-admin/commit/cc53997)
### 📖 Documentation
- **projects**: update README.md - by @honghuangdc [<samp>(76011)</samp>](https://github.com/soybeanjs/soybean-admin/commit/76011af)
### 🏡 Chore
- **projects**:
- update deps - by @honghuangdc [<samp>(4babb)</samp>](https://github.com/soybeanjs/soybean-admin/commit/4babbe1)
- update pnpm version - by @honghuangdc [<samp>(9125c)</samp>](https://github.com/soybeanjs/soybean-admin/commit/9125cc9)
### ❤️ Contributors
[](https://github.com/honghuangdc)
## [v1.0.0](https://github.com/soybeanjs/soybean-admin/compare/v0.10.4...v1.0.0) (2024-03-31)
### 🚀 Features
- 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/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/soybeanjs/soybean-admin/commit/726abe4)
- **projects**:
- 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/soybeanjs/soybean-admin/commit/0cf09ba)
### 🐞 Bug Fixes
- **components**:
- 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/soybeanjs/soybean-admin/commit/3743612)
- **projects**:
- 修复路由命名为包含关系时导致导航数据出错的问题 - by @Particaly [<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)
- fix pin-toggler toolTip zIndex - by @honghuangdc [<samp>(f89e6)</samp>](https://github.com/soybeanjs/soybean-admin/commit/f89e6c0)
### 🔥 Performance
- **components**:
- 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/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)
- perf code - by @honghuangdc [<samp>(a0bad)</samp>](https://github.com/soybeanjs/soybean-admin/commit/a0bad57)
### 💅 Refactors
- **projects**:
- 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/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)
- add communication - by @honghuangdc [<samp>(8c7ea)</samp>](https://github.com/soybeanjs/soybean-admin/commit/8c7ea23)
- update README.md - by @honghuangdc [<samp>(07d8d)</samp>](https://github.com/soybeanjs/soybean-admin/commit/07d8d25)
- update README.md - by @honghuangdc [<samp>(1a707)</samp>](https://github.com/soybeanjs/soybean-admin/commit/1a7070f)
- update README.md - by @honghuangdc [<samp>(f69e1)</samp>](https://github.com/soybeanjs/soybean-admin/commit/f69e152)
### 🏡 Chore
- **deps**:
- 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)
- update deps - by @honghuangdc [<samp>(6b513)</samp>](https://github.com/soybeanjs/soybean-admin/commit/6b5132c)
- update deps - by @honghuangdc [<samp>(82b53)</samp>](https://github.com/soybeanjs/soybean-admin/commit/82b53d7)
- **project**:
- 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/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)
- add .gitattributes - by @honghuangdc [<samp>(c0009)</samp>](https://github.com/soybeanjs/soybean-admin/commit/c000920)
### 🎨 Styles
- **components**:
- 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/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/soybeanjs/soybean-admin/commit/4cb17c7)
- update release.yml - by @honghuangdc [<samp>(7b298)</samp>](https://github.com/soybeanjs/soybean-admin/commit/7b298c6)
- add issue template - by @honghuangdc [<samp>(06e20)</samp>](https://github.com/soybeanjs/soybean-admin/commit/06e204a)
### ❤️ Contributors
[](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) (2024-03-31)
### 📖 Documentation
- **projects**: update README.md - by @honghuangdc [<samp>(f69e1)</samp>](https://github.com/soybeanjs/soybean-admin/commit/f69e152)
### 🏡 Chore
- **deps**: update deps - by @honghuangdc [<samp>(82b53)</samp>](https://github.com/soybeanjs/soybean-admin/commit/82b53d7)
- **projects**: add .gitattributes - by @honghuangdc [<samp>(c0009)</samp>](https://github.com/soybeanjs/soybean-admin/commit/c000920)
### ❤️ Contributors
[](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) (2024-03-27)
### 🐞 Bug Fixes
- **projects**: fix pin-toggler toolTip zIndex - by @honghuangdc [<samp>(f89e6)</samp>](https://github.com/soybeanjs/soybean-admin/commit/f89e6c0)
### 🔥 Performance
- **projects**: perf code - by @honghuangdc [<samp>(a0bad)</samp>](https://github.com/soybeanjs/soybean-admin/commit/a0bad57)
### 📖 Documentation
- **projects**:
- add communication - by @honghuangdc [<samp>(8c7ea)</samp>](https://github.com/soybeanjs/soybean-admin/commit/8c7ea23)
- update README.md - by @honghuangdc [<samp>(07d8d)</samp>](https://github.com/soybeanjs/soybean-admin/commit/07d8d25)
- update README.md - by @honghuangdc [<samp>(1a707)</samp>](https://github.com/soybeanjs/soybean-admin/commit/1a7070f)
### 🏡 Chore
- **deps**: update deps - by @honghuangdc [<samp>(6b513)</samp>](https://github.com/soybeanjs/soybean-admin/commit/6b5132c)
### 🤖 CI
- **projects**:
- update release.yml - by @honghuangdc [<samp>(7b298)</samp>](https://github.com/soybeanjs/soybean-admin/commit/7b298c6)
- add issue template - by @honghuangdc [<samp>(06e20)</samp>](https://github.com/soybeanjs/soybean-admin/commit/06e204a)
### ❤️ Contributors
[](https://github.com/honghuangdc)
## [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/soybeanjs/soybean-admin/commit/9e115da)
- **components**:
- 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/soybeanjs/soybean-admin/commit/726abe4)
- **projects**:
- 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/soybeanjs/soybean-admin/commit/0cf09ba)
### 🐞 Bug Fixes
- **components**:
- 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/soybeanjs/soybean-admin/commit/3743612)
- **projects**:
- 修复路由命名为包含关系时导致导航数据出错的问题 - 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/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/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/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/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/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/soybeanjs/soybean-admin/commit/377db82)
- **projects**:
- 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/soybeanjs/soybean-admin/commit/b37c1e9)
- **projects**:
- 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/soybeanjs/soybean-admin/commit/4cb17c7)
### ❤️ Contributors
[](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),
## [v0.10.4](https://github.com/honghuangdc/soybean-admin/compare/v0.10.3...v0.10.4) (23-09-20)
### 🚀 Features
- **auth**:
- 防止多次刷新token - by @eAliwei [<samp>(0eaa3)</samp>](https://github.com/honghuangdc/soybean-admin/commit/0eaa327)
- **hooks**:
- add useHookTable - by @honghuangdc [<samp>(b3ae7)</samp>](https://github.com/honghuangdc/soybean-admin/commit/b3ae760)
- **projects**:
- add websocket demo - by @honghuangdc [<samp>(af53e)</samp>](https://github.com/honghuangdc/soybean-admin/commit/af53ec7)
- add switch for customize darkmode transition - by @honghuangdc [<samp>(6e0cc)</samp>](https://github.com/honghuangdc/soybean-admin/commit/6e0cce4)
- new i18n function $t & login page and setting drawer config i18n - by @honghuangdc [<samp>(854d0)</samp>](https://github.com/honghuangdc/soybean-admin/commit/854d0bc)
- add plugin-web-update-notification - by @honghuangdc [<samp>(c9164)</samp>](https://github.com/honghuangdc/soybean-admin/commit/c91644b)
### 🐞 Bug Fixes
- **components**:
- 修复动态路由主页404 - by @lapislazulisch [<samp>(3ae19)</samp>](https://github.com/honghuangdc/soybean-admin/commit/3ae1952)
- 修复动态路由home页404 - by @lapislazulisch [<samp>(ad6ac)</samp>](https://github.com/honghuangdc/soybean-admin/commit/ad6ac72)
- **projects**:
- fix set tab title (fixed #256) - by @honghuangdc in https://github.com/honghuangdc/soybean-admin/issues/256 [<samp>(13f6c)</samp>](https://github.com/honghuangdc/soybean-admin/commit/13f6cd8)
- correct the lang file name & add recommend vscode plugin i18n-ally - by @honghuangdc [<samp>(864ec)</samp>](https://github.com/honghuangdc/soybean-admin/commit/864ec47)
- fix reload button animate - by @honghuangdc [<samp>(41f23)</samp>](https://github.com/honghuangdc/soybean-admin/commit/41f2338)
- **styles**:
- 用户管理页面布局自适应屏幕高度 (fixed #253) - by @honghuangdc in https://github.com/honghuangdc/soybean-admin/issues/253 [<samp>(0f7b9)</samp>](https://github.com/honghuangdc/soybean-admin/commit/0f7b9d5)
### 🔥 Performance
- **hooks**:
- perf use-table - by @honghuangdc [<samp>(33180)</samp>](https://github.com/honghuangdc/soybean-admin/commit/3318041)
- perf useHookTable - by @honghuangdc [<samp>(809fa)</samp>](https://github.com/honghuangdc/soybean-admin/commit/809fa85)
- **projects**:
- add type declaration for document startViewTransition - by @honghuangdc [<samp>(d3ebe)</samp>](https://github.com/honghuangdc/soybean-admin/commit/d3ebe95)
### 💅 Refactors
- **projects**:
- 生产环境缓存主题变更为sessionStorage - by @honghuangdc [<samp>(c46a5)</samp>](https://github.com/honghuangdc/soybean-admin/commit/c46a592)
- add reCacheRoute method - by @honghuangdc [<samp>(f92ee)</samp>](https://github.com/honghuangdc/soybean-admin/commit/f92ee77)
- update soybean domain - by @honghuangdc [<samp>(073fd)</samp>](https://github.com/honghuangdc/soybean-admin/commit/073fd16)
### 📖 Documentation
- **projects**:
- update README.md logo - by @honghuangdc [<samp>(19141)</samp>](https://github.com/honghuangdc/soybean-admin/commit/19141a7)
- update Docker deployment method - by @snowords [<samp>(00da0)</samp>](https://github.com/honghuangdc/soybean-admin/commit/00da000)
- update git hooks init command - by @snowords [<samp>(7f35e)</samp>](https://github.com/honghuangdc/soybean-admin/commit/7f35e87)
- update README.md - by @eltociear [<samp>(93ed5)</samp>](https://github.com/honghuangdc/soybean-admin/commit/93ed5ad)
### 🏡 Chore
- **deps**:
- update deps - by @honghuangdc [<samp>(bba68)</samp>](https://github.com/honghuangdc/soybean-admin/commit/bba68bf)
- update deps - by @honghuangdc [<samp>(0e6d2)</samp>](https://github.com/honghuangdc/soybean-admin/commit/0e6d289)
- update deps - by @honghuangdc [<samp>(135ce)</samp>](https://github.com/honghuangdc/soybean-admin/commit/135ce77)
- update deps - by @honghuangdc [<samp>(44ba3)</samp>](https://github.com/honghuangdc/soybean-admin/commit/44ba327)
- update deps - by @honghuangdc [<samp>(9296e)</samp>](https://github.com/honghuangdc/soybean-admin/commit/9296e69)
- update deps - by @honghuangdc [<samp>(751de)</samp>](https://github.com/honghuangdc/soybean-admin/commit/751ded4)
- update deps - by @honghuangdc [<samp>(305d9)</samp>](https://github.com/honghuangdc/soybean-admin/commit/305d956)
- **projects**:
- update deps and fix swiper - by @honghuangdc [<samp>(9d105)</samp>](https://github.com/honghuangdc/soybean-admin/commit/9d1051b)
- update package.json - by @honghuangdc [<samp>(d7aea)</samp>](https://github.com/honghuangdc/soybean-admin/commit/d7aea9d)
- update deps & fix eslint code - by @honghuangdc [<samp>(08e0c)</samp>](https://github.com/honghuangdc/soybean-admin/commit/08e0cf5)
- update pnpm-lock.yaml - by @honghuangdc [<samp>(94644)</samp>](https://github.com/honghuangdc/soybean-admin/commit/9464473)
- update VSCode setting - by @honghuangdc [<samp>(56c77)</samp>](https://github.com/honghuangdc/soybean-admin/commit/56c770c)
- correct the word spell - by @honghuangdc [<samp>(458e3)</samp>](https://github.com/honghuangdc/soybean-admin/commit/458e387)
- correct word spell & eslint fix code - by @honghuangdc [<samp>(cffc3)</samp>](https://github.com/honghuangdc/soybean-admin/commit/cffc30a)
- When tab is switched, keep the page without refreshing - by @linjiangl [<samp>(83f25)</samp>](https://github.com/honghuangdc/soybean-admin/commit/83f2514)
### 🎨 Styles
- **projects**:
- unify card border radius, 16px to 8px - by @honghuangdc [<samp>(cbda4)</samp>](https://github.com/honghuangdc/soybean-admin/commit/cbda4a3)
- update default theme color - by @honghuangdc [<samp>(43ac2)</samp>](https://github.com/honghuangdc/soybean-admin/commit/43ac23f)
- prettier format code - by @honghuangdc [<samp>(24cf1)</samp>](https://github.com/honghuangdc/soybean-admin/commit/24cf1d9)
### ❤️ Contributors
[](https://github.com/honghuangdc) [](https://github.com/eltociear) [](https://github.com/linjiangl) [](https://github.com/lapislazulisch) [](https://github.com/snowords) [](https://github.com/eAliwei) [](https://github.com/honghuangdc)
## [v0.10.3](https://github.com/honghuangdc/soybean-admin/compare/v0.10.2...v0.10.3) (23-06-15)
### 🐞 Bug Fixes
- **projects**: fix userRoleOptions - by @soybeanjs [<samp>(2ca2b)</samp>](https://github.com/honghuangdc/soybean-admin/commit/2ca2b76)
- **styles**: fix toggle-lang bg - by @soybeanjs [<samp>(47309)</samp>](https://github.com/honghuangdc/soybean-admin/commit/473095b)
### 🔥 Performance
- **projects**:
- remove useless code - by @soybeanjs [<samp>(eb8e4)</samp>](https://github.com/honghuangdc/soybean-admin/commit/eb8e49e)
- use transformObjectToOption to generate option of object labels - by @soybeanjs [<samp>(da611)</samp>](https://github.com/honghuangdc/soybean-admin/commit/da611fb)
### 📖 Documentation
- **projects**:
- CHANGELOG.md - by @soybeanjs [<samp>(ff5bf)</samp>](https://github.com/honghuangdc/soybean-admin/commit/ff5bf62)
- generate full CHANGELOG.md - by @soybeanjs [<samp>(055d4)</samp>](https://github.com/honghuangdc/soybean-admin/commit/055d4cc)
- update README.md - by @soybeanjs [<samp>(3c7e1)</samp>](https://github.com/honghuangdc/soybean-admin/commit/3c7e1cf)
- update README.md - by @soybeanjs [<samp>(1681c)</samp>](https://github.com/honghuangdc/soybean-admin/commit/1681c34)
- update README.md picture url - by @soybeanjs [<samp>(4eefc)</samp>](https://github.com/honghuangdc/soybean-admin/commit/4eefc95)
- update README.md - by @soybeanjs [<samp>(8f24a)</samp>](https://github.com/honghuangdc/soybean-admin/commit/8f24a94)
- update CHANGELOG.md by regenerate changelog - by @soybeanjs [<samp>(2a9b7)</samp>](https://github.com/honghuangdc/soybean-admin/commit/2a9b725)
### 🏡 Chore
- **deps**:
- update deps - by @soybeanjs [<samp>(f9d47)</samp>](https://github.com/honghuangdc/soybean-admin/commit/f9d47c0)
- update deps - by @soybeanjs [<samp>(47ab0)</samp>](https://github.com/honghuangdc/soybean-admin/commit/47ab018)
- decrease vite-plugin-page-route - by @soybeanjs [<samp>(882f2)</samp>](https://github.com/honghuangdc/soybean-admin/commit/882f281)
- update deps - by @soybeanjs [<samp>(e6abf)</samp>](https://github.com/honghuangdc/soybean-admin/commit/e6abf93)
- **projects**:
- remove bumpp & add release script - by @soybeanjs [<samp>(a3dfe)</samp>](https://github.com/honghuangdc/soybean-admin/commit/a3dfe61)
- update @soybeanjs/cli and generate total changelog - by @soybeanjs [<samp>(58591)</samp>](https://github.com/honghuangdc/soybean-admin/commit/58591f6)
- update deps & update unocss deprecated api exclude - by @soybeanjs [<samp>(0907d)</samp>](https://github.com/honghuangdc/soybean-admin/commit/0907d38)
- update deps & update package.json - by @soybeanjs [<samp>(0b2f6)</samp>](https://github.com/honghuangdc/soybean-admin/commit/0b2f68a)
- add vite-plugin-vue-devtools - by @soybeanjs [<samp>(c1bee)</samp>](https://github.com/honghuangdc/soybean-admin/commit/c1bee40)
### ❤️ Contributors
[](https://github.com/soybeanjs)
## [v0.10.2](https://github.com/honghuangdc/soybean-admin/compare/v0.10.1...v0.10.2) (2023-06-01)
### 🐞 Bug Fixes
- **components**: fix mix-menu layout when the locale is English (fixed 241) - by @soybeanjs [<samp>(5c085)</samp>](https://github.com/honghuangdc/soybean-admin/commit/5c085a1)
### 📖 Documentation
- **projects**:
- CHANGELOG.md - by @soybeanjs [<samp>(bb2ea)</samp>](https://github.com/honghuangdc/soybean-admin/commit/bb2eab6)
- update README.md: update example image url [更新示例图片的链接] - by @soybeanjs [<samp>(4f512)</samp>](https://github.com/honghuangdc/soybean-admin/commit/4f51263)
- fix README.md: example image link - by @soybeanjs [<samp>(56ea8)</samp>](https://github.com/honghuangdc/soybean-admin/commit/56ea893)
### 🏡 Chore
- release v0.10.2 - by @soybeanjs [<samp>(1f6d0)</samp>](https://github.com/honghuangdc/soybean-admin/commit/1f6d079)
- **projects**: update deps and use soy lint-staged replace lint-staged - by @soybeanjs [<samp>(9a238)</samp>](https://github.com/honghuangdc/soybean-admin/commit/9a23817)
### ❤️ Contributors
[](https://github.com/soybeanjs)
## [v0.10.1](https://github.com/honghuangdc/soybean-admin/compare/v0.10.0...v0.10.1) (2023-05-31)
### 📖 Documentation
- **projects**:
- CHANGELOG.md - by @soybeanjs [<samp>(a2521)</samp>](https://github.com/honghuangdc/soybean-admin/commit/a252138)
- update README.md - by @soybeanjs [<samp>(b5839)</samp>](https://github.com/honghuangdc/soybean-admin/commit/b5839ea)
### 🏡 Chore
- release v0.10.1 - by @soybeanjs [<samp>(44e4c)</samp>](https://github.com/honghuangdc/soybean-admi
gitextract_2ab1an7r/ ├── .editorconfig ├── .gitattributes ├── .github/ │ ├── ISSUE_TEMPLATE/ │ │ ├── bug-report_cn.yaml │ │ ├── bug-report_en.yaml │ │ ├── feature_request_cn.yaml │ │ └── feature_request_en.yaml │ ├── PULL_REQUEST_TEMPLATE/ │ │ ├── pr_cn.md │ │ └── pr_en.md │ └── workflows/ │ ├── linter.yml │ ├── opencode.yml │ └── release.yml ├── .gitignore ├── .npmrc ├── .oxfmtrc.json ├── .oxlintrc.json ├── .vscode/ │ ├── extensions.json │ ├── launch.json │ └── settings.json ├── CHANGELOG.md ├── CHANGELOG.zh_CN.md ├── LICENSE ├── README.en_US.md ├── README.md ├── build/ │ ├── config/ │ │ ├── index.ts │ │ ├── proxy.ts │ │ └── time.ts │ └── plugins/ │ ├── devtools.ts │ ├── html.ts │ ├── index.ts │ ├── router.ts │ ├── unocss.ts │ └── unplugin.ts ├── eslint.config.js ├── index.html ├── package.json ├── packages/ │ ├── alova/ │ │ ├── package.json │ │ ├── src/ │ │ │ ├── client.ts │ │ │ ├── constant.ts │ │ │ ├── fetch.ts │ │ │ ├── index.ts │ │ │ ├── mock.ts │ │ │ └── type.ts │ │ └── tsconfig.json │ ├── axios/ │ │ ├── package.json │ │ ├── src/ │ │ │ ├── constant.ts │ │ │ ├── index.ts │ │ │ ├── options.ts │ │ │ ├── shared.ts │ │ │ └── type.ts │ │ └── tsconfig.json │ ├── color/ │ │ ├── package.json │ │ ├── src/ │ │ │ ├── constant/ │ │ │ │ ├── index.ts │ │ │ │ ├── name.ts │ │ │ │ └── palette.ts │ │ │ ├── index.ts │ │ │ ├── palette/ │ │ │ │ ├── antd.ts │ │ │ │ ├── index.ts │ │ │ │ └── recommend.ts │ │ │ ├── shared/ │ │ │ │ ├── colord.ts │ │ │ │ ├── index.ts │ │ │ │ └── name.ts │ │ │ └── types/ │ │ │ └── index.ts │ │ └── tsconfig.json │ ├── hooks/ │ │ ├── package.json │ │ ├── src/ │ │ │ ├── index.ts │ │ │ ├── use-boolean.ts │ │ │ ├── use-context.ts │ │ │ ├── use-count-down.ts │ │ │ ├── use-loading.ts │ │ │ ├── use-request.ts │ │ │ ├── use-svg-icon-render.ts │ │ │ └── use-table.ts │ │ └── tsconfig.json │ ├── materials/ │ │ ├── package.json │ │ ├── src/ │ │ │ ├── index.ts │ │ │ ├── libs/ │ │ │ │ ├── admin-layout/ │ │ │ │ │ ├── index.module.css │ │ │ │ │ ├── index.module.css.d.ts │ │ │ │ │ ├── index.ts │ │ │ │ │ ├── index.vue │ │ │ │ │ └── shared.ts │ │ │ │ ├── page-tab/ │ │ │ │ │ ├── button-tab.vue │ │ │ │ │ ├── chrome-tab-bg.vue │ │ │ │ │ ├── chrome-tab.vue │ │ │ │ │ ├── index.module.css │ │ │ │ │ ├── index.module.css.d.ts │ │ │ │ │ ├── index.ts │ │ │ │ │ ├── index.vue │ │ │ │ │ ├── shared.ts │ │ │ │ │ ├── slider-tab.vue │ │ │ │ │ └── svg-close.vue │ │ │ │ └── simple-scrollbar/ │ │ │ │ ├── index.ts │ │ │ │ └── index.vue │ │ │ └── types/ │ │ │ └── index.ts │ │ └── tsconfig.json │ ├── scripts/ │ │ ├── bin.ts │ │ ├── package.json │ │ ├── src/ │ │ │ ├── commands/ │ │ │ │ ├── changelog.ts │ │ │ │ ├── cleanup.ts │ │ │ │ ├── git-commit.ts │ │ │ │ ├── index.ts │ │ │ │ ├── release.ts │ │ │ │ ├── router.ts │ │ │ │ └── update-pkg.ts │ │ │ ├── config/ │ │ │ │ └── index.ts │ │ │ ├── index.ts │ │ │ ├── locales/ │ │ │ │ └── index.ts │ │ │ ├── shared/ │ │ │ │ └── index.ts │ │ │ └── types/ │ │ │ └── index.ts │ │ └── tsconfig.json │ ├── uno-preset/ │ │ ├── package.json │ │ ├── src/ │ │ │ └── index.ts │ │ └── tsconfig.json │ └── utils/ │ ├── package.json │ ├── src/ │ │ ├── crypto.ts │ │ ├── index.ts │ │ ├── klona.ts │ │ ├── nanoid.ts │ │ └── storage.ts │ └── tsconfig.json ├── pnpm-workspace.yaml ├── src/ │ ├── App.vue │ ├── components/ │ │ ├── advanced/ │ │ │ ├── table-column-setting.vue │ │ │ └── table-header-operation.vue │ │ ├── common/ │ │ │ ├── app-provider.vue │ │ │ ├── dark-mode-container.vue │ │ │ ├── exception-base.vue │ │ │ ├── full-screen.vue │ │ │ ├── icon-tooltip.vue │ │ │ ├── lang-switch.vue │ │ │ ├── menu-toggler.vue │ │ │ ├── pin-toggler.vue │ │ │ ├── reload-button.vue │ │ │ ├── system-logo.vue │ │ │ └── theme-schema-switch.vue │ │ └── custom/ │ │ ├── better-scroll.vue │ │ ├── button-icon.vue │ │ ├── count-to.vue │ │ ├── look-forward.vue │ │ ├── soybean-avatar.vue │ │ ├── svg-icon.vue │ │ └── wave-bg.vue │ ├── constants/ │ │ ├── app.ts │ │ ├── common.ts │ │ └── reg.ts │ ├── enum/ │ │ └── index.ts │ ├── hooks/ │ │ ├── business/ │ │ │ ├── auth.ts │ │ │ └── captcha.ts │ │ └── common/ │ │ ├── echarts.ts │ │ ├── form.ts │ │ ├── icon.ts │ │ ├── router.ts │ │ └── table.ts │ ├── layouts/ │ │ ├── base-layout/ │ │ │ └── index.vue │ │ ├── blank-layout/ │ │ │ └── index.vue │ │ └── modules/ │ │ ├── global-breadcrumb/ │ │ │ └── index.vue │ │ ├── global-content/ │ │ │ └── index.vue │ │ ├── global-footer/ │ │ │ └── index.vue │ │ ├── global-header/ │ │ │ ├── components/ │ │ │ │ ├── theme-button.vue │ │ │ │ └── user-avatar.vue │ │ │ └── index.vue │ │ ├── global-logo/ │ │ │ └── index.vue │ │ ├── global-menu/ │ │ │ ├── components/ │ │ │ │ └── first-level-menu.vue │ │ │ ├── context/ │ │ │ │ └── index.ts │ │ │ ├── index.vue │ │ │ └── modules/ │ │ │ ├── horizontal-menu.vue │ │ │ ├── top-hybrid-header-first.vue │ │ │ ├── top-hybrid-sidebar-first.vue │ │ │ ├── vertical-hybrid-header-first.vue │ │ │ ├── vertical-menu.vue │ │ │ └── vertical-mix-menu.vue │ │ ├── global-search/ │ │ │ ├── components/ │ │ │ │ ├── search-footer.vue │ │ │ │ ├── search-modal.vue │ │ │ │ └── search-result.vue │ │ │ └── index.vue │ │ ├── global-sider/ │ │ │ └── index.vue │ │ ├── global-tab/ │ │ │ ├── context-menu.vue │ │ │ └── index.vue │ │ └── theme-drawer/ │ │ ├── components/ │ │ │ ├── layout-mode-card.vue │ │ │ └── setting-item.vue │ │ ├── index.vue │ │ └── modules/ │ │ ├── appearance/ │ │ │ ├── index.vue │ │ │ └── modules/ │ │ │ ├── theme-color.vue │ │ │ ├── theme-radius.vue │ │ │ └── theme-schema.vue │ │ ├── config-operation.vue │ │ ├── general/ │ │ │ ├── index.vue │ │ │ └── modules/ │ │ │ ├── global-settings.vue │ │ │ └── watermark-settings.vue │ │ ├── layout/ │ │ │ ├── index.vue │ │ │ └── modules/ │ │ │ ├── content-settings.vue │ │ │ ├── footer-settings.vue │ │ │ ├── header-settings.vue │ │ │ ├── layout-mode.vue │ │ │ ├── sider-settings.vue │ │ │ └── tab-settings.vue │ │ └── preset/ │ │ ├── index.vue │ │ └── modules/ │ │ └── theme-preset.vue │ ├── locales/ │ │ ├── dayjs.ts │ │ ├── index.ts │ │ ├── langs/ │ │ │ ├── en-us.ts │ │ │ └── zh-cn.ts │ │ ├── locale.ts │ │ └── naive.ts │ ├── main.ts │ ├── plugins/ │ │ ├── app.ts │ │ ├── assets.ts │ │ ├── dayjs.ts │ │ ├── iconify.ts │ │ ├── index.ts │ │ ├── loading.ts │ │ └── nprogress.ts │ ├── router/ │ │ ├── elegant/ │ │ │ ├── imports.ts │ │ │ ├── routes.ts │ │ │ └── transform.ts │ │ ├── guard/ │ │ │ ├── index.ts │ │ │ ├── progress.ts │ │ │ ├── route.ts │ │ │ └── title.ts │ │ ├── index.ts │ │ └── routes/ │ │ ├── builtin.ts │ │ └── index.ts │ ├── service/ │ │ ├── api/ │ │ │ ├── auth.ts │ │ │ ├── index.ts │ │ │ └── route.ts │ │ └── request/ │ │ ├── index.ts │ │ ├── shared.ts │ │ └── type.ts │ ├── store/ │ │ ├── index.ts │ │ ├── modules/ │ │ │ ├── app/ │ │ │ │ └── index.ts │ │ │ ├── auth/ │ │ │ │ ├── index.ts │ │ │ │ └── shared.ts │ │ │ ├── route/ │ │ │ │ ├── index.ts │ │ │ │ └── shared.ts │ │ │ ├── tab/ │ │ │ │ ├── index.ts │ │ │ │ └── shared.ts │ │ │ └── theme/ │ │ │ ├── index.ts │ │ │ └── shared.ts │ │ └── plugins/ │ │ └── index.ts │ ├── styles/ │ │ ├── css/ │ │ │ ├── global.css │ │ │ ├── nprogress.css │ │ │ ├── reset.css │ │ │ └── transition.css │ │ └── scss/ │ │ ├── global.scss │ │ └── scrollbar.scss │ ├── theme/ │ │ ├── preset/ │ │ │ ├── azir.json │ │ │ ├── compact.json │ │ │ ├── dark.json │ │ │ └── default.json │ │ ├── settings.ts │ │ └── vars.ts │ ├── typings/ │ │ ├── api/ │ │ │ ├── auth.d.ts │ │ │ ├── common.d.ts │ │ │ └── route.d.ts │ │ ├── app.d.ts │ │ ├── common.d.ts │ │ ├── components.d.ts │ │ ├── elegant-router.d.ts │ │ ├── global.d.ts │ │ ├── naive-ui.d.ts │ │ ├── router.d.ts │ │ ├── storage.d.ts │ │ ├── union-key.d.ts │ │ └── vite-env.d.ts │ ├── utils/ │ │ ├── agent.ts │ │ ├── common.ts │ │ ├── icon.ts │ │ ├── service.ts │ │ └── storage.ts │ └── views/ │ ├── _builtin/ │ │ ├── 403/ │ │ │ └── index.vue │ │ ├── 404/ │ │ │ └── index.vue │ │ ├── 500/ │ │ │ └── index.vue │ │ ├── iframe-page/ │ │ │ └── [url].vue │ │ └── login/ │ │ ├── index.vue │ │ └── modules/ │ │ ├── bind-wechat.vue │ │ ├── code-login.vue │ │ ├── pwd-login.vue │ │ ├── register.vue │ │ └── reset-pwd.vue │ └── home/ │ ├── index.vue │ └── modules/ │ ├── card-data.vue │ ├── creativity-banner.vue │ ├── header-banner.vue │ ├── line-chart.vue │ ├── pie-chart.vue │ └── project-news.vue ├── tsconfig.json ├── uno.config.ts └── vite.config.ts
SYMBOL INDEX (461 symbols across 106 files)
FILE: build/config/proxy.ts
function createViteProxy (line 12) | function createViteProxy(env: Env.ImportMeta, enable: boolean) {
function createProxyItem (line 30) | function createProxyItem(item: App.Service.ServiceConfigItem, enableLog:...
FILE: build/config/time.ts
function getBuildTime (line 5) | function getBuildTime() {
FILE: build/plugins/devtools.ts
function setupDevtoolsPlugin (line 3) | function setupDevtoolsPlugin(viteEnv: Env.ImportMeta) {
FILE: build/plugins/html.ts
function setupHtmlPlugin (line 3) | function setupHtmlPlugin(buildTime: string) {
FILE: build/plugins/index.ts
function setupVitePlugins (line 12) | function setupVitePlugins(viteEnv: Env.ImportMeta, buildTime: string) {
FILE: build/plugins/router.ts
function setupElegantRouter (line 5) | function setupElegantRouter() {
FILE: build/plugins/unocss.ts
function setupUnocss (line 7) | function setupUnocss(viteEnv: Env.ImportMeta) {
FILE: build/plugins/unplugin.ts
function setupUnplugin (line 11) | function setupUnplugin(viteEnv: Env.ImportMeta) {
FILE: packages/alova/src/constant.ts
constant BACKEND_ERROR_CODE (line 2) | const BACKEND_ERROR_CODE = 'BACKEND_ERROR';
FILE: packages/alova/src/type.ts
type CustomAlovaConfig (line 3) | type CustomAlovaConfig<AG extends AlovaGenerics> = Omit<
type RequestOptions (line 11) | interface RequestOptions<AG extends AlovaGenerics> {
FILE: packages/axios/src/constant.ts
constant REQUEST_ID_KEY (line 2) | const REQUEST_ID_KEY = 'X-Request-Id';
constant BACKEND_ERROR_CODE (line 5) | const BACKEND_ERROR_CODE = 'BACKEND_ERROR';
FILE: packages/axios/src/index.ts
function createCommonRequest (line 17) | function createCommonRequest<
function createRequest (line 107) | function createRequest<ResponseData, ApiData, State extends Record<strin...
function createFlatRequest (line 142) | function createFlatRequest<ResponseData, ApiData, State extends Record<s...
FILE: packages/axios/src/options.ts
function createDefaultOptions (line 7) | function createDefaultOptions<
function createRetryOptions (line 33) | function createRetryOptions(config?: Partial<CreateAxiosDefaults>) {
function createAxiosConfig (line 43) | function createAxiosConfig(config?: Partial<CreateAxiosDefaults>) {
FILE: packages/axios/src/shared.ts
function getContentType (line 4) | function getContentType(config: InternalAxiosRequestConfig) {
function isHttpSuccess (line 15) | function isHttpSuccess(status: number) {
function isResponseJson (line 25) | function isResponseJson(response: AxiosResponse) {
function transformResponse (line 31) | async function transformResponse(response: AxiosResponse) {
function transformBlobToJson (line 47) | async function transformBlobToJson(response: AxiosResponse) {
function transformArrayBufferToJson (line 64) | async function transformArrayBufferToJson(response: AxiosResponse) {
FILE: packages/axios/src/type.ts
type ContentType (line 3) | type ContentType =
type ResponseTransform (line 11) | type ResponseTransform<Input = any, Output = any> = (input: Input) => Ou...
type RequestOption (line 13) | interface RequestOption<
type ResponseMap (line 71) | interface ResponseMap {
type ResponseType (line 78) | type ResponseType = keyof ResponseMap | 'json';
type MappedType (line 80) | type MappedType<R extends ResponseType, JsonType = any> = R extends keyo...
type CustomAxiosRequestConfig (line 84) | type CustomAxiosRequestConfig<R extends ResponseType = 'json'> = Omit<Ax...
type RequestInstanceCommon (line 88) | interface RequestInstanceCommon<State extends Record<string, unknown>> {
type RequestInstance (line 100) | interface RequestInstance<ApiData, State extends Record<string, unknown>...
type FlatResponseSuccessData (line 106) | type FlatResponseSuccessData<ResponseData, ApiData> = {
type FlatResponseFailData (line 112) | type FlatResponseFailData<ResponseData> = {
type FlatResponseData (line 118) | type FlatResponseData<ResponseData, ApiData> =
type FlatRequestInstance (line 122) | interface FlatRequestInstance<
FILE: packages/color/src/palette/antd.ts
function getAntDPaletteColorByIndex (line 27) | function getAntDPaletteColorByIndex(color: AnyColor, index: ColorIndex):...
function getAntDColorPalette (line 71) | function getAntDColorPalette(color: AnyColor, darkTheme = false, darkThe...
function getHue (line 96) | function getHue(hsv: HsvColor, i: number, isLight: boolean) {
function getSaturation (line 125) | function getSaturation(hsv: HsvColor, i: number, isLight: boolean) {
function getValue (line 162) | function getValue(hsv: HsvColor, i: number, isLight: boolean) {
FILE: packages/color/src/palette/index.ts
function getColorPalette (line 13) | function getColorPalette(color: AnyColor, recommended = false) {
function getPaletteColorByNumber (line 41) | function getPaletteColorByNumber(color: AnyColor, number: ColorPaletteNu...
FILE: packages/color/src/palette/recommend.ts
function getRecommendedColorPalette (line 16) | function getRecommendedColorPalette(color: string) {
function getRecommendedPaletteColorByNumber (line 44) | function getRecommendedPaletteColorByNumber(color: string, number: Color...
function getRecommendedColorPaletteFamily (line 57) | function getRecommendedColorPaletteFamily(color: string) {
function getNearestColorPaletteFamily (line 114) | function getNearestColorPaletteFamily(color: string, families: ColorPale...
FILE: packages/color/src/shared/colord.ts
function isValidColor (line 9) | function isValidColor(color: AnyColor) {
function getHex (line 13) | function getHex(color: AnyColor) {
function getRgb (line 17) | function getRgb(color: AnyColor) {
function getHsl (line 21) | function getHsl(color: AnyColor) {
function getHsv (line 25) | function getHsv(color: AnyColor) {
function getDeltaE (line 29) | function getDeltaE(color1: AnyColor, color2: AnyColor) {
function transformHslToHex (line 33) | function transformHslToHex(color: HslColor) {
function addColorAlpha (line 43) | function addColorAlpha(color: AnyColor, alpha: number) {
function mixColor (line 54) | function mixColor(firstColor: AnyColor, secondColor: AnyColor, ratio: nu...
function transformColorWithOpacity (line 65) | function transformColorWithOpacity(color: AnyColor, alpha: number, bgCol...
function isWhiteColor (line 89) | function isWhiteColor(color: AnyColor) {
FILE: packages/color/src/shared/name.ts
function getColorName (line 9) | function getColorName(color: string) {
FILE: packages/color/src/types/index.ts
type ColorPaletteNumber (line 6) | type ColorPaletteNumber = 50 | 100 | 200 | 300 | 400 | 500 | 600 | 700 |...
type ColorPalette (line 9) | type ColorPalette = {
type ColorPaletteFamily (line 21) | type ColorPaletteFamily = {
type ColorPaletteWithDelta (line 29) | type ColorPaletteWithDelta = ColorPalette & {
type ColorPaletteFamilyWithNearestPalette (line 34) | type ColorPaletteFamilyWithNearestPalette = ColorPaletteFamily & {
type ColorPaletteMatch (line 40) | type ColorPaletteMatch = ColorPaletteFamily & {
type ColorIndex (line 58) | type ColorIndex = 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11;
FILE: packages/hooks/src/use-boolean.ts
function useBoolean (line 8) | function useBoolean(initValue = false) {
FILE: packages/hooks/src/use-context.ts
function useContext (line 59) | function useContext<Arguments extends Array<any>, T>(
FILE: packages/hooks/src/use-count-down.ts
function useCountDown (line 10) | function useCountDown(initialSeconds: number) {
FILE: packages/hooks/src/use-loading.ts
function useLoading (line 8) | function useLoading(initValue = false) {
FILE: packages/hooks/src/use-request.ts
type HookRequestInstanceResponseSuccessData (line 15) | type HookRequestInstanceResponseSuccessData<ApiData> = {
type HookRequestInstanceResponseFailData (line 20) | type HookRequestInstanceResponseFailData<ResponseData> = {
type HookRequestInstanceResponseData (line 25) | type HookRequestInstanceResponseData<ResponseData, ApiData> = {
type HookRequestInstance (line 29) | interface HookRequestInstance<
function createHookRequest (line 45) | function createHookRequest<ResponseData, ApiData, State extends Record<s...
FILE: packages/hooks/src/use-svg-icon-render.ts
function useSvgIconRender (line 9) | function useSvgIconRender(SvgIcon: Component) {
FILE: packages/hooks/src/use-table.ts
type PaginationData (line 6) | interface PaginationData<T> {
type GetApiData (line 13) | type GetApiData<ApiData, Pagination extends boolean> = Pagination extend...
type Transform (line 15) | type Transform<ResponseData, ApiData, Pagination extends boolean> = (
type TableColumnCheckTitle (line 19) | type TableColumnCheckTitle = string | ((...args: any) => VNodeChild);
type TableColumnCheck (line 21) | type TableColumnCheck = {
type UseTableOptions (line 29) | interface UseTableOptions<ResponseData, ApiData, Column, Pagination exte...
function useTable (line 66) | function useTable<ResponseData, ApiData, Column, Pagination extends bool...
function getTableData (line 126) | function getTableData<ApiData, Pagination extends boolean>(
FILE: packages/materials/src/libs/admin-layout/shared.ts
constant LAYOUT_SCROLL_EL_ID (line 4) | const LAYOUT_SCROLL_EL_ID = '__SCROLL_EL_ID__';
constant LAYOUT_MAX_Z_INDEX (line 7) | const LAYOUT_MAX_Z_INDEX = 100;
function createLayoutCssVarsByCssVarsProps (line 14) | function createLayoutCssVarsByCssVarsProps(props: LayoutCssVarsProps) {
function createLayoutCssVars (line 36) | function createLayoutCssVars(props: AdminLayoutProps) {
FILE: packages/materials/src/libs/page-tab/shared.ts
constant ACTIVE_COLOR (line 5) | const ACTIVE_COLOR = '#1890ff';
function createCssVars (line 7) | function createCssVars(props: PageTabCssVarsProps) {
function createTabCssVars (line 20) | function createTabCssVars(primaryColor: string) {
FILE: packages/materials/src/types/index.ts
type AdminLayoutHeaderConfig (line 2) | interface AdminLayoutHeaderConfig {
type AdminLayoutTabConfig (line 18) | interface AdminLayoutTabConfig {
type AdminLayoutSiderConfig (line 40) | interface AdminLayoutSiderConfig {
type AdminLayoutContentConfig (line 80) | interface AdminLayoutContentConfig {
type AdminLayoutFooterConfig (line 96) | interface AdminLayoutFooterConfig {
type LayoutMode (line 135) | type LayoutMode = 'horizontal' | 'vertical';
type LayoutScrollMode (line 145) | type LayoutScrollMode = 'wrapper' | 'content';
type AdminLayoutProps (line 148) | interface AdminLayoutProps
type Kebab (line 212) | type Kebab<S extends string> = S extends Uncapitalize<S> ? S : `-${Uncap...
type KebabCase (line 214) | type KebabCase<S extends string> = S extends `${infer Start}${infer End}`
type Prefix (line 218) | type Prefix = '--soy-';
type LayoutCssVarsProps (line 220) | type LayoutCssVarsProps = Pick<
type LayoutCssVars (line 231) | type LayoutCssVars = {
type PageTabMode (line 243) | type PageTabMode = 'button' | 'chrome' | 'slider';
type PageTabProps (line 245) | interface PageTabProps {
type PageTabCssVarsProps (line 280) | type PageTabCssVarsProps = {
type PageTabCssVars (line 289) | type PageTabCssVars = {
FILE: packages/scripts/src/commands/changelog.ts
function genChangelog (line 4) | async function genChangelog(options?: Partial<ChangelogOption>, total = ...
FILE: packages/scripts/src/commands/cleanup.ts
function cleanup (line 3) | async function cleanup(paths: string[]) {
FILE: packages/scripts/src/commands/git-commit.ts
type PromptObject (line 8) | interface PromptObject {
function gitCommit (line 19) | async function gitCommit(lang: Lang = 'en-us') {
function gitCommitVerify (line 68) | async function gitCommitVerify(lang: Lang = 'en-us', ignores: RegExp[] =...
FILE: packages/scripts/src/commands/release.ts
function release (line 3) | async function release(execute = 'pnpm sa changelog', push = true) {
FILE: packages/scripts/src/commands/router.ts
type PromptObject (line 8) | interface PromptObject {
function generateRoute (line 15) | async function generateRoute() {
FILE: packages/scripts/src/commands/update-pkg.ts
function updatePkg (line 3) | async function updatePkg(args: string[] = ['--deep', '-u']) {
FILE: packages/scripts/src/config/index.ts
function loadCliOptions (line 29) | async function loadCliOptions(overrides?: Partial<CliOption>, cwd = proc...
FILE: packages/scripts/src/index.ts
type Command (line 8) | type Command = 'cleanup' | 'update-pkg' | 'git-commit' | 'git-commit-ver...
type CommandAction (line 10) | type CommandAction<A extends object> = (args?: A) => Promise<void> | void;
type CommandWithAction (line 12) | type CommandWithAction<A extends object = object> = Record<Command, { de...
type CommandArg (line 14) | interface CommandArg {
function setupCli (line 37) | async function setupCli() {
FILE: packages/scripts/src/locales/index.ts
type Lang (line 3) | type Lang = 'zh-cn' | 'en-us';
FILE: packages/scripts/src/shared/index.ts
function execCommand (line 3) | async function execCommand(cmd: string, args: string[], options?: Option...
FILE: packages/scripts/src/types/index.ts
type CliOption (line 3) | interface CliOption {
FILE: packages/uno-preset/src/index.ts
function presetSoybeanAdmin (line 6) | function presetSoybeanAdmin(): Preset<Theme> {
FILE: packages/utils/src/crypto.ts
class Crypto (line 3) | class Crypto<T extends object> {
method constructor (line 7) | constructor(secret: string) {
method encrypt (line 11) | encrypt(data: T): string {
method decrypt (line 17) | decrypt(encrypted: string) {
FILE: packages/utils/src/storage.ts
type StorageType (line 4) | type StorageType = 'local' | 'session';
function createStorage (line 6) | function createStorage<T extends object>(type: StorageType, storagePrefi...
type LocalForage (line 55) | type LocalForage<T extends object> = Omit<typeof localforage, 'getItem' ...
type LocalforageDriver (line 63) | type LocalforageDriver = 'local' | 'indexedDB' | 'webSQL';
function createLocalforage (line 65) | function createLocalforage<T extends object>(driver: LocalforageDriver) {
FILE: src/constants/app.ts
constant GLOBAL_HEADER_MENU_ID (line 3) | const GLOBAL_HEADER_MENU_ID = '__GLOBAL_HEADER_MENU__';
constant GLOBAL_SIDER_MENU_ID (line 5) | const GLOBAL_SIDER_MENU_ID = '__GLOBAL_SIDER_MENU__';
constant DARK_CLASS (line 61) | const DARK_CLASS = 'dark';
FILE: src/constants/reg.ts
constant REG_USER_NAME (line 1) | const REG_USER_NAME = /^[\u4E00-\u9FA5a-zA-Z0-9_-]{4,16}$/;
constant REG_PHONE (line 4) | const REG_PHONE =
constant REG_PWD (line 12) | const REG_PWD = /^\w{6,18}$/;
constant REG_EMAIL (line 15) | const REG_EMAIL = /^\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*$/;
constant REG_CODE_SIX (line 18) | const REG_CODE_SIX = /^\d{6}$/;
constant REG_CODE_FOUR (line 21) | const REG_CODE_FOUR = /^\d{4}$/;
constant REG_URL (line 24) | const REG_URL =
FILE: src/enum/index.ts
type SetupStoreId (line 1) | enum SetupStoreId {
FILE: src/hooks/business/auth.ts
function useAuth (line 3) | function useAuth() {
FILE: src/hooks/business/captcha.ts
function useCaptcha (line 6) | function useCaptcha() {
FILE: src/hooks/common/echarts.ts
type ECOption (line 35) | type ECOption = echarts.ComposeOption<
type ChartHooks (line 71) | interface ChartHooks {
function useEcharts (line 83) | function useEcharts<T extends ECOption>(optionsFactory: () => T, hooks: ...
FILE: src/hooks/common/form.ts
function useFormRules (line 7) | function useFormRules() {
function useNaiveForm (line 81) | function useNaiveForm() {
FILE: src/hooks/common/icon.ts
function useSvgIcon (line 4) | function useSvgIcon() {
FILE: src/hooks/common/router.ts
function useRouterPush (line 13) | function useRouterPush(inSetup = true) {
FILE: src/hooks/common/table.ts
type UseNaiveTableOptions (line 11) | type UseNaiveTableOptions<ResponseData, ApiData, Pagination extends bool...
constant SELECTION_KEY (line 27) | const SELECTION_KEY = '__selection__';
constant EXPAND_KEY (line 29) | const EXPAND_KEY = '__expand__';
function useNaiveTable (line 31) | function useNaiveTable<ResponseData, ApiData>(options: UseNaiveTableOpti...
type PaginationParams (line 67) | type PaginationParams = Pick<PaginationProps, 'page' | 'pageSize'>;
type UseNaivePaginatedTableOptions (line 69) | type UseNaivePaginatedTableOptions<ResponseData, ApiData> = UseNaiveTabl...
function useNaivePaginatedTable (line 80) | function useNaivePaginatedTable<ResponseData, ApiData>(
function useTableOperate (line 175) | function useTableOperate<TableData>(
function defaultTransform (line 233) | function defaultTransform<ApiData>(
function getColumnChecks (line 257) | function getColumnChecks<Column extends NaiveUI.TableColumn<any>>(
function getColumns (line 294) | function getColumns<Column extends NaiveUI.TableColumn<any>>(cols: Colum...
function isTableColumnHasKey (line 319) | function isTableColumnHasKey<T>(column: NaiveUI.TableColumn<T>): column ...
FILE: src/layouts/modules/global-menu/context/index.ts
function useMixMenu (line 11) | function useMixMenu() {
function useMenu (line 169) | function useMenu() {
FILE: src/locales/dayjs.ts
function setDayjsLocale (line 11) | function setDayjsLocale(lang: App.I18n.LangType = 'zh-CN') {
FILE: src/locales/index.ts
function setupI18n (line 18) | function setupI18n(app: App) {
function setLocale (line 24) | function setLocale(locale: App.I18n.LangType) {
function getLocale (line 30) | function getLocale(): App.I18n.LangType {
FILE: src/main.ts
function setupApp (line 10) | async function setupApp() {
FILE: src/plugins/app.ts
function setupAppErrorHandle (line 6) | function setupAppErrorHandle(app: App) {
function setupAppVersionNotification (line 13) | function setupAppVersionNotification() {
function getHtmlBuildTime (line 91) | async function getHtmlBuildTime(): Promise<string | null> {
FILE: src/plugins/dayjs.ts
function setupDayjs (line 5) | function setupDayjs() {
FILE: src/plugins/iconify.ts
function setupIconifyOffline (line 4) | function setupIconifyOffline() {
FILE: src/plugins/loading.ts
function setupLoading (line 8) | function setupLoading() {
function getLogoSvg (line 60) | function getLogoSvg() {
FILE: src/plugins/nprogress.ts
function setupNProgress (line 4) | function setupNProgress() {
FILE: src/router/elegant/transform.ts
function transformElegantRoutesToVueRoutes (line 16) | function transformElegantRoutesToVueRoutes(
function transformElegantRouteToVueRoute (line 30) | function transformElegantRouteToVueRoute(
function getRoutePath (line 178) | function getRoutePath<T extends RouteKey>(name: T) {
function getRouteName (line 186) | function getRouteName(path: RoutePath) {
FILE: src/router/guard/index.ts
function createRouterGuard (line 11) | function createRouterGuard(router: Router) {
FILE: src/router/guard/progress.ts
function createProgressGuard (line 3) | function createProgressGuard(router: Router) {
FILE: src/router/guard/route.ts
function createRouteGuard (line 13) | function createRouteGuard(router: Router) {
function initRoute (line 64) | async function initRoute(to: RouteLocationNormalized): Promise<RouteLoca...
function handleRouteSwitch (line 153) | function handleRouteSwitch(to: RouteLocationNormalized, from: RouteLocat...
function getRouteQueryOfLoginRoute (line 162) | function getRouteQueryOfLoginRoute(to: RouteLocationNormalized, routeHom...
FILE: src/router/guard/title.ts
function createDocumentTitleGuard (line 5) | function createDocumentTitleGuard(router: Router) {
FILE: src/router/index.ts
function setupRouter (line 26) | async function setupRouter(app: App) {
FILE: src/router/routes/builtin.ts
constant ROOT_ROUTE (line 5) | const ROOT_ROUTE: CustomRoute = {
constant NOT_FOUND_ROUTE (line 15) | const NOT_FOUND_ROUTE: CustomRoute = {
function createBuiltinVueRoutes (line 29) | function createBuiltinVueRoutes() {
FILE: src/router/routes/index.ts
function createStaticRoutes (line 14) | function createStaticRoutes() {
function getAuthVueRoutes (line 38) | function getAuthVueRoutes(routes: ElegantConstRoute[]) {
FILE: src/service/api/auth.ts
function fetchLogin (line 9) | function fetchLogin(userName: string, password: string) {
function fetchGetUserInfo (line 21) | function fetchGetUserInfo() {
function fetchRefreshToken (line 30) | function fetchRefreshToken(refreshToken: string) {
function fetchCustomBackendError (line 46) | function fetchCustomBackendError(code: string, msg: string) {
FILE: src/service/api/route.ts
function fetchGetConstantRoutes (line 4) | function fetchGetConstantRoutes() {
function fetchGetUserRoutes (line 9) | function fetchGetUserRoutes() {
function fetchIsRouteExist (line 18) | function fetchIsRouteExist(routeName: string) {
FILE: src/service/request/index.ts
method transform (line 25) | transform(response: AxiosResponse<App.Service.Response<any>>) {
method onRequest (line 28) | async onRequest(config) {
method isBackendSuccess (line 34) | isBackendSuccess(response) {
method onBackendFail (line 39) | async onBackendFail(response, instance) {
method onError (line 101) | onError(error) {
method transform (line 135) | transform(response: AxiosResponse<App.Service.DemoResponse>) {
method onRequest (line 138) | async onRequest(config) {
method isBackendSuccess (line 148) | isBackendSuccess(response) {
method onBackendFail (line 153) | async onBackendFail(_response) {
method onError (line 157) | onError(error) {
FILE: src/service/request/shared.ts
function getAuthorization (line 6) | function getAuthorization() {
function handleRefreshToken (line 14) | async function handleRefreshToken() {
function handleExpiredRequest (line 30) | async function handleExpiredRequest(state: RequestInstanceState) {
function showErrorMsg (line 44) | function showErrorMsg(state: RequestInstanceState, message: string) {
FILE: src/service/request/type.ts
type RequestInstanceState (line 1) | interface RequestInstanceState {
FILE: src/store/index.ts
function setupStore (line 6) | function setupStore(app: App) {
FILE: src/store/modules/app/index.ts
function reloadPage (line 39) | async function reloadPage(duration = 300) {
function changeLocale (line 65) | function changeLocale(lang: App.I18n.LangType) {
function updateDocumentTitleByLocale (line 72) | function updateDocumentTitleByLocale() {
function init (line 80) | function init() {
FILE: src/store/modules/auth/index.ts
function resetStore (line 42) | async function resetStore() {
function recordUserId (line 58) | function recordUserId() {
function checkTabClear (line 72) | function checkTabClear(): boolean {
function login (line 99) | async function login(userName: string, password: string, redirect = true) {
function loginByToken (line 131) | async function loginByToken(loginToken: Api.Auth.LoginToken) {
function getUserInfo (line 148) | async function getUserInfo() {
function initUserInfo (line 161) | async function initUserInfo() {
FILE: src/store/modules/auth/shared.ts
function getToken (line 4) | function getToken() {
function clearAuthStorage (line 9) | function clearAuthStorage() {
FILE: src/store/modules/route/index.ts
function setRouteHome (line 49) | function setRouteHome(routeKey: LastLevelRouteKey) {
function addConstantRoutes (line 56) | function addConstantRoutes(routes: ElegantConstRoute[]) {
function addAuthRoutes (line 69) | function addAuthRoutes(routes: ElegantConstRoute[]) {
function getGlobalMenus (line 86) | function getGlobalMenus(routes: ElegantConstRoute[]) {
function updateGlobalMenusByLocale (line 91) | function updateGlobalMenusByLocale() {
function getCacheRoutes (line 110) | function getCacheRoutes(routes: RouteRecordRaw[]) {
function resetRouteCache (line 120) | async function resetRouteCache(routeKey?: RouteKey) {
function resetStore (line 134) | async function resetStore() {
function resetVueRoutes (line 146) | function resetVueRoutes() {
function initConstantRoute (line 152) | async function initConstantRoute() {
function initAuthRoute (line 178) | async function initAuthRoute() {
function initStaticAuthRoute (line 194) | function initStaticAuthRoute() {
function initDynamicAuthRoute (line 211) | async function initDynamicAuthRoute() {
function handleConstantAndAuthRoutes (line 233) | function handleConstantAndAuthRoutes() {
function addRoutesToVueRouter (line 254) | function addRoutesToVueRouter(routes: RouteRecordRaw[]) {
function addRemoveRouteFn (line 266) | function addRemoveRouteFn(fn: () => void) {
function handleUpdateRootRouteRedirect (line 275) | function handleUpdateRootRouteRedirect(redirectKey: LastLevelRouteKey) {
function getIsAuthRouteExist (line 294) | async function getIsAuthRouteExist(routePath: RouteMap[RouteKey]) {
function getSelectedMenuKeyPath (line 316) | function getSelectedMenuKeyPath(selectedKey: string) {
function onRouteSwitchWhenLoggedIn (line 320) | async function onRouteSwitchWhenLoggedIn() {
function onRouteSwitchWhenNotLoggedIn (line 324) | async function onRouteSwitchWhenNotLoggedIn() {
FILE: src/store/modules/route/shared.ts
function filterAuthRoutesByRoles (line 12) | function filterAuthRoutesByRoles(routes: ElegantConstRoute[], roles: str...
function filterAuthRouteByRoles (line 22) | function filterAuthRouteByRoles(route: ElegantConstRoute, roles: string[...
function sortRouteByOrder (line 50) | function sortRouteByOrder(route: ElegantConstRoute) {
function sortRoutesByOrder (line 64) | function sortRoutesByOrder(routes: ElegantConstRoute[]) {
function getGlobalMenusByAuthRoutes (line 76) | function getGlobalMenusByAuthRoutes(routes: ElegantConstRoute[]) {
function updateLocaleOfGlobalMenus (line 99) | function updateLocaleOfGlobalMenus(menus: App.Global.Menu[]) {
function getGlobalMenuByBaseRoute (line 127) | function getGlobalMenuByBaseRoute(route: RouteLocationNormalizedLoaded |...
function getCacheRouteNames (line 152) | function getCacheRouteNames(routes: RouteRecordRaw[]) {
function isRouteExistByRouteName (line 173) | function isRouteExistByRouteName(routeName: RouteKey, routes: ElegantCon...
function recursiveGetIsRouteExistByRouteName (line 183) | function recursiveGetIsRouteExistByRouteName(route: ElegantConstRoute, r...
function getSelectedMenuKeyPathByKey (line 203) | function getSelectedMenuKeyPathByKey(selectedKey: string, menus: App.Glo...
function findMenuPath (line 227) | function findMenuPath(targetKey: string, menu: App.Global.Menu): string[...
function transformMenuToBreadcrumb (line 262) | function transformMenuToBreadcrumb(menu: App.Global.Menu) {
function getBreadcrumbsByRoute (line 282) | function getBreadcrumbsByRoute(
function transformMenuToSearchMenus (line 324) | function transformMenuToSearchMenus(menus: App.Global.Menu[], treeMap: A...
FILE: src/store/modules/tab/index.ts
function initHomeTab (line 38) | function initHomeTab() {
function setActiveTabId (line 53) | function setActiveTabId(id: string) {
function initTabStore (line 62) | function initTabStore(currentRoute: App.Global.TabRoute) {
function addTab (line 79) | function addTab(route: App.Global.TabRoute, active = true) {
function removeTab (line 98) | async function removeTab(tabId: string) {
function removeActiveTab (line 121) | async function removeActiveTab() {
function removeTabByRouteName (line 130) | async function removeTabByRouteName(routeName: RouteKey) {
function clearTabs (line 142) | async function clearTabs(excludes: string[] = []) {
function replaceTab (line 194) | async function replaceTab(key: RouteKey, options?: App.Global.RouterPush...
function switchRouteByTab (line 211) | async function switchRouteByTab(tab: App.Global.Tab) {
function clearLeftTabs (line 223) | async function clearLeftTabs(tabId: string) {
function clearRightTabs (line 237) | async function clearRightTabs(tabId: string) {
function fixTab (line 257) | function fixTab(tabId: string) {
function unfixTab (line 278) | function unfixTab(tabId: string) {
function setTabLabel (line 301) | function setTabLabel(label: string, tabId?: string) {
function resetTabLabel (line 317) | function resetTabLabel(tabId?: string) {
function isTabRetain (line 331) | function isTabRetain(tabId: string) {
function updateTabsByLocale (line 340) | function updateTabsByLocale() {
function cacheTabs (line 349) | function cacheTabs() {
FILE: src/store/modules/tab/shared.ts
function getAllTabs (line 12) | function getAllTabs(tabs: App.Global.Tab[], homeTab?: App.Global.Tab) {
function isFixedTab (line 33) | function isFixedTab(tab: App.Global.Tab) {
function getTabIdByRoute (line 42) | function getTabIdByRoute(route: App.Global.TabRoute) {
function getTabByRoute (line 62) | function getTabByRoute(route: App.Global.TabRoute) {
function getRouteIcons (line 93) | function getRouteIcons(route: App.Global.TabRoute) {
function getDefaultHomeTab (line 116) | function getDefaultHomeTab(router: Router, homeRouteName: LastLevelRoute...
function isTabInTabs (line 143) | function isTabInTabs(tabId: string, tabs: App.Global.Tab[]) {
function filterTabsById (line 153) | function filterTabsById(tabId: string, tabs: App.Global.Tab[]) {
function filterTabsByIds (line 163) | function filterTabsByIds(tabIds: string[], tabs: App.Global.Tab[]) {
function extractTabsByAllRoutes (line 173) | function extractTabsByAllRoutes(router: Router, tabs: App.Global.Tab[]) {
function getFixedTabs (line 186) | function getFixedTabs(tabs: App.Global.Tab[]) {
function getFixedTabIds (line 195) | function getFixedTabIds(tabs: App.Global.Tab[]) {
function reorderFixedTabs (line 206) | function reorderFixedTabs(tabs: App.Global.Tab[]) {
function updateTabsLabel (line 218) | function updateTabsLabel(tabs: App.Global.Tab[]) {
function updateTabByI18nKey (line 232) | function updateTabByI18nKey(tab: App.Global.Tab) {
function updateTabsByI18nKey (line 246) | function updateTabsByI18nKey(tabs: App.Global.Tab[]) {
function findTabByRouteName (line 256) | function findTabByRouteName(name: RouteKey, tabs: App.Global.Tab[]) {
FILE: src/store/modules/theme/index.ts
function resetStore (line 91) | function resetStore() {
function setThemeScheme (line 102) | function setThemeScheme(themeScheme: UnionKey.ThemeScheme) {
function setGrayscale (line 111) | function setGrayscale(isGrayscale: boolean) {
function setColourWeakness (line 120) | function setColourWeakness(isColourWeakness: boolean) {
function toggleThemeScheme (line 125) | function toggleThemeScheme() {
function updateThemeColors (line 143) | function updateThemeColors(key: App.Theme.ThemeColorKey, color: string) {
function setThemeLayout (line 164) | function setThemeLayout(mode: UnionKey.ThemeLayoutMode) {
function setupThemeVarsToGlobal (line 169) | function setupThemeVarsToGlobal() {
function setWatermarkEnableUserName (line 183) | function setWatermarkEnableUserName(enable: boolean) {
function setWatermarkEnableTime (line 196) | function setWatermarkEnableTime(enable: boolean) {
function setNaiveThemeOverrides (line 209) | function setNaiveThemeOverrides(overrides?: App.Theme.NaiveUIThemeOverri...
function updateWatermarkTimer (line 214) | function updateWatermarkTimer() {
function cacheThemeSettings (line 226) | function cacheThemeSettings() {
FILE: src/store/modules/theme/shared.ts
function initThemeSettings (line 11) | function initThemeSettings() {
function createThemeToken (line 42) | function createThemeToken(
function createThemePaletteColors (line 85) | function createThemePaletteColors(colors: App.Theme.ThemeColor, recommen...
function getCssVarByTokens (line 107) | function getCssVarByTokens(tokens: App.Theme.BaseToken) {
function addThemeVarsToGlobal (line 143) | function addThemeVarsToGlobal(tokens: App.Theme.BaseToken, darkTokens: A...
function toggleCssDarkMode (line 175) | function toggleCssDarkMode(darkMode = false) {
function toggleAuxiliaryColorModes (line 191) | function toggleAuxiliaryColorModes(grayscaleMode = false, colourWeakness...
type NaiveColorScene (line 198) | type NaiveColorScene = '' | 'Suppl' | 'Hover' | 'Pressed' | 'Active';
type NaiveColorKey (line 199) | type NaiveColorKey = `${App.Theme.ThemeColorKey}Color${NaiveColorScene}`;
type NaiveThemeColor (line 200) | type NaiveThemeColor = Partial<Record<NaiveColorKey, string>>;
type NaiveColorAction (line 201) | interface NaiveColorAction {
function getNaiveThemeColors (line 212) | function getNaiveThemeColors(colors: App.Theme.ThemeColor, recommended =...
function getNaiveTheme (line 243) | function getNaiveTheme(
FILE: src/store/plugins/index.ts
function resetSetupStore (line 10) | function resetSetupStore(context: PiniaPluginContext) {
FILE: src/theme/vars.ts
function createColorPaletteVars (line 2) | function createColorPaletteVars() {
FILE: src/typings/api/auth.d.ts
type LoginToken (line 8) | interface LoginToken {
type UserInfo (line 13) | interface UserInfo {
FILE: src/typings/api/common.d.ts
type PaginatingCommonParams (line 9) | interface PaginatingCommonParams {
type PaginatingQueryRecord (line 19) | interface PaginatingQueryRecord<T = any> extends PaginatingCommonParams {
type CommonSearchParams (line 24) | type CommonSearchParams = Pick<Common.PaginatingCommonParams, 'current' ...
type EnableStatus (line 32) | type EnableStatus = '1' | '2';
type CommonRecord (line 35) | type CommonRecord<T = any> = {
FILE: src/typings/api/route.d.ts
type ElegantConstRoute (line 8) | type ElegantConstRoute = import('@elegant-router/types').ElegantConstRoute;
type MenuRoute (line 10) | interface MenuRoute extends ElegantConstRoute {
type UserRoute (line 14) | interface UserRoute {
FILE: src/typings/app.d.ts
type ColorPaletteNumber (line 5) | type ColorPaletteNumber = import('@sa/color').ColorPaletteNumber;
type NaiveUIThemeOverride (line 8) | type NaiveUIThemeOverride = import('naive-ui').GlobalThemeOverrides;
type ThemeSetting (line 11) | interface ThemeSetting {
type OtherColor (line 138) | interface OtherColor {
type ThemeColor (line 145) | interface ThemeColor extends OtherColor {
type ThemeColorKey (line 149) | type ThemeColorKey = keyof ThemeColor;
type ThemePaletteColor (line 151) | type ThemePaletteColor = {
type BaseToken (line 155) | type BaseToken = Record<string, Record<string, string>>;
type ThemeSettingTokenColor (line 157) | interface ThemeSettingTokenColor {
type ThemeSettingTokenBoxShadow (line 166) | interface ThemeSettingTokenBoxShadow {
type ThemeSettingToken (line 172) | interface ThemeSettingToken {
type ThemeTokenColor (line 177) | type ThemeTokenColor = ThemePaletteColor & ThemeSettingTokenColor;
type ThemeTokenCSSVars (line 180) | type ThemeTokenCSSVars = {
type VNode (line 188) | type VNode = import('vue').VNode;
type RouteLocationNormalizedLoaded (line 189) | type RouteLocationNormalizedLoaded = import('vue-router').RouteLocationN...
type RouteKey (line 190) | type RouteKey = import('@elegant-router/types').RouteKey;
type RouteMap (line 191) | type RouteMap = import('@elegant-router/types').RouteMap;
type RoutePath (line 192) | type RoutePath = import('@elegant-router/types').RoutePath;
type LastLevelRouteKey (line 193) | type LastLevelRouteKey = import('@elegant-router/types').LastLevelRouteKey;
type RouterPushOptions (line 196) | type RouterPushOptions = {
type HeaderProps (line 203) | interface HeaderProps {
type Menu (line 213) | type Menu = {
type Breadcrumb (line 234) | type Breadcrumb = Omit<Menu, 'children'> & {
type TabRoute (line 239) | type TabRoute = Pick<RouteLocationNormalizedLoaded, 'name' | 'path' | 'm...
type Tab (line 243) | type Tab = {
type FormRule (line 285) | type FormRule = import('naive-ui').FormItemRule;
type DropdownKey (line 288) | type DropdownKey = 'closeCurrent' | 'closeOther' | 'closeLeft' | 'closeR...
type RouteKey (line 297) | type RouteKey = import('@elegant-router/types').RouteKey;
type LangType (line 299) | type LangType = 'en-US' | 'zh-CN';
type LangOption (line 301) | type LangOption = {
type I18nRouteKey (line 306) | type I18nRouteKey = Exclude<RouteKey, 'root' | 'not-found'>;
type FormMsg (line 308) | type FormMsg = {
type Schema (line 313) | type Schema = {
type GetI18nKey (line 591) | type GetI18nKey<T extends Record<string, unknown>, K extends keyof T = k...
type I18nKey (line 597) | type I18nKey = GetI18nKey<Schema>;
type TranslateOptions (line 599) | type TranslateOptions<Locales extends string> = import('vue-i18n').Trans...
type $T (line 601) | interface $T {
type OtherBaseURLKey (line 617) | type OtherBaseURLKey = 'demo';
type ServiceConfigItem (line 619) | interface ServiceConfigItem {
type OtherServiceConfigItem (line 626) | interface OtherServiceConfigItem extends ServiceConfigItem {
type ServiceConfig (line 631) | interface ServiceConfig extends ServiceConfigItem {
type SimpleServiceConfig (line 636) | interface SimpleServiceConfig extends Pick<ServiceConfigItem, 'baseURL'> {
type Response (line 641) | type Response<T = unknown> = {
type DemoResponse (line 651) | type DemoResponse<T = unknown> = {
FILE: src/typings/common.d.ts
type StrategicPattern (line 4) | interface StrategicPattern {
type Option (line 17) | type Option<K = string, M = string> = { value: K; label: M };
type YesOrNo (line 19) | type YesOrNo = 'Y' | 'N';
type RecordNullable (line 22) | type RecordNullable<T> = {
FILE: src/typings/components.d.ts
type GlobalComponents (line 14) | interface GlobalComponents {
FILE: src/typings/elegant-router.d.ts
type ElegantConstRoute (line 7) | type ElegantConstRoute = import('@elegant-router/vue').ElegantConstRoute;
type RouteLayout (line 12) | type RouteLayout = "base" | "blank";
type RouteMap (line 17) | type RouteMap = {
type RouteKey (line 31) | type RouteKey = keyof RouteMap;
type RoutePath (line 36) | type RoutePath = RouteMap[RouteKey];
type CustomRouteKey (line 41) | type CustomRouteKey = Extract<
type GeneratedRouteKey (line 50) | type GeneratedRouteKey = Exclude<RouteKey, CustomRouteKey>;
type FirstLevelRouteKey (line 55) | type FirstLevelRouteKey = Extract<
type CustomFirstLevelRouteKey (line 68) | type CustomFirstLevelRouteKey = Extract<
type LastLevelRouteKey (line 77) | type LastLevelRouteKey = Extract<
type CustomLastLevelRouteKey (line 90) | type CustomLastLevelRouteKey = Extract<
type SingleLevelRouteKey (line 99) | type SingleLevelRouteKey = FirstLevelRouteKey & LastLevelRouteKey;
type CustomSingleLevelRouteKey (line 104) | type CustomSingleLevelRouteKey = CustomFirstLevelRouteKey & CustomLastLe...
type FirstLevelRouteNotSingleKey (line 109) | type FirstLevelRouteNotSingleKey = Exclude<FirstLevelRouteKey, SingleLev...
type CustomFirstLevelRouteNotSingleKey (line 114) | type CustomFirstLevelRouteNotSingleKey = Exclude<CustomFirstLevelRouteKe...
type CenterLevelRouteKey (line 119) | type CenterLevelRouteKey = Exclude<GeneratedRouteKey, FirstLevelRouteKey...
type CustomCenterLevelRouteKey (line 124) | type CustomCenterLevelRouteKey = Exclude<CustomRouteKey, CustomFirstLeve...
type GetChildRouteKey (line 129) | type GetChildRouteKey<K extends RouteKey, T extends RouteKey = RouteKey>...
type SingleLevelRoute (line 138) | type SingleLevelRoute<K extends SingleLevelRouteKey = SingleLevelRouteKe...
type LastLevelRoute (line 149) | type LastLevelRoute<K extends GeneratedRouteKey> = K extends LastLevelRo...
type CenterLevelRoute (line 160) | type CenterLevelRoute<K extends GeneratedRouteKey> = K extends CenterLev...
type MultiLevelRoute (line 171) | type MultiLevelRoute<K extends FirstLevelRouteNotSingleKey = FirstLevelR...
type CustomSingleLevelRoute (line 183) | type CustomSingleLevelRoute<K extends CustomFirstLevelRouteKey = CustomF...
type CustomLastLevelRoute (line 194) | type CustomLastLevelRoute<K extends CustomRouteKey> = K extends CustomLa...
type CustomCenterLevelRoute (line 205) | type CustomCenterLevelRoute<K extends CustomRouteKey> = K extends Custom...
type CustomMultiLevelRoute (line 216) | type CustomMultiLevelRoute<K extends CustomFirstLevelRouteNotSingleKey =...
type CustomRoute (line 229) | type CustomRoute = CustomSingleLevelRoute | CustomMultiLevelRoute;
type GeneratedRoute (line 234) | type GeneratedRoute = SingleLevelRoute | MultiLevelRoute;
type ElegantRoute (line 239) | type ElegantRoute = GeneratedRoute | CustomRoute;
FILE: src/typings/global.d.ts
type Window (line 4) | interface Window {
FILE: src/typings/naive-ui.d.ts
type ThemeColor (line 2) | type ThemeColor = 'default' | 'error' | 'primary' | 'info' | 'success' |...
type Align (line 3) | type Align = 'stretch' | 'baseline' | 'start' | 'end' | 'center' | 'flex...
type DataTableBaseColumn (line 5) | type DataTableBaseColumn<T> = import('naive-ui').DataTableBaseColumn
type DataTableExpandColumn (line 6) | type DataTableExpandColumn<T> = import('naive-ui').DataTableExpandColumn
type DataTableSelectionColumn (line 7) | type DataTableSelectionColumn<T> = import('naive-ui').DataTableSelection...
type TableColumnGroup (line 8) | type TableColumnGroup<T> = import('naive-ui/es/data-table/src/interface'...
type TableColumnCheck (line 9) | type TableColumnCheck = import('@sa/hooks').TableColumnCheck;
type TableColumnFixed (line 10) | type TableColumnFixed = import('@sa/hooks').TableColumnCheck
type SetTableColumnKey (line 12) | type SetTableColumnKey<C, T> = Omit<C, 'key'> & { key: keyof T | (string...
type TableColumnWithKey (line 14) | type TableColumnWithKey<T> = SetTableColumnKey<DataTableBaseColumn<T>, T...
type TableColumn (line 16) | type TableColumn<T> = TableColumnWithKey<T> | DataTableSelectionColumn<T...
type TableOperateType (line 24) | type TableOperateType = 'add' | 'edit';
FILE: src/typings/router.d.ts
type RouteMeta (line 4) | interface RouteMeta {
FILE: src/typings/storage.d.ts
type Session (line 3) | interface Session {
type Local (line 12) | interface Local {
FILE: src/typings/union-key.d.ts
type LoginModule (line 12) | type LoginModule = 'pwd-login' | 'code-login' | 'register' | 'reset-pwd'...
type ThemeScheme (line 15) | type ThemeScheme = 'light' | 'dark' | 'auto';
type ThemeLayoutMode (line 26) | type ThemeLayoutMode =
type ThemeScrollMode (line 40) | type ThemeScrollMode = import('@sa/materials').LayoutScrollMode;
type ThemePageAnimateMode (line 43) | type ThemePageAnimateMode = 'fade' | 'fade-slide' | 'fade-bottom' | 'fad...
type ThemeTabMode (line 51) | type ThemeTabMode = import('@sa/materials').PageTabMode;
type UnoCssAnimateKey (line 54) | type UnoCssAnimateKey =
FILE: src/typings/vite-env.d.ts
type RouterHistoryMode (line 8) | type RouterHistoryMode = 'hash' | 'history' | 'memory';
type ImportMeta (line 12) | interface ImportMeta extends ImportMetaEnv {
type ImportMeta (line 116) | interface ImportMeta {
FILE: src/utils/agent.ts
function isPC (line 1) | function isPC() {
FILE: src/utils/common.ts
function transformRecordToOption (line 21) | function transformRecordToOption<T extends Record<string, string>>(recor...
function translateOptions (line 33) | function translateOptions(options: CommonType.Option<string, App.I18n.I1...
function toggleHtmlClass (line 45) | function toggleHtmlClass(className: string) {
FILE: src/utils/icon.ts
function getLocalIcons (line 1) | function getLocalIcons() {
FILE: src/utils/service.ts
function createServiceConfig (line 8) | function createServiceConfig(env: Env.ImportMeta) {
function getServiceBaseURL (line 49) | function getServiceBaseURL(env: Env.ImportMeta, isProxy: boolean) {
function createProxyPattern (line 69) | function createProxyPattern(key?: App.Service.OtherBaseURLKey) {
Condensed preview — 288 files, each showing path, character count, and a content snippet. Download the .json file or copy for the full structured content (937K chars).
[
{
"path": ".editorconfig",
"chars": 200,
"preview": "# Editor configuration, see http://editorconfig.org\n\nroot = true\n\n[*]\ncharset = utf-8\nindent_style = space\nindent_size ="
},
{
"path": ".gitattributes",
"chars": 234,
"preview": "\"*.vue\" eol=lf\n\"*.js\" eol=lf\n\"*.ts\" eol=lf\n\"*.jsx\" eol=lf\n\"*.tsx\" eol=lf\n\"*.mjs\" eol=lf\n\"*.json\" e"
},
{
"path": ".github/ISSUE_TEMPLATE/bug-report_cn.yaml",
"chars": 1594,
"preview": "name: 🐞 Bug提交\ndescription: 在使用软件或功能的过程中遇到了错误\ntitle: '[Bug]: '\nlabels: ['bug?']\n\nbody:\n - type: markdown\n attributes:"
},
{
"path": ".github/ISSUE_TEMPLATE/bug-report_en.yaml",
"chars": 2171,
"preview": "name: 🐞 Bug Report\ndescription: Encountered an error while using the software or feature\ntitle: '[Bug]: '\nlabels: ['bug?"
},
{
"path": ".github/ISSUE_TEMPLATE/feature_request_cn.yaml",
"chars": 1043,
"preview": "---\nname: 🚀 功能请求\ndescription: 提出一个想法以帮助我们改进W&B\ntitle: '[功能]: '\nlabels:\n - '功能请求'\n\nbody:\n - type: markdown\n attribut"
},
{
"path": ".github/ISSUE_TEMPLATE/feature_request_en.yaml",
"chars": 1510,
"preview": "---\nname: 🚀 Feature Request\ndescription: Suggest an idea to help us improve W&B\ntitle: '[Feature]: '\nlabels:\n - 'featur"
},
{
"path": ".github/PULL_REQUEST_TEMPLATE/pr_cn.md",
"chars": 734,
"preview": "首先,感谢你的贡献! 😄\n\n新特性请提交至 feature 分支,其余可提交至 main 分支。在一个维护者审核通过后合并。请确保填写以下 pull request 的信息,谢谢!~\n\n[[English Template / 英文模板]("
},
{
"path": ".github/PULL_REQUEST_TEMPLATE/pr_en.md",
"chars": 1614,
"preview": "First of all, thank you for your contribution! 😄\n\nNew feature please send pull request to feature branch, and rest to ma"
},
{
"path": ".github/workflows/linter.yml",
"chars": 601,
"preview": "---\nname: Lint Code\n\npermissions:\n contents: write\n\non:\n pull_request:\n branches: [main]\n\njobs:\n lint:\n name: L"
},
{
"path": ".github/workflows/opencode.yml",
"chars": 911,
"preview": "name: opencode\n\non:\n issue_comment:\n types: [created]\n pull_request_review_comment:\n types: [created]\n\njobs:\n o"
},
{
"path": ".github/workflows/release.yml",
"chars": 384,
"preview": "name: Release\n\npermissions:\n contents: write\n\non:\n push:\n tags:\n - 'v*'\n\njobs:\n release:\n runs-on: ubuntu-"
},
{
"path": ".gitignore",
"chars": 391,
"preview": "# Logs\nlogs\n*.log\nnpm-debug.log*\nyarn-debug.log*\nyarn-error.log*\npnpm-debug.log*\nlerna-debug.log*\n\nnode_modules\n.DS_Stor"
},
{
"path": ".npmrc",
"chars": 125,
"preview": "registry=https://registry.npmmirror.com/\nshamefully-hoist=true\nignore-workspace-root-check=true\nlink-workspace-packages="
},
{
"path": ".oxfmtrc.json",
"chars": 315,
"preview": "{\n \"ignorePatterns\": [\"src/typings/components.d.ts\", \"src/typings/elegant-router.d.ts\", \"src/router/elegant\"],\n \"print"
},
{
"path": ".oxlintrc.json",
"chars": 386,
"preview": "{\n \"categories\": {\n \"correctness\": \"error\",\n \"suspicious\": \"error\"\n },\n \"plugins\": [\"eslint\", \"typescript\", \"un"
},
{
"path": ".vscode/extensions.json",
"chars": 461,
"preview": "{\n \"recommendations\": [\n \"afzalsayed96.icones\",\n \"antfu.iconify\",\n \"antfu.unocss\",\n \"dbaeumer.vscode-eslint"
},
{
"path": ".vscode/launch.json",
"chars": 539,
"preview": "{\n \"version\": \"0.2.0\",\n \"configurations\": [\n {\n \"type\": \"chrome\",\n \"request\": \"launch\",\n \"name\": \"Vu"
},
{
"path": ".vscode/settings.json",
"chars": 611,
"preview": "{\n \"editor.codeActionsOnSave\": {\n \"source.fixAll.eslint\": \"explicit\",\n \"source.fixAll.oxc\": \"explicit\"\n },\n \"ed"
},
{
"path": "CHANGELOG.md",
"chars": 277208,
"preview": "# Changelog\n\n## [v2.1.0](https://github.com/soybeanjs/soybean-admin/compare/v2.0.2...v2.1.0) (2026-03-09)\n\n### &nb"
},
{
"path": "CHANGELOG.zh_CN.md",
"chars": 39073,
"preview": "# 更新日志\n\n## [v1.3.5](https://github.com/soybeanjs/soybean-admin/compare/v1.3.4...v1.3.5) (2024-09-07)\n\n### &n"
},
{
"path": "LICENSE",
"chars": 1064,
"preview": "MIT License\n\nCopyright (c) 2021 Soybean\n\nPermission is hereby granted, free of charge, to any person obtaining a copy\nof"
},
{
"path": "README.en_US.md",
"chars": 15716,
"preview": "<div align=\"center\">\n\t<img src=\"./public/favicon.svg\" width=\"160\" />\n\t<h1>SoybeanAdmin</h1>\n <span><a href=\"./README.md"
},
{
"path": "README.md",
"chars": 12709,
"preview": "<div align=\"center\">\n\t<img src=\"./public/favicon.svg\" width=\"160\" />\n\t<h1>SoybeanAdmin</h1>\n <span>中文 | <a href=\"./READ"
},
{
"path": "build/config/index.ts",
"chars": 49,
"preview": "export * from './proxy';\nexport * from './time';\n"
},
{
"path": "build/config/proxy.ts",
"chars": 1773,
"preview": "import type { ProxyOptions } from 'vite';\nimport { bgRed, bgYellow, green, lightBlue } from 'kolorist';\nimport { consola"
},
{
"path": "build/config/time.ts",
"chars": 303,
"preview": "import dayjs from 'dayjs';\nimport utc from 'dayjs/plugin/utc';\nimport timezone from 'dayjs/plugin/timezone';\n\nexport fun"
},
{
"path": "build/plugins/devtools.ts",
"chars": 245,
"preview": "import VueDevtools from 'vite-plugin-vue-devtools';\n\nexport function setupDevtoolsPlugin(viteEnv: Env.ImportMeta) {\n co"
},
{
"path": "build/plugins/html.ts",
"chars": 323,
"preview": "import type { Plugin } from 'vite';\n\nexport function setupHtmlPlugin(buildTime: string) {\n const plugin: Plugin = {\n "
},
{
"path": "build/plugins/index.ts",
"chars": 820,
"preview": "import type { PluginOption } from 'vite';\nimport vue from '@vitejs/plugin-vue';\nimport vueJsx from '@vitejs/plugin-vue-j"
},
{
"path": "build/plugins/router.ts",
"chars": 1103,
"preview": "import type { RouteMeta } from 'vue-router';\nimport ElegantVueRouter from '@elegant-router/vue/vite';\nimport type { Rout"
},
{
"path": "build/plugins/unocss.ts",
"chars": 956,
"preview": "import process from 'node:process';\nimport path from 'node:path';\nimport { presetIcons } from 'unocss';\nimport unocss fr"
},
{
"path": "build/plugins/unplugin.ts",
"chars": 1607,
"preview": "import process from 'node:process';\nimport path from 'node:path';\nimport type { PluginOption } from 'vite';\nimport { cre"
},
{
"path": "eslint.config.js",
"chars": 254,
"preview": "import { defineConfig } from '@soybeanjs/eslint-config-vue';\n\nexport default defineConfig({\n 'vue/component-name-in-tem"
},
{
"path": "index.html",
"chars": 402,
"preview": "<!doctype html>\n<html lang=\"zh-CN\">\n <head>\n <meta charset=\"UTF-8\" />\n <link rel=\"icon\" href=\"/favicon.svg\" />\n "
},
{
"path": "package.json",
"chars": 3105,
"preview": "{\n \"name\": \"soybean-admin\",\n \"version\": \"2.1.0\",\n \"description\": \"A fresh and elegant admin template, based on Vue3、V"
},
{
"path": "packages/alova/package.json",
"chars": 382,
"preview": "{\n \"name\": \"@sa/alova\",\n \"version\": \"2.1.0\",\n \"typesVersions\": {\n \"*\": {\n \"*\": [\n \"./src/*\"\n ]\n "
},
{
"path": "packages/alova/src/client.ts",
"chars": 30,
"preview": "export * from 'alova/client';\n"
},
{
"path": "packages/alova/src/constant.ts",
"chars": 85,
"preview": "/** the backend error code key */\nexport const BACKEND_ERROR_CODE = 'BACKEND_ERROR';\n"
},
{
"path": "packages/alova/src/fetch.ts",
"chars": 69,
"preview": "import adapterFetch from 'alova/fetch';\nexport default adapterFetch;\n"
},
{
"path": "packages/alova/src/index.ts",
"chars": 2887,
"preview": "import { createAlova } from 'alova';\nimport type { AlovaDefaultCacheAdapter, AlovaGenerics, AlovaGlobalCacheAdapter, Alo"
},
{
"path": "packages/alova/src/mock.ts",
"chars": 29,
"preview": "export * from '@alova/mock';\n"
},
{
"path": "packages/alova/src/type.ts",
"chars": 1686,
"preview": "import type { AlovaGenerics, AlovaOptions, AlovaRequestAdapter, Method, ResponseCompleteHandler } from 'alova';\n\nexport "
},
{
"path": "packages/alova/tsconfig.json",
"chars": 498,
"preview": "{\n \"compilerOptions\": {\n \"target\": \"ESNext\",\n \"jsx\": \"preserve\",\n \"lib\": [\"DOM\", \"ESNext\"],\n \"baseUrl\": \".\""
},
{
"path": "packages/axios/package.json",
"chars": 357,
"preview": "{\n \"name\": \"@sa/axios\",\n \"version\": \"2.1.0\",\n \"typesVersions\": {\n \"*\": {\n \"*\": [\n \"./src/*\"\n ]\n "
},
{
"path": "packages/axios/src/constant.ts",
"chars": 154,
"preview": "/** request id key */\nexport const REQUEST_ID_KEY = 'X-Request-Id';\n\n/** the backend error code key */\nexport const BACK"
},
{
"path": "packages/axios/src/index.ts",
"chars": 5377,
"preview": "import axios, { AxiosError } from 'axios';\nimport type { AxiosResponse, CreateAxiosDefaults, InternalAxiosRequestConfig "
},
{
"path": "packages/axios/src/options.ts",
"chars": 1667,
"preview": "import type { CreateAxiosDefaults } from 'axios';\nimport type { IAxiosRetryConfig } from 'axios-retry';\nimport { stringi"
},
{
"path": "packages/axios/src/shared.ts",
"chars": 2016,
"preview": "import type { AxiosHeaderValue, AxiosResponse, InternalAxiosRequestConfig } from 'axios';\nimport type { ResponseType } f"
},
{
"path": "packages/axios/src/type.ts",
"chars": 3886,
"preview": "import type { AxiosError, AxiosInstance, AxiosRequestConfig, AxiosResponse, InternalAxiosRequestConfig } from 'axios';\n\n"
},
{
"path": "packages/axios/tsconfig.json",
"chars": 498,
"preview": "{\n \"compilerOptions\": {\n \"target\": \"ESNext\",\n \"jsx\": \"preserve\",\n \"lib\": [\"DOM\", \"ESNext\"],\n \"baseUrl\": \".\""
},
{
"path": "packages/color/package.json",
"chars": 255,
"preview": "{\n \"name\": \"@sa/color\",\n \"version\": \"2.1.0\",\n \"typesVersions\": {\n \"*\": {\n \"*\": [\n \"./src/*\"\n ]\n "
},
{
"path": "packages/color/src/constant/index.ts",
"chars": 51,
"preview": "export * from './name';\nexport * from './palette';\n"
},
{
"path": "packages/color/src/constant/name.ts",
"chars": 43976,
"preview": "export const colorNames: [hex: string, name: string][] = [\n ['#000000', 'Black'],\n ['#000080', 'Navy Blue'],\n ['#0000"
},
{
"path": "packages/color/src/constant/palette.ts",
"chars": 10601,
"preview": "import type { ColorPaletteFamily } from '../types';\n\nexport const colorPalettes: ColorPaletteFamily[] = [\n {\n name: "
},
{
"path": "packages/color/src/index.ts",
"chars": 150,
"preview": "import { colorPalettes } from './constant';\n\nexport * from './palette';\nexport * from './shared';\nexport { colorPalettes"
},
{
"path": "packages/color/src/palette/antd.ts",
"chars": 4060,
"preview": "import type { AnyColor, HsvColor } from 'colord';\nimport { getHex, getHsv, isValidColor, mixColor } from '../shared';\nim"
},
{
"path": "packages/color/src/palette/index.ts",
"chars": 1476,
"preview": "import type { AnyColor } from 'colord';\nimport { getHex } from '../shared';\nimport type { ColorPaletteNumber } from '../"
},
{
"path": "packages/color/src/palette/recommend.ts",
"chars": 3852,
"preview": "import { getColorName, getDeltaE, getHsl, isValidColor, transformHslToHex } from '../shared';\nimport { colorPalettes } f"
},
{
"path": "packages/color/src/shared/colord.ts",
"chars": 2267,
"preview": "import { colord, extend } from 'colord';\nimport namesPlugin from 'colord/plugins/names';\nimport mixPlugin from 'colord/p"
},
{
"path": "packages/color/src/shared/index.ts",
"chars": 50,
"preview": "export * from './colord';\nexport * from './name';\n"
},
{
"path": "packages/color/src/shared/name.ts",
"chars": 951,
"preview": "import { colorNames } from '../constant';\nimport { getHex, getHsl, getRgb } from './colord';\n\n/**\n * Get color name\n *\n "
},
{
"path": "packages/color/src/types/index.ts",
"chars": 1454,
"preview": "/**\n * the color palette number\n *\n * the main color number is 500\n */\nexport type ColorPaletteNumber = 50 | 100 | 200 |"
},
{
"path": "packages/color/tsconfig.json",
"chars": 498,
"preview": "{\n \"compilerOptions\": {\n \"target\": \"ESNext\",\n \"jsx\": \"preserve\",\n \"lib\": [\"DOM\", \"ESNext\"],\n \"baseUrl\": \".\""
},
{
"path": "packages/hooks/package.json",
"chars": 264,
"preview": "{\n \"name\": \"@sa/hooks\",\n \"version\": \"2.1.0\",\n \"typesVersions\": {\n \"*\": {\n \"*\": [\n \"./src/*\"\n ]\n "
},
{
"path": "packages/hooks/src/index.ts",
"chars": 379,
"preview": "import useBoolean from './use-boolean';\nimport useLoading from './use-loading';\nimport useCountDown from './use-count-do"
},
{
"path": "packages/hooks/src/use-boolean.ts",
"chars": 460,
"preview": "import { ref } from 'vue';\n\n/**\n * Boolean\n *\n * @param initValue Init value\n */\nexport default function useBoolean(init"
},
{
"path": "packages/hooks/src/use-context.ts",
"chars": 2433,
"preview": "import { inject, provide } from 'vue';\n\n/**\n * Use context\n *\n * @example\n * ```ts\n * // there are three vue files: "
},
{
"path": "packages/hooks/src/use-count-down.ts",
"chars": 1863,
"preview": "import { computed, onScopeDispose, ref } from 'vue';\nimport { useRafFn } from '@vueuse/core';\n\n/**\n * A hook for impleme"
},
{
"path": "packages/hooks/src/use-loading.ts",
"chars": 311,
"preview": "import useBoolean from './use-boolean';\n\n/**\n * Loading\n *\n * @param initValue Init value\n */\nexport default function us"
},
{
"path": "packages/hooks/src/use-request.ts",
"chars": 2276,
"preview": "import { ref } from 'vue';\nimport type { Ref } from 'vue';\nimport { createFlatRequest } from '@sa/axios';\nimport type {\n"
},
{
"path": "packages/hooks/src/use-svg-icon-render.ts",
"chars": 966,
"preview": "import { h } from 'vue';\nimport type { Component } from 'vue';\n\n/**\n * Svg icon render hook\n *\n * @param SvgIcon Svg ico"
},
{
"path": "packages/hooks/src/use-table.ts",
"chars": 3450,
"preview": "import { computed, ref } from 'vue';\nimport type { Ref, VNodeChild } from 'vue';\nimport useBoolean from './use-boolean';"
},
{
"path": "packages/hooks/tsconfig.json",
"chars": 498,
"preview": "{\n \"compilerOptions\": {\n \"target\": \"ESNext\",\n \"jsx\": \"preserve\",\n \"lib\": [\"DOM\", \"ESNext\"],\n \"baseUrl\": \".\""
},
{
"path": "packages/materials/package.json",
"chars": 327,
"preview": "{\n \"name\": \"@sa/materials\",\n \"version\": \"2.1.0\",\n \"typesVersions\": {\n \"*\": {\n \"*\": [\n \"./src/*\"\n "
},
{
"path": "packages/materials/src/index.ts",
"chars": 303,
"preview": "import AdminLayout, { LAYOUT_MAX_Z_INDEX, LAYOUT_SCROLL_EL_ID } from './libs/admin-layout';\nimport PageTab from './libs/"
},
{
"path": "packages/materials/src/libs/admin-layout/index.module.css",
"chars": 1072,
"preview": "/* @type */\n\n.layout-header,\n.layout-header-placement {\n height: var(--soy-header-height);\n}\n\n.layout-header {\n z-inde"
},
{
"path": "packages/materials/src/libs/admin-layout/index.module.css.d.ts",
"chars": 615,
"preview": "declare const styles: {\n readonly 'layout-header': string;\n readonly 'layout-header-placement': string;\n readonly 'la"
},
{
"path": "packages/materials/src/libs/admin-layout/index.ts",
"chars": 188,
"preview": "import AdminLayout from './index.vue';\nimport { LAYOUT_MAX_Z_INDEX, LAYOUT_SCROLL_EL_ID } from './shared';\n\nexport defau"
},
{
"path": "packages/materials/src/libs/admin-layout/index.vue",
"chars": 6615,
"preview": "<script setup lang=\"ts\">\nimport { computed } from 'vue';\nimport type { AdminLayoutProps } from '../../types';\nimport { L"
},
{
"path": "packages/materials/src/libs/admin-layout/shared.ts",
"chars": 1842,
"preview": "import type { AdminLayoutProps, LayoutCssVars, LayoutCssVarsProps } from '../../types';\n\n/** The id of the scroll elemen"
},
{
"path": "packages/materials/src/libs/page-tab/button-tab.vue",
"chars": 1048,
"preview": "<script setup lang=\"ts\">\nimport type { PageTabProps } from '../../types';\nimport style from './index.module.css';\n\ndefin"
},
{
"path": "packages/materials/src/libs/page-tab/chrome-tab-bg.vue",
"chars": 860,
"preview": "<script setup lang=\"ts\">\ndefineOptions({\n name: 'ChromeTabBg'\n});\n</script>\n\n<template>\n <svg class=\"size-full\">\n <"
},
{
"path": "packages/materials/src/libs/page-tab/chrome-tab.vue",
"chars": 1338,
"preview": "<script setup lang=\"ts\">\nimport type { PageTabProps } from '../../types';\nimport ChromeTabBg from './chrome-tab-bg.vue';"
},
{
"path": "packages/materials/src/libs/page-tab/index.module.css",
"chars": 2147,
"preview": "/* @type */\n\n.button-tab {\n border-color: #e5e7eb;\n}\n\n.button-tab_dark {\n border-color: #ffffff3d;\n}\n\n.button-tab:hove"
},
{
"path": "packages/materials/src/libs/page-tab/index.module.css.d.ts",
"chars": 629,
"preview": "declare const styles: {\n readonly 'button-tab': string;\n readonly 'button-tab_dark': string;\n readonly 'button-tab_ac"
},
{
"path": "packages/materials/src/libs/page-tab/index.ts",
"chars": 60,
"preview": "import PageTab from './index.vue';\n\nexport default PageTab;\n"
},
{
"path": "packages/materials/src/libs/page-tab/index.vue",
"chars": 1912,
"preview": "<script setup lang=\"ts\">\nimport { computed } from 'vue';\nimport type { Component } from 'vue';\nimport type { PageTabMode"
},
{
"path": "packages/materials/src/libs/page-tab/shared.ts",
"chars": 1161,
"preview": "import { addColorAlpha, transformColorWithOpacity } from '@sa/color';\nimport type { PageTabCssVars, PageTabCssVarsProps "
},
{
"path": "packages/materials/src/libs/page-tab/slider-tab.vue",
"chars": 1016,
"preview": "<script setup lang=\"ts\">\nimport type { PageTabProps } from '../../types';\nimport style from './index.module.css';\n\ndefin"
},
{
"path": "packages/materials/src/libs/page-tab/svg-close.vue",
"chars": 679,
"preview": "<script setup lang=\"ts\">\ndefineOptions({\n name: 'SvgClose'\n});\n</script>\n\n<template>\n <div class=\":soy: relative h-16p"
},
{
"path": "packages/materials/src/libs/simple-scrollbar/index.ts",
"chars": 76,
"preview": "import SimpleScrollbar from './index.vue';\n\nexport default SimpleScrollbar;\n"
},
{
"path": "packages/materials/src/libs/simple-scrollbar/index.vue",
"chars": 325,
"preview": "<script setup lang=\"ts\">\nimport Simplebar from 'simplebar-vue';\nimport 'simplebar-vue/dist/simplebar.min.css';\n\ndefineOp"
},
{
"path": "packages/materials/src/types/index.ts",
"chars": 5656,
"preview": "/** Header config */\ninterface AdminLayoutHeaderConfig {\n /**\n * Whether header is visible\n *\n * @default true\n "
},
{
"path": "packages/materials/tsconfig.json",
"chars": 498,
"preview": "{\n \"compilerOptions\": {\n \"target\": \"ESNext\",\n \"jsx\": \"preserve\",\n \"lib\": [\"DOM\", \"ESNext\"],\n \"baseUrl\": \".\""
},
{
"path": "packages/scripts/bin.ts",
"chars": 45,
"preview": "#!/usr/bin/env tsx\n\nimport './src/index.ts';\n"
},
{
"path": "packages/scripts/package.json",
"chars": 523,
"preview": "{\n \"name\": \"@sa/scripts\",\n \"version\": \"2.1.0\",\n \"bin\": {\n \"sa\": \"./bin.ts\"\n },\n \"typesVersions\": {\n \"*\": {\n "
},
{
"path": "packages/scripts/src/commands/changelog.ts",
"chars": 345,
"preview": "import { generateChangelog, generateTotalChangelog } from '@soybeanjs/changelog';\nimport type { ChangelogOption } from '"
},
{
"path": "packages/scripts/src/commands/cleanup.ts",
"chars": 124,
"preview": "import { rimraf } from 'rimraf';\n\nexport async function cleanup(paths: string[]) {\n await rimraf(paths, { glob: true })"
},
{
"path": "packages/scripts/src/commands/git-commit.ts",
"chars": 2199,
"preview": "import path from 'node:path';\nimport { readFileSync } from 'node:fs';\nimport { prompt } from 'enquirer';\nimport { execCo"
},
{
"path": "packages/scripts/src/commands/index.ts",
"chars": 169,
"preview": "export * from './git-commit';\nexport * from './cleanup';\nexport * from './update-pkg';\nexport * from './changelog';\nexpo"
},
{
"path": "packages/scripts/src/commands/release.ts",
"chars": 292,
"preview": "import { versionBump } from 'bumpp';\n\nexport async function release(execute = 'pnpm sa changelog', push = true) {\n awai"
},
{
"path": "packages/scripts/src/commands/router.ts",
"chars": 2272,
"preview": "import process from 'node:process';\nimport path from 'node:path';\nimport { writeFile } from 'node:fs/promises';\nimport {"
},
{
"path": "packages/scripts/src/commands/update-pkg.ts",
"chars": 189,
"preview": "import { execCommand } from '../shared';\n\nexport async function updatePkg(args: string[] = ['--deep', '-u']) {\n execCom"
},
{
"path": "packages/scripts/src/config/index.ts",
"chars": 1060,
"preview": "import process from 'node:process';\nimport { loadConfig } from 'c12';\nimport type { CliOption } from '../types';\n\nconst "
},
{
"path": "packages/scripts/src/index.ts",
"chars": 3396,
"preview": "import { cac } from 'cac';\nimport { blue, lightGreen } from 'kolorist';\nimport { version } from '../package.json';\nimpor"
},
{
"path": "packages/scripts/src/locales/index.ts",
"chars": 3302,
"preview": "import { bgRed, green, red, yellow } from 'kolorist';\n\nexport type Lang = 'zh-cn' | 'en-us';\n\nexport const locales = {\n "
},
{
"path": "packages/scripts/src/shared/index.ts",
"chars": 263,
"preview": "import type { Options } from 'execa';\n\nexport async function execCommand(cmd: string, args: string[], options?: Options)"
},
{
"path": "packages/scripts/src/types/index.ts",
"chars": 744,
"preview": "import type { ChangelogOption } from '@soybeanjs/changelog';\n\nexport interface CliOption {\n /** The project root direct"
},
{
"path": "packages/scripts/tsconfig.json",
"chars": 514,
"preview": "{\n \"compilerOptions\": {\n \"target\": \"ESNext\",\n \"jsx\": \"preserve\",\n \"lib\": [\"DOM\", \"ESNext\"],\n \"baseUrl\": \".\""
},
{
"path": "packages/uno-preset/package.json",
"chars": 181,
"preview": "{\n \"name\": \"@sa/uno-preset\",\n \"version\": \"2.1.0\",\n \"typesVersions\": {\n \"*\": {\n \"*\": [\n \"./src/*\"\n "
},
{
"path": "packages/uno-preset/src/index.ts",
"chars": 1949,
"preview": "// @unocss-include\n\nimport type { Preset } from '@unocss/core';\nimport type { Theme } from '@unocss/preset-mini';\n\nexpor"
},
{
"path": "packages/uno-preset/tsconfig.json",
"chars": 498,
"preview": "{\n \"compilerOptions\": {\n \"target\": \"ESNext\",\n \"jsx\": \"preserve\",\n \"lib\": [\"DOM\", \"ESNext\"],\n \"baseUrl\": \".\""
},
{
"path": "packages/utils/package.json",
"chars": 383,
"preview": "{\n \"name\": \"@sa/utils\",\n \"version\": \"2.1.0\",\n \"typesVersions\": {\n \"*\": {\n \"*\": [\n \"./src/*\"\n ]\n "
},
{
"path": "packages/utils/src/crypto.ts",
"chars": 639,
"preview": "import CryptoJS from 'crypto-js';\n\nexport class Crypto<T extends object> {\n /** Secret */\n secret: string;\n\n construc"
},
{
"path": "packages/utils/src/index.ts",
"chars": 104,
"preview": "export * from './crypto';\nexport * from './storage';\nexport * from './nanoid';\nexport * from './klona';\n"
},
{
"path": "packages/utils/src/klona.ts",
"chars": 72,
"preview": "import { klona as jsonClone } from 'klona/json';\n\nexport { jsonClone };\n"
},
{
"path": "packages/utils/src/nanoid.ts",
"chars": 53,
"preview": "import { nanoid } from 'nanoid';\n\nexport { nanoid };\n"
},
{
"path": "packages/utils/src/storage.ts",
"chars": 2114,
"preview": "import localforage from 'localforage';\n\n/** The storage type */\nexport type StorageType = 'local' | 'session';\n\nexport f"
},
{
"path": "packages/utils/tsconfig.json",
"chars": 498,
"preview": "{\n \"compilerOptions\": {\n \"target\": \"ESNext\",\n \"jsx\": \"preserve\",\n \"lib\": [\"DOM\", \"ESNext\"],\n \"baseUrl\": \".\""
},
{
"path": "pnpm-workspace.yaml",
"chars": 27,
"preview": "packages:\n - 'packages/*'\n"
},
{
"path": "src/App.vue",
"chars": 1404,
"preview": "<script setup lang=\"ts\">\nimport { computed } from 'vue';\nimport { NConfigProvider, darkTheme } from 'naive-ui';\nimport t"
},
{
"path": "src/components/advanced/table-column-setting.vue",
"chars": 3603,
"preview": "<script setup lang=\"ts\" generic=\"T extends Record<string, unknown>, K = never\">\nimport { computed } from 'vue';\nimport {"
},
{
"path": "src/components/advanced/table-header-operation.vue",
"chars": 1706,
"preview": "<script setup lang=\"ts\">\nimport { $t } from '@/locales';\n\ndefineOptions({\n name: 'TableHeaderOperation'\n});\n\ninterface "
},
{
"path": "src/components/common/app-provider.vue",
"chars": 864,
"preview": "<script setup lang=\"ts\">\nimport { createTextVNode, defineComponent } from 'vue';\nimport { useDialog, useLoadingBar, useM"
},
{
"path": "src/components/common/dark-mode-container.vue",
"chars": 331,
"preview": "<script setup lang=\"ts\">\ndefineOptions({ name: 'DarkModeContainer' });\n\ninterface Props {\n inverted?: boolean;\n}\n\ndefin"
},
{
"path": "src/components/common/exception-base.vue",
"chars": 989,
"preview": "<script lang=\"ts\" setup>\nimport { computed } from 'vue';\nimport { useRouterPush } from '@/hooks/common/router';\nimport {"
},
{
"path": "src/components/common/full-screen.vue",
"chars": 438,
"preview": "<script setup lang=\"ts\">\nimport { $t } from '@/locales';\n\ndefineOptions({\n name: 'FullScreen'\n});\n\ninterface Props {\n "
},
{
"path": "src/components/common/icon-tooltip.vue",
"chars": 981,
"preview": "<script lang=\"ts\" setup>\nimport { computed, useSlots } from 'vue';\nimport type { PopoverPlacement } from 'naive-ui';\n\nde"
},
{
"path": "src/components/common/lang-switch.vue",
"chars": 1348,
"preview": "<script setup lang=\"ts\">\nimport { computed } from 'vue';\nimport { $t } from '@/locales';\n\ndefineOptions({\n name: 'LangS"
},
{
"path": "src/components/common/menu-toggler.vue",
"chars": 1130,
"preview": "<script lang=\"ts\" setup>\nimport { computed } from 'vue';\nimport { $t } from '@/locales';\n\ndefineOptions({ name: 'MenuTog"
},
{
"path": "src/components/common/pin-toggler.vue",
"chars": 515,
"preview": "<script lang=\"ts\" setup>\nimport { computed } from 'vue';\nimport { $t } from '@/locales';\n\ndefineOptions({ name: 'PinTogg"
},
{
"path": "src/components/common/reload-button.vue",
"chars": 390,
"preview": "<script setup lang=\"ts\">\nimport { $t } from '@/locales';\n\ndefineOptions({\n name: 'ReloadButton'\n});\n\ninterface Props {\n"
},
{
"path": "src/components/common/system-logo.vue",
"chars": 5534,
"preview": "<template>\n <div class=\"app-logo\">\n <svg\n width=\"100%\"\n height=\"100%\"\n version=\"1.1\"\n viewBox=\"0"
},
{
"path": "src/components/common/theme-schema-switch.vue",
"chars": 1160,
"preview": "<script setup lang=\"ts\">\nimport { computed } from 'vue';\nimport type { PopoverPlacement } from 'naive-ui';\nimport { $t }"
},
{
"path": "src/components/custom/better-scroll.vue",
"chars": 1346,
"preview": "<script setup lang=\"ts\">\nimport { computed, onMounted, ref, watch } from 'vue';\nimport { useElementSize } from '@vueuse/"
},
{
"path": "src/components/custom/button-icon.vue",
"chars": 1075,
"preview": "<script setup lang=\"ts\">\nimport type { PopoverPlacement } from 'naive-ui';\nimport { twMerge } from 'tailwind-merge';\n\nde"
},
{
"path": "src/components/custom/count-to.vue",
"chars": 1793,
"preview": "<script setup lang=\"ts\">\nimport { computed, nextTick, ref, watch } from 'vue';\nimport { TransitionPresets, useTransition"
},
{
"path": "src/components/custom/look-forward.vue",
"chars": 456,
"preview": "<script setup lang=\"ts\">\nimport { $t } from '@/locales';\n\ndefineOptions({\n name: 'LookForward'\n});\n</script>\n\n<template"
},
{
"path": "src/components/custom/soybean-avatar.vue",
"chars": 247,
"preview": "<script setup lang=\"ts\">\ndefineOptions({\n name: 'SoybeanAvatar'\n});\n</script>\n\n<template>\n <div class=\"size-72px overf"
},
{
"path": "src/components/custom/svg-icon.vue",
"chars": 1338,
"preview": "<script setup lang=\"ts\">\nimport { computed, useAttrs } from 'vue';\nimport { Icon } from '@iconify/vue';\n\ndefineOptions({"
},
{
"path": "src/components/custom/wave-bg.vue",
"chars": 2570,
"preview": "<script lang=\"ts\" setup>\nimport { computed } from 'vue';\nimport { getPaletteColorByNumber } from '@sa/color';\n\ndefineOpt"
},
{
"path": "src/constants/app.ts",
"chars": 3038,
"preview": "import { transformRecordToOption } from '@/utils/common';\n\nexport const GLOBAL_HEADER_MENU_ID = '__GLOBAL_HEADER_MENU__'"
},
{
"path": "src/constants/common.ts",
"chars": 262,
"preview": "import { transformRecordToOption } from '@/utils/common';\n\nexport const yesOrNoRecord: Record<CommonType.YesOrNo, App.I1"
},
{
"path": "src/constants/reg.ts",
"chars": 783,
"preview": "export const REG_USER_NAME = /^[\\u4E00-\\u9FA5a-zA-Z0-9_-]{4,16}$/;\n\n/** Phone reg */\nexport const REG_PHONE =\n /^[1]((["
},
{
"path": "src/enum/index.ts",
"chars": 143,
"preview": "export enum SetupStoreId {\n App = 'app-store',\n Theme = 'theme-store',\n Auth = 'auth-store',\n Route = 'route-store',"
},
{
"path": "src/hooks/business/auth.ts",
"chars": 433,
"preview": "import { useAuthStore } from '@/store/modules/auth';\n\nexport function useAuth() {\n const authStore = useAuthStore();\n\n "
},
{
"path": "src/hooks/business/captcha.ts",
"chars": 1392,
"preview": "import { computed } from 'vue';\nimport { useCountDown, useLoading } from '@sa/hooks';\nimport { REG_PHONE } from '@/const"
},
{
"path": "src/hooks/common/echarts.ts",
"chars": 5204,
"preview": "import { computed, effectScope, nextTick, onScopeDispose, shallowRef, watch } from 'vue';\nimport { useElementSize } from"
},
{
"path": "src/hooks/common/form.ts",
"chars": 2656,
"preview": "import { ref, toValue } from 'vue';\nimport type { ComputedRef, Ref } from 'vue';\nimport type { FormInst } from 'naive-ui"
},
{
"path": "src/hooks/common/icon.ts",
"chars": 224,
"preview": "import { useSvgIconRender } from '@sa/hooks';\nimport SvgIcon from '@/components/custom/svg-icon.vue';\n\nexport function u"
},
{
"path": "src/hooks/common/router.ts",
"chars": 2762,
"preview": "import { useRouter } from 'vue-router';\nimport type { RouteLocationRaw } from 'vue-router';\nimport type { RouteKey } fro"
},
{
"path": "src/hooks/common/table.ts",
"chars": 8206,
"preview": "import { computed, effectScope, onScopeDispose, reactive, shallowRef, watch } from 'vue';\nimport type { Ref } from 'vue'"
},
{
"path": "src/layouts/base-layout/index.vue",
"chars": 5069,
"preview": "<script setup lang=\"ts\">\nimport { computed, defineAsyncComponent } from 'vue';\nimport { AdminLayout, LAYOUT_SCROLL_EL_ID"
},
{
"path": "src/layouts/blank-layout/index.vue",
"chars": 233,
"preview": "<script setup lang=\"ts\">\nimport GlobalContent from '../modules/global-content/index.vue';\n\ndefineOptions({\n name: 'Blan"
},
{
"path": "src/layouts/modules/global-breadcrumb/index.vue",
"chars": 1562,
"preview": "<script setup lang=\"ts\">\nimport { createReusableTemplate } from '@vueuse/core';\nimport type { RouteKey } from '@elegant-"
},
{
"path": "src/layouts/modules/global-content/index.vue",
"chars": 1582,
"preview": "<script setup lang=\"ts\">\nimport { computed } from 'vue';\nimport { LAYOUT_SCROLL_EL_ID } from '@sa/materials';\nimport { u"
},
{
"path": "src/layouts/modules/global-footer/index.vue",
"chars": 360,
"preview": "<script setup lang=\"ts\">\ndefineOptions({\n name: 'GlobalFooter'\n});\n</script>\n\n<template>\n <DarkModeContainer class=\"h-"
},
{
"path": "src/layouts/modules/global-header/components/theme-button.vue",
"chars": 386,
"preview": "<script setup lang=\"ts\">\nimport { useAppStore } from '@/store/modules/app';\nimport { $t } from '@/locales';\n\ndefineOptio"
},
{
"path": "src/layouts/modules/global-header/components/user-avatar.vue",
"chars": 1924,
"preview": "<script setup lang=\"ts\">\nimport { computed } from 'vue';\nimport type { VNode } from 'vue';\nimport { useAuthStore } from "
},
{
"path": "src/layouts/modules/global-header/index.vue",
"chars": 2237,
"preview": "<script setup lang=\"ts\">\nimport { useFullscreen } from '@vueuse/core';\nimport { GLOBAL_HEADER_MENU_ID } from '@/constant"
},
{
"path": "src/layouts/modules/global-logo/index.vue",
"chars": 565,
"preview": "<script setup lang=\"ts\">\nimport { $t } from '@/locales';\n\ndefineOptions({\n name: 'GlobalLogo'\n});\n\ninterface Props {\n "
},
{
"path": "src/layouts/modules/global-menu/components/first-level-menu.vue",
"chars": 2896,
"preview": "<script setup lang=\"ts\">\nimport { computed } from 'vue';\nimport { createReusableTemplate } from '@vueuse/core';\nimport {"
},
{
"path": "src/layouts/modules/global-menu/context/index.ts",
"chars": 4971,
"preview": "import { computed, ref, watch } from 'vue';\nimport { useRoute } from 'vue-router';\nimport { useContext } from '@sa/hooks"
},
{
"path": "src/layouts/modules/global-menu/index.vue",
"chars": 1363,
"preview": "<script setup lang=\"ts\">\nimport { computed } from 'vue';\nimport type { Component } from 'vue';\nimport { useAppStore } fr"
},
{
"path": "src/layouts/modules/global-menu/modules/horizontal-menu.vue",
"chars": 715,
"preview": "<script setup lang=\"ts\">\nimport { GLOBAL_HEADER_MENU_ID } from '@/constants/app';\nimport { useRouteStore } from '@/store"
},
{
"path": "src/layouts/modules/global-menu/modules/top-hybrid-header-first.vue",
"chars": 2385,
"preview": "<script setup lang=\"ts\">\nimport { ref, watch } from 'vue';\nimport { useRoute } from 'vue-router';\nimport { SimpleScrollb"
},
{
"path": "src/layouts/modules/global-menu/modules/top-hybrid-sidebar-first.vue",
"chars": 1844,
"preview": "<script setup lang=\"ts\">\nimport type { RouteKey } from '@elegant-router/types';\nimport { GLOBAL_HEADER_MENU_ID, GLOBAL_S"
},
{
"path": "src/layouts/modules/global-menu/modules/vertical-hybrid-header-first.vue",
"chars": 5604,
"preview": "<script setup lang=\"ts\">\nimport { computed, ref, watch } from 'vue';\nimport { useRoute } from 'vue-router';\nimport type "
},
{
"path": "src/layouts/modules/global-menu/modules/vertical-menu.vue",
"chars": 1725,
"preview": "<script setup lang=\"ts\">\nimport { computed, ref, watch } from 'vue';\nimport { useRoute } from 'vue-router';\nimport { Sim"
},
{
"path": "src/layouts/modules/global-menu/modules/vertical-mix-menu.vue",
"chars": 4184,
"preview": "<script setup lang=\"ts\">\nimport { computed, ref, watch } from 'vue';\nimport { useRoute } from 'vue-router';\nimport { Sim"
},
{
"path": "src/layouts/modules/global-search/components/search-footer.vue",
"chars": 951,
"preview": "<script lang=\"ts\" setup>\nimport { $t } from '@/locales';\n\ndefineOptions({ name: 'SearchFooter' });\n</script>\n\n<template>"
},
{
"path": "src/layouts/modules/global-search/components/search-modal.vue",
"chars": 3591,
"preview": "<script lang=\"ts\" setup>\nimport { computed, ref, shallowRef } from 'vue';\nimport { useRouter } from 'vue-router';\nimport"
},
{
"path": "src/layouts/modules/global-search/components/search-result.vue",
"chars": 1404,
"preview": "<script lang=\"ts\" setup>\nimport { useThemeStore } from '@/store/modules/theme';\nimport { $t } from '@/locales';\n\ndefineO"
},
{
"path": "src/layouts/modules/global-search/index.vue",
"chars": 460,
"preview": "<script lang=\"ts\" setup>\nimport { useBoolean } from '@sa/hooks';\nimport { $t } from '@/locales';\nimport SearchModal from"
},
{
"path": "src/layouts/modules/global-sider/index.vue",
"chars": 1295,
"preview": "<script setup lang=\"ts\">\nimport { computed } from 'vue';\nimport { GLOBAL_SIDER_MENU_ID } from '@/constants/app';\nimport "
},
{
"path": "src/layouts/modules/global-tab/context-menu.vue",
"chars": 3278,
"preview": "<script setup lang=\"ts\">\nimport { computed } from 'vue';\nimport type { VNode } from 'vue';\nimport { useTabStore } from '"
},
{
"path": "src/layouts/modules/global-tab/index.vue",
"chars": 5967,
"preview": "<script setup lang=\"ts\">\nimport { nextTick, reactive, ref, watch } from 'vue';\nimport { useRoute } from 'vue-router';\nim"
},
{
"path": "src/layouts/modules/theme-drawer/components/layout-mode-card.vue",
"chars": 2444,
"preview": "<script setup lang=\"ts\">\nimport type { PopoverPlacement } from 'naive-ui';\nimport { themeLayoutModeRecord } from '@/cons"
},
{
"path": "src/layouts/modules/theme-drawer/components/setting-item.vue",
"chars": 419,
"preview": "<script setup lang=\"ts\">\ndefineOptions({\n name: 'SettingItem'\n});\n\ninterface Props {\n /** Label */\n label: string;\n}\n"
},
{
"path": "src/layouts/modules/theme-drawer/index.vue",
"chars": 1975,
"preview": "<script setup lang=\"ts\">\nimport { computed, ref } from 'vue';\nimport { useAppStore } from '@/store/modules/app';\nimport "
},
{
"path": "src/layouts/modules/theme-drawer/modules/appearance/index.vue",
"chars": 403,
"preview": "<script setup lang=\"ts\">\nimport ThemeSchema from './modules/theme-schema.vue';\nimport ThemeColor from './modules/theme-c"
},
{
"path": "src/layouts/modules/theme-drawer/modules/appearance/modules/theme-color.vue",
"chars": 2170,
"preview": "<script setup lang=\"ts\">\nimport { useThemeStore } from '@/store/modules/theme';\nimport { $t } from '@/locales';\nimport S"
},
{
"path": "src/layouts/modules/theme-drawer/modules/appearance/modules/theme-radius.vue",
"chars": 704,
"preview": "<script setup lang=\"ts\">\nimport { useThemeStore } from '@/store/modules/theme';\nimport { $t } from '@/locales';\nimport S"
},
{
"path": "src/layouts/modules/theme-drawer/modules/appearance/modules/theme-schema.vue",
"chars": 2322,
"preview": "<script setup lang=\"ts\">\nimport { computed } from 'vue';\nimport { themeSchemaRecord } from '@/constants/app';\nimport { u"
},
{
"path": "src/layouts/modules/theme-drawer/modules/config-operation.vue",
"chars": 1469,
"preview": "<script setup lang=\"ts\">\nimport { computed, onMounted, ref } from 'vue';\nimport Clipboard from 'clipboard';\nimport { use"
},
{
"path": "src/layouts/modules/theme-drawer/modules/general/index.vue",
"chars": 356,
"preview": "<script setup lang=\"ts\">\nimport GlobalSettings from './modules/global-settings.vue';\nimport WatermarkSettings from './mo"
},
{
"path": "src/layouts/modules/theme-drawer/modules/general/modules/global-settings.vue",
"chars": 933,
"preview": "<script setup lang=\"ts\">\nimport { useThemeStore } from '@/store/modules/theme';\nimport { $t } from '@/locales';\nimport S"
},
{
"path": "src/layouts/modules/theme-drawer/modules/general/modules/watermark-settings.vue",
"chars": 2310,
"preview": "<script setup lang=\"ts\">\nimport { computed } from 'vue';\nimport { watermarkTimeFormatOptions } from '@/constants/app';\ni"
},
{
"path": "src/layouts/modules/theme-drawer/modules/layout/index.vue",
"chars": 851,
"preview": "<script setup lang=\"ts\">\nimport { useThemeStore } from '@/store/modules/theme';\nimport LayoutMode from './modules/layout"
},
{
"path": "src/layouts/modules/theme-drawer/modules/layout/modules/content-settings.vue",
"chars": 2052,
"preview": "<script setup lang=\"ts\">\nimport { computed } from 'vue';\nimport { themePageAnimationModeOptions, themeScrollModeOptions "
},
{
"path": "src/layouts/modules/theme-drawer/modules/layout/modules/footer-settings.vue",
"chars": 1863,
"preview": "<script setup lang=\"ts\">\nimport { computed } from 'vue';\nimport { useThemeStore } from '@/store/modules/theme';\nimport {"
},
{
"path": "src/layouts/modules/theme-drawer/modules/layout/modules/header-settings.vue",
"chars": 1334,
"preview": "<script setup lang=\"ts\">\nimport { useThemeStore } from '@/store/modules/theme';\nimport { $t } from '@/locales';\nimport S"
},
{
"path": "src/layouts/modules/theme-drawer/modules/layout/modules/layout-mode.vue",
"chars": 2453,
"preview": "<script setup lang=\"ts\">\nimport { useAppStore } from '@/store/modules/app';\nimport { useThemeStore } from '@/store/modul"
},
{
"path": "src/layouts/modules/theme-drawer/modules/layout/modules/sider-settings.vue",
"chars": 2488,
"preview": "<script setup lang=\"ts\">\nimport { computed } from 'vue';\nimport { useThemeStore } from '@/store/modules/theme';\nimport {"
},
{
"path": "src/layouts/modules/theme-drawer/modules/layout/modules/tab-settings.vue",
"chars": 2071,
"preview": "<script setup lang=\"ts\">\nimport { themeTabModeOptions } from '@/constants/app';\nimport { useThemeStore } from '@/store/m"
},
{
"path": "src/layouts/modules/theme-drawer/modules/preset/index.vue",
"chars": 254,
"preview": "<script setup lang=\"ts\">\nimport ThemePreset from './modules/theme-preset.vue';\n\ndefineOptions({\n name: 'PresetSettings'"
},
{
"path": "src/layouts/modules/theme-drawer/modules/preset/modules/theme-preset.vue",
"chars": 4814,
"preview": "<script setup lang=\"ts\">\nimport { computed } from 'vue';\nimport { defu } from 'defu';\nimport { useThemeStore } from '@/s"
},
{
"path": "src/locales/dayjs.ts",
"chars": 436,
"preview": "import { locale } from 'dayjs';\nimport 'dayjs/locale/zh-cn';\nimport 'dayjs/locale/en';\nimport { localStg } from '@/utils"
},
{
"path": "src/locales/index.ts",
"chars": 696,
"preview": "import type { App } from 'vue';\nimport { createI18n } from 'vue-i18n';\nimport { localStg } from '@/utils/storage';\nimpor"
},
{
"path": "src/locales/langs/en-us.ts",
"chars": 12206,
"preview": "const local: App.I18n.Schema = {\n system: {\n title: 'SoybeanAdmin',\n updateTitle: 'System Version Update Notifica"
}
]
// ... and 88 more files (download for full content)
About this extraction
This page contains the full source code of the soybeanjs/soybean-admin GitHub repository, extracted and formatted as plain text for AI agents and large language models (LLMs). The extraction includes 288 files (867.0 KB), approximately 285.0k tokens, and a symbol index with 461 extracted functions, classes, methods, constants, and types. Use this with OpenClaw, Claude, ChatGPT, Cursor, Windsurf, or any other AI tool that accepts text input. You can copy the full output to your clipboard or download it as a .txt file.
Extracted by GitExtract — free GitHub repo to text converter for AI. Built by Nikandr Surkov.