上传文件, 回应的json需要手动JSON.parse
wx.hideLoading();看起来是个同步的api, 不过有时需要异步调用, 如:
setTimeout(() => {
wx.hideLoading();
}, 200);
- 1
- 2
- 3
wx.hideLoading()也可以关闭toast(wx.showToast()), 这…?
五层页面栈限制
当页面栈超过五层时, 会出现错误
{
errMsg :"navigateTo:fail webview count limit exceed"
}
- 1
- 2
- 3
text允许复制用的是css控制的, 也就是:
user-select: none;
-webkit-user-select: none;
- 1
- 2
也就是说, 要想复制, 加上下面这个样式就可以
user-select: text;
-webkit-user-select: text;
- 1
- 2
开发者工具出错不提示, 如:
let a = util.getInfo();
if (a) {
// ...
}
- 1
- 2
- 3
- 4
- 5
如果util模块未引入, 这里也不报错, 我遇到过好几次…
对开发者的api返回数据又封装了一层, 根本没用, 就是故作聪明地多了一层数据嵌套, 让人多一些麻烦
{
data:{
result: 0, msg: "", data: {…}
},
errMsg:"request:ok",
header: {
Server: "nginx", ...
},
statusCode:200
}
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
语音api, 调用stopRecord之后要在startRecord的success回调中获取录音文件
video组件, 用view包裹, view不要用fixed定位
fixed定位的video, 在切换到全屏, 再切到普通大小时, iOS上全屏的按钮会消失, 看来iOS上fixed定位还是有问题, 尽量不要用fixed定位吧
websocket关闭问题
// code:1006, reason:"abnormal closure"
// 主动调用close, 会触发1006错误
// 如果是服务端异常导致的关闭, 也会触发1006
if (res.code === 1006) {
console.log('1006 error');
return;
}
// 正常退出, 1000(这玩意是小程序触发的,
// 在产生第二个连接时, 小程序会自动关闭第一个连接, 从而进入onclose回调, 产生1000这个code值)
if (res.code === 1000) {
console.log('1000 error');
return;
}