Skip to content
| Marketplace
Sign in
Visual Studio Code>Other>BO OneAPINew to Visual Studio Code? Get it now.
BO OneAPI

BO OneAPI

ChenKang

|
1 install
| (0) | Free
扫描、匹配、生成并批量更新 BO 页面 API service
Installation
Launch VS Code Quick Open (Ctrl+P), paste the following command, and press enter.
Copied to clipboard
More Info

BO OneAPI

BO OneAPI 是面向 BO 前端项目的接口工作台,用于扫描页面中的请求调用、匹配 Teamup 接口定义,并生成或更新标准 api.ts 与 typings.d.ts。

主要功能

  • 扫描当前页面目录中的 api.ts、页面组件和 TypeScript 文件,识别 /api/ 请求。
  • 手动添加扫描不到的接口,并在重新扫描时保留有效的手动接口。
  • 匹配 Teamup 接口,补充请求参数、请求体和响应类型。
  • 生成 export default {} 格式的 API 对象,保持现有调用方式,例如 api.info(params)。
  • 更新当前目录中已经生成的 OneAPI 接口。
  • 更新 src/pages/**/api.ts 下所有已经生成的 OneAPI 接口。
  • 相同接口在多个页面出现时只请求一次,并同步更新所有生成位置。
  • 更新前比较 method、参数类型、请求体类型、响应类型和类型字段结构。
  • 只有 Teamup 明确确认接口不存在时才删除生成代码;网络异常和服务端错误会保留原代码。
  • 更新和生成过程显示实时进度、成功、未变化、无法判断、删除和失败结果。

使用前准备

插件请求 Teamup 时读取本机环境变量 OFFICE_TOKEN:

export OFFICE_TOKEN="你的 Office Token"

在 macOS 图形界面启动 VS Code 时,需要确保 VS Code 进程能够读取该环境变量。配置后请重新启动 VS Code。

使用方式

在 VS Code 资源管理器中右键页面目录,选择:

  • OneAPI: Open Workbench:打开当前目录工作台。
  • OneAPI: Open Approval Workbench:打开 Approval 工作台。

在工作台中填写 Teamup 服务名和分支后,可以执行:

  1. 重新扫描:重新读取当前目录中的请求调用。
  2. 匹配 Teamup:查询并匹配扫描到的接口。
  3. 生成选中接口:生成选中的接口及类型文件。
  4. 更新当前目录接口:只更新当前目录已有 @oneapi-id 的接口。
  5. 更新全部页面接口:更新 src/pages/**/api.ts 中已有 @oneapi-id 的接口。

未生成的接口不会被批量更新,也不会因为“更新全部页面接口”而自动生成。

生成结果

生成的 api.ts 使用以下结构:

import request from '@library/tools/request'

export default {
  // ONEAPI:BEGIN
  // @oneapi-id GET:/api/demo
  info: async (params: API.DemoRequest) => {
    return request<API.DemoResponse>('/api/demo', {
      method: 'GET',
      params,
    })
  },
  // ONEAPI:END
}

@oneapi-id 用于后续识别、更新和删除已经生成的接口。OneAPI 区域外的手写业务代码会被保留。

更新规则

以下变化会被标记为“已更新”:

  • method 或请求路径变化。
  • 参数、请求体或响应类型引用变化。
  • 类型字段新增、删除、重命名、类型变化或可选性变化。
  • 嵌套对象、数组元素或枚举结构变化。
  • any 变成具体类型。

函数名、接口描述、格式和字段顺序变化不会触发更新。如果历史类型无法可靠解析,插件会显示“无法判断”并保留原代码。

注意事项

  • 批量更新按接口串行请求,每条接口请求间隔 400 毫秒。
  • OFFICE_TOKEN 只从本机环境变量读取,不会写入生成文件。
  • Marketplace 发布使用的 Personal Access Token 只用于发布插件,与 OFFICE_TOKEN 无关。
  • 建议在发布前确认 package.json 中的 publisher 与 Marketplace Publisher ID 完全一致,包括大小写。
  • Contact us
  • Jobs
  • Privacy
  • Manage cookies
  • Terms of use
  • Trademarks
  • Your Privacy Choices
  • Consumer Health Privacy
© 2026 Microsoft