开始使用
通过 script 标签引入
使用 script 标签加载以下 js
javascript
https://g.alicdn.com/code/npm/@alife/teambition-jsapi/0.0.33/tb-jsapi.umd.js
文件概述
这是一个 Teambition JSAPI 库(版本 0.0.33),提供了与 Teambition 平台交互的 JavaScript API。
主要功能模块
1. 核心架构
-
事件系统(EventEmitter):提供了发布订阅模式的事件处理机制
-
消息通信系统:使用 postMessage 进行跨窗口通信
-
连接管理:维护与 Teambition 平台的连接状态
2. 主要 API 方法
基础功能
-
ready(callback)- 当 JSAPI 准备就绪时调用回调函数 -
getContext()- 获取当前上下文信息 -
getLocation()- 获取位置信息 -
getExtensionType()- 获取扩展类型
任务相关
-
getCurrentTask()- 获取当前任务 -
openTask(taskId, options)- 打开任务 -
openTaskCreator(options)- 打开任务创建器 -
openTaskPicker(options)- 打开任务选择器 -
getTaskBulkPayload()- 获取任务批量载荷 -
getTaskViewFilter()- 获取任务视图过滤器
字段相关
-
getCurrentField()- 获取当前字段 -
getCurrentFieldValue()- 获取当前字段值 -
getFieldValue()- 获取字段值 -
setFieldValue(value)- 设置字段值
用户交互
-
showToast(message, duration)- 显示提示信息 -
closeModal()- 关闭模态框 -
openLink(url)- 打开链接 -
openMemberSelector(options)- 打开成员选择器 -
openTemplatePicker(options)- 打开模板选择器 -
openProjectExporter(options)- 打开项目导出器
工具功能
-
getClipboardData()- 获取剪贴板数据 -
setClipboardData(data)- 设置剪贴板数据 -
requestAuthCode()- 请求授权码 -
redirect(url, options)- 重定向 -
refreshSchema()- 刷新架构 -
toggleLift(enable)- 切换提升功能
3. 技术特点
通信机制
-
使用 postMessage API 进行安全的跨窗口通信
-
实现了 SYN/ACK 握手协议确保连接可靠性
-
支持异步调用和超时处理
错误处理
-
完善的超时机制(默认 3 秒)
-
连接状态管理(closed/connecting/connected)
-
错误捕获和异常处理
兼容性
-
UMD 模块格式,支持多种加载方式
-
内置 Promise 和 Generator 函数支持
-
包含 UUID 生成工具函数
使用建议
这个库主要用于在 Teambition 平台内部开发扩展应用时使用。开发者可以通过这些 API:
-
获取当前任务、项目等上下文信息
-
操作用户界面(显示提示、打开弹窗等)
-
与其他 Teambition 功能模块交互
-
实现自定义的业务逻辑
由于代码是压缩版本,如果你需要更详细的某个方法的实现细节,我建议查看对应的源码版本或者官方文档。
