已知问题
更新时间: 2023/02/22 09:10:30
信令目前兼容 uniapp 环境,但仍存在一些限制。
本文介绍目前已知的限制。
uniapp websocket多个连接会失效
如果见到这个错误,那么可能是在 uniapp 里尝试建立两个 socket 连接:
Error: Adapter uniapp: socket sendMsg when readyState=0
uniapp 项目在真机上运行(作为 app 运行,而非 H5),websocket多个连接会失效,19年官方社区里有了此反馈的帖子uni-app,websocket多个连接会失效 ,截至 2021 年 11 月 29 日手机上依旧没有解决。
最佳回复:自定义组件模式下是基于 weex 的 v8 引擎运行,所有 vue 页面的 js 都是在同一个 weex 的 js 环境中运行,目前 weex 限制一个 js 环境中只支持一个 websocket 连接,所以导致所有 vue 页面只能使用一个 websocket 连接。
注:IM 和 Chatroom 是分两个实例,各自建立两个长连接的,所以编译成 uniapp app 的模式下,请不要同时使用两个实例。
不支持分片上传
由于读取文件有着诸多限制,无法以一种兼容性比较好的方式根据 filePath 拿到本地文件信息。单线程在上传大文件不仅体验很差,还会根据手机终端表现,会出一些意想不到的问题。
所以建议开发者在使用选择文件 API (chooseImage,choosevideo)时自行判断文件大小,建议 100 MB 以上的不传。
微信小程序编译 Function(...) is not a function 的问题
uniapp 编译成微信小程序时,会直接在微信小程序上报错 Function(...) is not a function。这是微信基础库版本过低的问题,请切换 2.21.0 以上的版本
微信小程序编译报错 TypeError: Converting circular structure to JSON
TypeError: Converting circular structure to JSON
--> starting at object with constructor 'i'
| property '_events' -> object with constructor 'n'
| property 'logined' -> object with constructor 'Array'
| index 0 -> object with constructor 'a'
--- property 'context' closes the circle
at JSON.stringify (<anonymous>)
at cloneWithData (mp.runtime.esm.js?66fd:5620)
uniapp 编译去微信小程序注入的 mp.runtime.esm.js 里,对 vue 的 data 序列化使用这样的序列化方法 return JSON.parse(JSON.stringify(ret))
故而请不要在 vue 组件的 data 里挂载 nim 实例,实例继承自 EventEmitter3 对象,是无法被这样序列化的。
推荐将 nim 实例挂载去 vuex 的 store 里。
微信小程序开启 将 JS 编译成 ES5 选项后,编译报错
WAServiceMainContext.js:2 TypeError: t is not a function
at oe.connect (NIM.js? [sm]:15)
at Li.connect (im.js? [sm]:17)
at Object.i.safeCallback (WASubContext.js?t=wechat&s=1642128708420&v=2.21.3:2)
at WASubContext.js?t=wechat&s=1642128708420&v=2.21.3:2
at br (WASubContext.js?t=wechat&s=1642128708420&v=2.21.3:2)
at WASubContext.js?t=wechat&s=1642128708420&v=2.21.3:2
at g (WASubContext.js?t=wechat&s=1642128708420&v=2.21.3:2)
at WASubContext.js?t=wechat&s=1642128708420&v=2.21.3:2
at WASubContext.js?t=wechat&s=1642128708420&v=2.21.3:2
at WAServiceMainContext.js:2(env: Windows,mp,1.05.2111300; lib: 2.21.3)
微信小程序环境编译到 ES5 过程中产生未知错误,目前暂时请勿打开此选项