Skip to content

uni-app接入开始开发

数据交互流程

截图

服务端格式:

javascript

  {
    "code": 200,
    "message": "success",
    "data": {...易呼宝服务返回的数据}
  }

一、下载 TRTCCloud https://ext.dcloud.net.cn/plugin?id=7774 (放在根目录)

二、引进SDK

javascript
import TRTCSdk from '@/pages/TRTCSdk'

三、 初始化SDK

javascript
this.client = new TRTCSdk({
    token: '', // 你们自己的token
    info: {
    caller: "", //主叫号码
    companyId: "", // 公司ID
    userId: "", //用户ID
    },
    service: {
    host: "https://testcc.easycalls.cn/did-api/", //请求地址
    routes: {
        //你服务器请求接口
        startCall: "callApi/startCall", //开始呼叫(必填)
        alertCall: "callApi/alertCall", // 振铃(必填)
        endCall: "callApi/endCall", //结束(必填)
        queryCall: "callApi/queryCall", // 查询状态(必填)
        toneClick: "callApi/toneClick", //ivr按键(必填)
        userProfile: "customerApi/profile", //用户信息(必填)
        callerAuthType: "callApi/callerAuthType", //呼叫权限类型(必填)
        gisAuth: "callApi/gisAuth", //地图权限(必填)
    }
    },
    map: {
    url: 'https://us1.locationiq.com/v1/reverse',
    key: '',
    },
})

四、监听状态

javascript
    this.client.on('call', (status) => this.status = status)
    /*
    呼叫状态
        0、呼叫不存在
        1、初始呼叫状态
        2、RTMP请求状态
        3、正在外呼状态
        4、呼叫振铃状态
        5、通话中
    */

五、启动呼叫

javascript
    await this.client.startCall({ called: '00+区号+号码' }); // called: 被叫号码
    //点击呼叫后需要做防抖,大概5秒内不能重复点击,重复会导致呼叫失败。

六、挂断

javascript
    await this.client.endCall()

七、发送IVR按键

javascript
    await this.client.toneClick('1')

八、切换听筒与扬声器

javascript
    this.client.toggleAudio()  //默认麦克风