最近项目要求接入网易七鱼客服,七鱼技术推荐用open方式打开,但是领导要求用url方式然后iframe显示,但是url方式有时会出现onready方法不触发,或者触发了但是进error的。后面打印返现方法掉了一次,但是success里打印了4次随后就进了error。故作了return处理。代码如下:

(function (w, d, n, a, j) {
w[n] = w[n] || function () {

(w[n].a = w[n].a || []).push(arguments)

}
j = d.createElement('script')
j.async = true
j.src = 'https://qiyukf.com/script/qiy...
d.body.appendChild(j)
})(window, document, 'ysf')
window.isSdkReady = false
window.fn = []
ysf('onready', function () {
window.isSdkReady = true
if (window.fn[0]) {

window.fn[0]()

}
})
function openUrl (data, type,callBack) {
let isOk = false
ysf('config', {

uid: data.playerId,    
data: JSON.stringify([
  {'key': 'real_name', 'value': data.playerName},
  {'key': 'player_id', 'label': "玩家ID", 'value': data.playerId},
]),
staffid: data.qiyuKefuId, // 客服id
success: function () {     // 成功回调
  if(isOk) {
    return
  }
  let url = ysf('url')
  callBack(url)
  isOk = true
},
error: function (e) {       // 错误回调
  if(isOk) {
    return
  }
  isOk = true
  callBack('网络连接失败')
}

})
}
另外:mumu模拟器(夜神是好的),ipad环境下会识别成web模式,聊天界面显示没有撑满屏幕的情况,这是mumu模拟器的bug。
image.png
(这是web模式下才会显示的)


刘先生
14 声望0 粉丝