@huihu/socket

miniphone websocket library

Usage no npm install needed!

<script type="module">
  import huihuSocket from 'https://cdn.skypack.dev/@huihu/socket';
</script>

README

小手机

[toc]

主页面 | CHANGELOG | 升级文档 | test coverage

传送门: WinCall

引用资源文件之前需要先引用: socket.io.js, jquery

建议在index.min.jsindex.js后加上?_=当前服务启动时间, 避免浏览器缓存造成资源的更新不能及时显示到页面上

说明 Demo

npm or yarn

# yarn
yarn add @huihu/socket

# npm
npm i @huihu/socket -S

# usage
import socket from '@huihu/socket'

浏览器

<!DOCTYPE html>
<html>
  <head>
    <meta charset="utf-8"/>
    <!--引用jquery.js-->
    <!--引用socket.io.js-->
    <!--软电话相关js-->

    <!--引用慧呼socket服务js-->
    <script src="http://<DOMAIN>/lib/socket/0.0.1/index.min.js"></script>
  </head>
</html>
<body>
</body>
</html>

引用方式

  1. 在当前项目引用软电话 js 的位置后引入上面的index.jsindex.min.js
  2. collection.js头部添加声明var hhPhoneInstance = null;
  3. collection.js中添加如下代码: hhProfile 信息需要包括必须包含慧呼账号(hhProfile 中慧呼账号 key 为 seatNum 或 username)
  4. 在页面 eventListener 方法中添加如下 code 码: CALL10001, WX10002, SMS10002(业务含义参考下方注释, 也可以通过控制台查看[开发版本])
//具体位置在new Wincall({})代码后, 发起请求之前, 或者在需要初始化socket连接的地址执行
hhPhoneInstance = new HHPhone(
  // 坐席的慧呼账号信息
  hhProfile,
  // 具体处理服务端返回值得方法
  { event_listener: eventListener }
)

//.....

// 本次小手机项目主要使用如下事件码:
switch (code) {
  // socket服务系统消息
  case 'HHWS10000':
    break
  // 登录成功
  case 'HHWS10001':
    // 小手机登录成功逻辑
    break
  // 客户端主动退出
  case 'HHWS10003':
  // 服务端强制退出
  case 'HHWS10005':
    // 小手机退出事件
    break
  // 催员呼出通话状态回执
  case 'CALL10001':
    // TODO:
    break
  // 用户添加催员微信消息通知
  case 'WX10002':
    // TODO:
    break
  // 用户接收到短信通知
  case 'SMS10002':
    // TODO:
    break
  default:
    console.log('未匹配的code', res)
}

部分 API 说明

hhPhoneInstance API 基本与软电话保持一致.

  1. 返回值包含几个字段type(通知类型), code(具体类型代码), msg(描述信息), data(具体业务数据), agStatus(登录状态)
  2. 获取返回值参数fn_getParam
  3. 登出fn_logout