UNPKG

@lark-project/cli

Version:

飞书项目插件开发工具

28 lines (19 loc) 2.61 kB
# 仅上下文型点位速查(configuration / page / view) > **适用对象**:标准能力极单薄的三类点位——**`configuration` / `page` / `view`**。它们的开发 = 读一次当前点位上下文 + 写业务 UI,**没有多 API 组合坑 / 场景分支 / 协议链路**。其他点位走独立 doc 目录,见 [`../feature-code-plan.md`](../feature-code-plan.md) P2 的 doc 路径表。 ## 三点位是什么 | 点位 | 挂在哪 | 承载 | 绑定到 | |---|---|---|---| | **configuration** | 空间管理员 → 插件管理 → 某插件 → 点击"配置" 唤起的独立页面 | 插件级配置页(空间管理员填的插件开关/权限/字段分类等,由开发者自存,平台不存)| 空间(无工作项) | | **page** | 空间左侧一级导航 / 顶部导航 | 独立全屏页(空间级的管理页/列表页/数据大屏)| 空间(无工作项)| | **view** | 工作项列表页右上角"视图切换下拉" | 替换标准表格/看板视图的自定义渲染(feed / 地图 / 日历 …)| 空间 + 工作项类型 + 当前视图 | **配套决策**:需求要不要这三类? - 需求是**空间级独立页**(不绑工作项)→ `page` - 需求是**空间管理员的配置入口**(只给管理员看) → `configuration` - 需求是**基于某工作项类型的视图展示**(替换列表页视图模式)→ `view` ## 三类共享约束 - **禁止点位互串**`page.getContext()` / `view.getContext()` / `configuration.getContext()`**三个不同的 namespace**——在 `page` 点位代码里调 `view.getContext()` 会拿到 undefined。写代码前先确认当前 entry 文件对应的点位类型,调对应 namespace - **非响应式**`getContext()` 返回是一次性快照;`view` 场景里用户切了筛选条件,要想 UI 跟随需要组件本身重 mount,或走平台提供的订阅 API(当前 doc 未覆盖,走 MCP fallback 关键词 `view 筛选变化 订阅` / `视图 getContext 响应式`- **Configuration 不知道自己是谁**`ConfigurationFeatureContext` 只有 `spaceId`**无** `pluginId`——插件自身 id 不能从 context 读,要从打包注入/安装回调拿 - **spaceId 永远当 string 传**:即便看起来像数字,下游 API 参数都是 string ## 能拿到什么 id / 调什么 —— 走 MCP,本 doc 不罗列 `getContext` 返回的具体字段、以及"拿到某 id 能调什么 load / 跳转 / 存储"的直链,MCP 单查关键词即可(例 `view getContext 返回` / `空间 加载 API` / `navigation 打开工作项`),不预置到本 doc。