1.0.10 • Published 6 years ago
chat-opensdk v1.0.10
chat 聊天窗 SDK
用法
第一步: 引入相应的 js 或 chat-opensdk 包
第二步: 实例化对象 使用
/*
实例化对象
new window['chat-opensdk'](eventName, origin, callback)
params:
eventName 实例的事件名称
origin 对实例来源的验证(当前聊天窗的 window.location.origin),若不校验来源 可以传入 '*'
callback 回调函数 用于获取数据并做相应的操作
return:
callback 回调函数的参数
*/
// 由于不同域名下 iframe 中引入 script 存在跨域资源不能使用的安全机制限制(Cross-Origin Read Blocking (CORB) blocked cross-origin) 详细原因:https://www.cnblogs.com/oneasdf/p/9525490.html
// 若是原生的方式使用,需要直接拷贝源代码到本地使用
// 1.1 原生 js 复制到本地(访问下面链接,把 js 复制到本地 local.js)
`https://gw.alipayobjects.com/as/g/CustomerServiceCloud/chat-opensdk/1.0.10/index.aio.js`
// 1.2 原生 js 调用
<script src='./local.js'></script>
new window['chat-opensdk'](eventName, origin, callback)
// 2.1 租户 npm 包 引用方式
npm install chat-opensdk --save
// 2.2 页面引入 然后调用
import ChatOpensdk from 'chat-opensdk'
// ~~~~
new ChatOpensdk('getJsBridge', '*', function (data) {
console.log(data);
})
API
getJsBridge
获取聊天窗 传入到 iframe 里的 jsBridge 数据; 需要用户在 window 上挂在相应的 jsBridge 数据
- @return data => {type: 'getJsBridge', jsBridge: {}}
// 例如
new window['chat-opensdk']('getJsBridge', '*', function(data) {
// 拿到数据 做相应的处理
console.log('data', data);
})
// 备注: origin 需根据用户聊天窗的地址进行配置 若不校验则 传 '*'
本地build
tnpm run build
发布流程
- 在package.json中修改版本号
- tnpm run release
- tnpm publish
发内网 tnpm package.json "name": "@alipay/chat-opensdk", "registry": "http://registry.npm.alibaba-inc.com"
发外网 npm package.json "name": "chat-opensdk", "registry": "https://registry.npmjs.org/"