已知问题

更新时间: 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 过程中产生未知错误,目前暂时请勿打开此选项

此文档是否对你有帮助?
有帮助
去反馈
  • uniapp websocket多个连接会失效
  • 不支持分片上传
  • 微信小程序编译 Function(...) is not a function 的问题
  • 微信小程序编译报错 TypeError: Converting circular structure to JSON
  • 微信小程序开启 将 JS 编译成 ES5 选项后,编译报错