1 wx.request() 返回状态码 安卓和ios 不一致
返回的状态码 res.statusCode
的值在 iOS 下是 int
型数据,而在 Android 6.0.1 上却是 String
型数据。
解决办法: 正确的做法是使用 ==
而不是使用 ===
来判断
2 开发版/调试版/体验版问题不一致
大部分情况为开发版/调试版正常,体验版报错,有时候需要重新启动小程序开发工具 或 线上版打印报错信息进行调试
少部分为真机调试1.0和2.0不一致,保持真机2.0调试,以新版为准去更改;
3 wx.makePhoneCall()拨打电话页面样式不一致
ios调用wx.makePhoneCall()时,先有自下而上的弹窗,点击弹窗上的电话,再拨打电话,
Android和鸿蒙在调用wx.makePhoneCall()时,直接复制电话号码,并跳转到手机拨打电话页面
4 wx.enableAlertBeforeUnload()监听右滑返回上一页询问对话框不弹出
安卓右滑正常弹出询问对话框,【取消】留在当页,【确定】返回上一页;
ios无弹窗拦截。
5 ios做new Date()时,时间格式不兼容
ios做时间转换处理时,报错Cant'find或undefined;
安卓正常。
解决思路:
ios时间处理方式不兼容(暂时涉及到的内容有时间picker组件、new Data时间处理等),ios时间处理不支持yyyy-mm-dd,处理时间时变成了NaN,事件报错Cant'find或undefined,需替换为yyyy/mm/dd,再进行计算。
// 正则yyyy-mm-dd 转换 yyyy/mm/dd
let newTime = oldTime.replace(/-/g,'/')
6 官方textarea的maxlenght属性不限制字符长度
ios 正常限制
安卓不能正常限制,黏贴复制会不受限制。
解决办法: 安卓进行截取
let inputValNew = e.detail.value //绑定bindinput事件取值
if (inputValNew.length >= 200) {
this.setData({
extension: e.detail.value.slice(0,200), //输入框文字
textnum: 200 //右下角文字长度
}