注册

集成环信uni-app sdk遇到的问题及解决方法

1. 打包问题

    问题描述:
        a. 打包h5后报错 [system] API connectSocket is not yet implemented
4ef3c308de7b33dc42b88262852033b8.png

        b. 打包后登录时请求token有问题。

    解决方案:如果打包h5平台出现以上两种情况,可以看下打包时想优化包体积大小是否有开启【摇钱树】具体配置如图:

d642c852eef2080b89a753049a872090.jpg

         ps: 不了解该配置的可以看下uniapp的官方文档介绍,附上链接https://uniapp.dcloud.io/collocation/manifest?id=treeshaking

    问题原因:如果开启这个配置项,打包后所有uni没用到的方法都不会打包进去,这样就会导致SDK内部 uni去用request请求就拿不到,这样后续token就会有问题,或者识别不到scoket api等报错。


2. uniapp运行真机报错 【addEventListener is not defind】

6799f2e0b306e4fe49d72c9edd2c523e.png

解决方案:升级到4.1.0的uni sdk即可。

问题原因:addEventListener 这个是监听浏览器网络变化的,移动端下不支持,所以提示未定义,但实际上并不会影响其他功能,在后续的版本也修复了下该报错~


3. 参考demo报错【this.setData is not a function】如图:6422ebb81090f8abed9d0ba936eaf845.png

集成过程中可能疑惑this.setData应该是小程序中的方法,为什么uni中会有,是因为demo中有对该方法重写通过minxin,具体在main.js文件中体现,如下图:

c722007e845766b7e35f709a367596f4.jpg

所以如果参照demo报此错可以看下这块是否有复制过来呢~


4. uniapp运行h5发送语音报错

目前的录音实现依赖uni.getRecorderManager()方式, 是不支持 H5的 可以参考下这个文章
https://en.uniapp.dcloud.io/api/media/record-manager.html#getrecordermanager


5. 登录报错 elapse 如图:

d6d376837be177bad6ddebada71c4ac3.jpg
解决方案:1)看下当前是否有链接网络  2)是否有开启vpn 

6. uni-app中有时会用到nvue组件,订阅事件将会在nvue中失效,所以如果有发布订阅事件需求推荐使用,uni.$emit发布,uni.$on监听。


今天问题就分享到这里啦,感谢大家的阅读!

0 个评论

要回复文章请先登录注册