MQTT:
1、报错:TypeError: WebSocket is not a constructor
背景:最近使用MQTT协议传递消息,集成在uniapp上,出现此问题
解决:app端需要用"wx://"(安全协议用"wxs://"),H5端才是用"ws://"(安全协议用"wss://"),
2、报错:n.createConnection is not a function/net.createConnection is not a function
解决:降低版本至 4.1.X以下
下载地址:
https://unpkg.com/mqtt@4.1.0/dist/mqtt.min.js
uView:
1、使用u-swipe-action报错:Not Found:Page[1][-1,12-0;c3011ebdd8ee4654b9423f300ace2de3] at view.umd.min.js:1
1.1 问题
Error: Not Found:Page[1][-1,12-0;c3011ebdd8ee4654b9423f300ace2de3] at view.umd.min.js:1
1.2 原因
加载插件的时候,有数据没初始化完成就开始调用了。
例如:列表数据首次加载;插件未等数据加载完成,就调用;
还有就是页面数据重新加载,即原来u-swipe-action组件是有数据的,后面通过其他页面操作,例如下拉刷新,将数据删除了,重新赋值
1.3 解决
方法一:修改源码:找到node_modules ---> uview-ui ---> u-swipe-action ---> u-swipe-action.vue,修改下面代码:
mounted() {
this.getActionRect();
},
改为:
mounted() {
setTimeout(() => this.getActionRect(), 50);
},
修改源码一时爽,团队开发还得上传git,锁定版本,到时候更新版本还得改,极其麻烦。
方法二:首次进入页面前,将数据提前请求接口加载并传输过来。
方法三:升级uview版本 或 直接更换插件。