feat(micro-app): 插件 menu_items 支持 width 指定抽屉默认宽度

仅 inline/iframe 生效:≤100 按百分比,>100 按像素(最小 300),缺省 1200。同步 ai-kb 微应用概览。
This commit is contained in:
kuaifan 2026-10-01 13:03:08 +00:00
parent 8bb169b4d0
commit f586e83125
3 changed files with 5 additions and 2 deletions

View File

@ -18,7 +18,7 @@ negative:
- 微应用不是 DooTask 主程序代码,是独立插件提供
- 微应用与「应用商店(应用市场 / AppStore)」不是同一个东西,应用商店是用来安装它们的入口
- 不是所有微应用都被自动安装,未装时菜单不会出现
last_verified: v1.7.90
last_verified: v1.9.36
---
# 微应用是什么
@ -37,6 +37,7 @@ last_verified: v1.7.90
## 关键属性
- **登录态继承**:打开微应用时自动带上当前用户 token,无需再次登录
- **菜单注入**:插件通过 `microapp_menu` 接口或自带 `menu_items` 配置注册到 `location: application`、`application/admin` 或 `main/menu`
- **抽屉默认宽度**:插件在 `menu_items` 中可用 `width` 指定打开时抽屉的默认宽度,≤100 按百分比、>100 按像素(最小 300),不填默认 1200px,仅 `inline` / `iframe` 类型生效(`*_blank` 独立窗口不适用);用户仍可拖拽调整,小屏幕下始终全屏
- **显示条件**:受 `visible_to`(all / admin)与系统管理员身份共同控制
- **生命周期**:独立容器;主程序与微应用之间通过 nginx 反代和 token 鉴权交互

View File

@ -5,7 +5,7 @@
:key="key"
:open="app.isOpen"
:ref="`ref-${app.name}`"
:size="1200"
:size="app.width || 1200"
:options="app"
:windowType="windowType"
:forceCapsuleVisible="loadErrors[app.name] != null"

View File

@ -5399,6 +5399,7 @@ export default {
* - auto_dark_theme 是否自动适配深色主题 (true/false),默认 true
* - keep_alive 是否开启微应用保活 (true/false),默认 true
* - immersive 是否开启沉浸式模式 (true/false),默认 false
* - width 抽屉默认宽度(可选,number,仅 inline/iframe 生效,*_blank 独立窗口不适用);≤100 按百分比,>100 按 px(最小 300),缺省 1200
* - props 传递参数
* 更多说明详见 https://appstore.dootask.com/development/manual
*/
@ -5461,6 +5462,7 @@ export default {
auto_dark_theme: typeof data.auto_dark_theme == 'boolean' ? data.auto_dark_theme : true,
keep_alive: typeof data.keep_alive == 'boolean' ? data.keep_alive : true,
immersive: typeof data.immersive == 'boolean' ? data.immersive : false,
width: typeof data.width == 'number' && data.width > 0 ? (data.width > 100 ? Math.max(300, data.width) : data.width) : 0,
badge_clear_on_open: typeof data.badge_clear_on_open == 'boolean' ? data.badge_clear_on_open : false,
props: $A.isJson(data.props) ? data.props : {},
}