注册

集成uni sdk遇到的问题分享~

1. 打包问题

    问题描述:
        a. 打包h5后报错 [system] API connectSocket is not yet implemented,如图:

c2085765677e8b4b864a6c9bf4119980.png

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

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

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

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


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

ba7b214b1c8f84c99ec47b2dba2f9882.png

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

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


3. 参考demo报错【this.setData is not a function】如图:175aca6fa0e9fc1acfdc8a0d5cb1d84a.jpg

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

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


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

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


5. 登录报错 elapse 如图:

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

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


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

0 个评论

要回复文章请先登录注册