@dialstack/sdk-js (英语)
DialStack 浏览器 SDK —— 初始化, REST 客户端, 以及 6 自注册的网络组件.
普通的 HTML 或 JavaScript 页面需要的一切 。 反应捆绑在
@dialstack/sdk-react, (中文(简体) ),
软件包上的哪个对等者.
安装
npm install @dialstack/sdk-js
或者从一个 <script> 标签,不需要捆绑:
<script src="https://unpkg.com/@dialstack/sdk-js"></script>
剧本显示一切 window.DialStack。 。 。 .
使用量
import { loadDialstackAndInitialize } from '@dialstack/sdk-js';
const dialstack = await loadDialstackAndInitialize({
publishableKey: 'pk_live_…',
fetchClientSecret: async () => {
const res = await fetch('/api/dialstack-session', { method: 'POST' });
return (await res.json()).client_secret;
},
});
<dialstack-call-logs></dialstack-call-logs> <dialstack-voicemails></dialstack-voicemails>
导入此软件包会登记元素
这是一种副作用,而且是故意的:入境点每个进口
组件模块,每个模块都以 customElements.define(...)。所以一个
import '@dialstack/sdk-js' 是什么让 <dialstack-call-logs> 一个真正的元素
而不是一个惰性的未知的.
二事随顺.
sideEffects 是一个许可列表,不是 false。 。 。 . 一条被子 false 会让一个
捆绑商将那些进口品作为未使用品丢弃,失败是沉默的——
document.createElement 未注册标记成功, 返回元素
毫无错误 如果你是卖家 或重新捆绑这个
包,保留那个字段.
使用 ./pure 当你不希望副作用. 同样的表面,什么都没有
导入时注册; 您调用 registerComponents() 你自己来 这就是你
想要用于服务器侧渲染,测试,以及任何模块级
customElements.define 会运行太早 或在错误的领域.
import { registerComponents, loadDialstackAndInitialize } from '@dialstack/sdk-js/pure';
if (typeof window !== 'undefined') registerComponents();
错误
抓取 API 失败 isApiError没有 instanceof ApiError数字 :
import { isApiError } from '@dialstack/sdk-js';
try {
await dialstack.phoneNumbers.list();
} catch (err) {
if (isApiError(err) && err.status === 409) {
/* … */
}
}
instanceof 比较一个特定的类对象,所以返回假
当此套件的两份副本最终出现在树上时, 或当错误跨越 a
领域. isApiError 读取错误本身上所带的字段,但不能扭曲.
我要哪个包裹?
| 你在建楼 | 安装 |
|---|---|
| 一个简单的 HTML 页面 | 仅此软件包 |
| 带有 DialStack UI 的回放应用程序 | 此软件包+ @dialstack/sdk-react |
| 任何框架中的软音 | @dialstack/sdk-webrtc |
| 节点后端 | @dialstack/sdk-server |
文档
完整文档: https://docs.dialstack.ai/sdks (中文(简体) )
许可证
麻省理工学院