开始使用
通过 script 标签引入
使用 script 标签加载以下 js
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 功能模块交互
实现自定义的业务逻辑
由于代码是压缩版本,如果你需要更详细的某个方法的实现细节,我建议查看对应的源码版本或者官方文档。