680c965a27
新增: 多项目切换 + 业务平台 SSO 单点跳转
...
核心功能:
1. 多项目切换:header 新增 ProjectDropdown,切项目时自动刷新权限菜单
2. 业务平台 SSO:header 新增「业务平台」按钮,OAuth2 授权码流程无感跳转
3. SSO 回调:/sso-callback 页面接收业务平台跳回的 code,换 IoT token 登录
共享包改动:
- packages/stores:access store 新增 projectId 字段并加入持久化
- packages/effects/layouts:新增 ProjectDropdown 共享组件
apps/web-antd 改动:
- api/request.ts:
· project-id 请求头仅在非 null 时设置(避免 axios 把 null 序列化为字符串 "null")
· X-Client-Id 改读 VITE_APP_CLIENT_ID,允许多个壳应用各自声明
- api/core/sso.ts:ssoCallback 参数走 body,避免 code 出现在浏览器历史/nginx 日志
- api/system/project:新增项目 simple-list API
- constants/sso.ts:集中 IOT_CLIENT_ID/BIZ_CLIENT_ID 等常量;
generateOauthState 用 crypto.randomUUID 生成 state,替代不安全的 Math.random
- store/auth.ts:抽 completeLogin 公共收尾逻辑,新增 ssoLogin 复用
- views/_core/authentication/sso-callback.vue:SSO 回调页;
dev 模式保留时延日志,失败时通过 query 透给登录页
- router/routes/core.ts:/sso-callback 路由 + beforeEnter 守卫
(缺 code 直接拦回登录页,避免死循环)
- layouts/basic.vue:
· 以 ProjectDropdown 替换 TenantDropdown(列表拉取失败兜底隐藏)
· 切项目时调用 fetchUserInfo,避免菜单/权限陈旧
· 新增「业务平台」跳转按钮;state 写 sessionStorage,
生产缺 VITE_BIZ_BASE_URL 时显式报错而非静默回 localhost
· setInterval 在 onUnmounted 中清理
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com >
2026-04-24 11:40:03 +08:00
xingyu4j
e44f9a0aca
Merge branch 'main' of https://github.com/vbenjs/vue-vben-admin into dev
2025-11-24 11:47:31 +08:00
xingyu4j
bed52983a0
fix: lint
2025-11-17 12:15:14 +08:00
xingyu4j
44675a847c
Merge branch 'main' of https://github.com/vbenjs/vue-vben-admin into dev
2025-11-06 16:50:09 +08:00
Copilot
c7c39047de
feat: add theme-aware logo support via optional sourceDark configuration ( #6866 )
...
* Initial plan
* Initial exploration and setup
Co-authored-by: aonoa <32682251+aonoa@users.noreply.github.com >
* Add support for separate light and dark theme logos
Co-authored-by: aonoa <32682251+aonoa@users.noreply.github.com >
* Update documentation with dark theme logo configuration
Co-authored-by: aonoa <32682251+aonoa@users.noreply.github.com >
* feat: Add theme-aware logo support for authentication/login page
Co-authored-by: aonoa <32682251+aonoa@users.noreply.github.com >
* revert: .npmrc
Signed-off-by: aonoa <1991849113@qq.com >
---------
Signed-off-by: aonoa <1991849113@qq.com >
Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com >
Co-authored-by: aonoa <32682251+aonoa@users.noreply.github.com >
Co-authored-by: Li Kui <90845831+likui628@users.noreply.github.com >
Co-authored-by: aonoa <1991849113@qq.com >
2025-11-03 13:07:36 +08:00
Jin Mao
f8a7a0a9a2
chore: lint
2025-10-31 09:11:40 +08:00
zhongming4762
565be77e96
fix: resolve the issue of logout failure caused by the timezone store
2025-10-30 17:01:49 +08:00
zhongming4762
3eed51fd3e
feat: increase support for multiple time zones
...
* 优化实现方法
2025-10-29 20:03:21 +08:00
zhongming4762
4d713db546
feat: increase support for multiple time zones
...
* 优化实现方法
2025-10-29 19:47:10 +08:00
xingyu4j
48ec3e15ab
refactor: 将字典从store 移动到@vben/stores
2025-09-04 18:36:05 +08:00
xingyu4j
8fdbbfad22
Merge branch 'main' of https://github.com/vbenjs/vue-vben-admin into dev
2025-08-19 17:41:16 +08:00
vben
e147a9d2fd
chore: release 5.5.9
2025-08-16 22:16:02 +08:00
xingyu4j
8b89a32813
Merge branch 'main' of https://github.com/vbenjs/vue-vben-admin into dev
2025-07-29 15:21:32 +08:00
vben
1575619d53
chore: release v5.5.8
2025-07-19 22:19:50 +08:00
xingyu4j
b6075a6611
Merge branch 'main' of https://github.com/vbenjs/vue-vben-admin into dev
2025-06-04 13:49:25 +08:00
vben
b9aef618fe
chore: release 5.5.7
2025-06-04 05:33:06 +08:00
xingyu4j
be1889a0e0
Merge branch 'main' of https://github.com/vbenjs/vue-vben-admin into dev
2025-05-26 10:50:54 +08:00
LinaBell
ebef2c91e2
fix: tab cannot be displayed correctly after browser refresh ( #6256 )
2025-05-22 09:04:40 +08:00
xingyu4j
2f5758d4dd
Merge branch 'main' of https://github.com/vbenjs/vue-vben-admin into dev
2025-05-19 10:46:36 +08:00
ming4762
3d9dba965f
perf: perf the control logic of Tab ( #6220 )
...
* perf: perf the control logic of Tab
* 每个标签页Tab使用唯一的key来控制关闭打开等逻辑
* 统一函数获取tab的key
* 通过3种方式设置tab key:1、使用router query参数pageKey 2、使用路由meta参数fullPathKey设置使用fullPath或path作为key
* 单个路由可以打开多个标签页
* 如果设置fullPathKey为false,则query变更不会打开新的标签(这很实用)
* perf: perf the control logic of Tab
* perf: perf the control logic of Tab
* 测试用例适配
* perf: perf the control logic of Tab
* 解决AI提示的警告
2025-05-18 10:33:02 +08:00
XiaoHetitu
cf17a45d8d
feat(tabs): 支持计算属性作为标签标题,解决 #6170 的问题 ( #6163 )
...
* feat(tabs): 支持动态函数作为标签标题
修改 `setTabTitle` 和 `tabsView` 逻辑,允许传入函数作为标签标题,以便动态生成标题内容
* feat(tabbar): 添加动态设置标签页标题功能
允许设置静态字符串或动态函数作为标签标题,支持根据状态或语言变化动态更新标题
* refactor(tabs): 移除冗余的newTabTitle2变量并优化标题设置逻辑
移除tabs组件中冗余的newTabTitle2变量,直接使用newTabTitle作为标题来源。同时,优化use-tabs和tabbar模块的标题设置逻辑,支持ComputedRef作为动态标题,提升代码简洁性和可维护性。
---------
Co-authored-by: yuanwj <ywj6792341@qq.com >
2025-05-16 09:37:50 +08:00
xingyu4j
99c848a39d
Merge branch 'main' of https://github.com/vbenjs/vue-vben-admin into dev
2025-05-14 11:54:29 +08:00
anyup
9e67929ee7
feat: support to refresh the tab page by route name ( #6153 )
...
Co-authored-by: anyup <anyupxing@163.com >
2025-05-10 22:33:31 +08:00
xingyu4j
6a1317908a
Merge branch 'main' of https://github.com/vbenjs/vue-vben-admin into dev
2025-05-06 23:51:36 +08:00
vben
cc6c9bf7a0
chore: release v5.5.6
2025-05-06 22:32:58 +08:00
YunaiV
9f8e7533fb
fix:租户切换首次无法加载的问题
2025-05-06 22:22:32 +08:00
xingyu4j
bd02645e26
perf: 优化 租户切换
2025-05-06 15:44:31 +08:00
xingyu4j
64ee81c327
feat: 增加切换租户功能
2025-05-06 14:11:46 +08:00
xingyu4j
50d028f6b8
Merge branch 'main' of https://github.com/vbenjs/vue-vben-admin into dev
2025-04-28 10:06:29 +08:00
vben
7c7051a11e
chore: release v5.5.5
2025-04-27 21:45:10 +08:00
Netfan
aa27a2f7a1
feat: encrypt the privacy data when it is persisted ( #6056 )
...
* 对私密数据持久化时执行加密
* 将锁屏密码合并到accessStore中进行加密
2025-04-27 20:59:10 +08:00
YunaiV
c0a92a5694
refactor:基于 lint 处理排版(框架层面)
2025-04-22 22:17:41 +08:00
YunaiV
1662598488
feat:增加 user 的 email、username 的展示
2025-04-19 19:45:35 +08:00
Jin Mao
3f4e878e69
feat(tabbar): 添加右键菜单过滤功能 ( #5820 )
2025-03-31 11:09:36 +08:00
Jin Mao
df6341f0b8
feat(tabbar): 添加右键菜单过滤功能 ( #5820 )
2025-03-30 16:23:24 +08:00
YunaiV
265a7941e2
refactor: 移除 userInfo 里面,多余的 realName、roles 树形
2025-03-28 19:59:06 +08:00
vben
7a0354f4a8
chore: release 5.5.4
2025-03-26 22:51:07 +08:00
YunaiV
c881a47ffd
refactor: 【web-ant】重构认证模块并移除未使用的组件和功能【0fed9472】(剩余 request、present)
2025-03-26 07:36:12 +08:00
YunaiV
c2358e2132
feat: request && login && router【e6939e22】(login.vue 和 request.ts 增加租户的选择)
2025-03-20 23:12:55 +08:00
YunaiV
3c3886e345
feat: request && login && router【e6939e22】(不包括 login.vue 和 request.ts)
2025-03-20 12:34:02 +08:00
vben
b92ac5c36d
chore: release 5.5.4
2025-03-18 21:43:27 +08:00
Netfan
5262233312
feat: tabbar support max count limit ( #5490 )
...
* 标签栏支持限制打开的最大数量
2025-02-06 19:33:10 +08:00
vben
195ceec9b4
chore: release 5.5.3
2025-01-21 22:07:55 +08:00
Vben
081d2aed23
perf: format code with better style ( #5283 )
2025-01-01 11:39:49 +08:00
vben
07c4ad05f4
chore: release 5.5.2
2024-12-28 22:15:00 +08:00
Netfan
0f756503ff
feat: add demo for modify menu badge data
2024-12-16 12:45:07 +08:00
vben
cbca9ffd95
chore: release 5.5.1
2024-12-12 22:47:11 +08:00
vben
7ab00250bf
chore: release 5.5.0
2024-12-04 22:57:27 +08:00
vben
c8dd9bbf0b
chore: release 5.4.8
2024-11-24 22:00:41 +08:00
vben
788a29a8cb
chore: release v5.4.7
2024-11-14 22:15:46 +08:00