0.7.1-alpha.6 • Published 1 year ago

tb-apps-sdk v0.7.1-alpha.6

Weekly downloads
8
License
MIT
Repository
github
Last release
1 year ago

Coverage Status CircleCI

tb-apps-sdk

Teambition Host Environment API Bridge

How to build

npm run build

How to publish

npm run publish_sdk

For Plugin

// in plugin
import { callService } from 'tb-apps-sdk'

callService({ isCI: true, method: 'essage', params: { /* 参数 */ } })

openDetail

callService({ origin: PLUGIN_ORIGIN, method: 'open', params: { _id: TASKID }, toOrigin: TARGET_ORIGIN_ADDRESS })

// TARGET_ORIGIN_ADDRESS e.g. www.teambition.com 或者 其他部署地址 或者 通配符 *
// PLUGIN_ORIGIN e.g. 当前页面的 origin 可以使用 document.origin

For Other Environment

3rd-part

// in 3rd env (e.g. Dashboard)
import { sdk } from 'sdk'
import { AppSDK } from 'tb-apps-sdk'
import { hostAPI } from 'tb-apps-sdk/api/internal'

const webApp = AppSDK.fork(hostAPI)
webApp.init()

sdk.fetch.getTask().subscribe(task => {
  webApp.openDetail('task', task._id)
})

Platform

// in host env (e.g. web)
import { RemoteSchema } from 'tb-apps-sdk'
import { InternalAPI } from 'tb-apps-sdk/api/internal'

class PlatformAPI implements RemoteSchema<InternalAPI> {

  openDetail() {
    // ...
  }

}

How to mock

import { AppSDK } from 'tb-apps-sdk'
import { InternalAPI } from 'tb-apps-sdk/api/internal'
import { factory } from 'tb-apps-sdk/api/base'

class MockAPI implements InternalAPI {

  openDetail(...params: any[]) {
    console.log('Method openDetail was called.', params)
  }

}

const mockAPI = (sdk: AppSDK) => {
  return factory(sdk, MockAPI)
}

const mockEnv = AppSDK.fork(mockAPI)
mockEnv.openDetail()

Interface

Function: callService = (data: IframeMessageType) => void
Interface: IframeMessageType
属性说明类型默认值
method指定调用的方法string-
params指定调用的方法的参数any-
isCI是否是 CI 环境boolean/
originfromOriginstring-
toOrigin反向通讯的地址string/
onSuccess执行成功后的回调() => void/
onError执行失败后的回调({ error }) => void/
Class: AppSDK
  • Static Method: AppSDK.fork<T, K>(service, onPush, requestTimeout, connectTimeout)
属性说明类型默认值
service指定装载的宿主 API 配置容器(sdk: AppSDK) => T-
onPush指定宿主环境主动推送时的回调(data: K) => void-
requestTimeout指定远端调用最大超时时间number10000
connectTimeout指定远端连接最大超时时间number60000

License

MIT

0.7.1-alpha.6

1 year ago

0.7.1-alpha.5

1 year ago

0.7.1-alpha.2

2 years ago

0.7.1-alpha.3

2 years ago

0.7.1-alpha.0

2 years ago

0.8.0-alpha.0

2 years ago

0.7.0

3 years ago

0.6.12

4 years ago

0.6.13

4 years ago

0.6.15-alpha.0

4 years ago

0.6.11-extension

5 years ago

0.6.11

5 years ago

0.6.10

5 years ago

0.6.10-alpha.1

5 years ago

0.6.10-alpha.0

5 years ago

0.6.9-alpha.0

5 years ago

0.6.9

5 years ago

0.6.8

5 years ago

0.6.7

5 years ago

0.6.5-lerna.1

5 years ago

0.6.5-lerna.0

5 years ago

0.6.7-alpha.1

5 years ago

0.6.7-alpha.0

5 years ago

0.6.6

5 years ago

0.6.6-alpha.7

5 years ago

0.6.6-alpha.6

5 years ago

0.6.6-alpha.5

5 years ago

0.6.6-alpha.4

5 years ago

0.6.6-alpha.3

5 years ago

0.6.6-alpha.2

5 years ago

0.6.6-alpha.1

5 years ago

0.6.6-alpha.0

5 years ago

0.6.5

6 years ago

0.6.5-alpha.1

6 years ago

0.6.5-alpha.0

6 years ago

0.6.4

6 years ago

0.6.3

6 years ago

0.6.2

6 years ago

0.6.1-alpha.0

6 years ago

0.6.1

6 years ago

0.6.0

6 years ago

0.6.0-alpha.7

6 years ago

0.6.0-alpha.6

6 years ago

0.6.0-alpha.5

6 years ago

0.6.0-alpha.4

6 years ago

0.6.0-alpha.3

6 years ago

0.6.0-alpha.2

6 years ago

0.6.0-alpha.1

6 years ago

0.6.0-alpha.0

6 years ago

0.0.4

8 years ago

0.0.3

8 years ago

0.0.2

8 years ago

0.0.1

8 years ago