小程序日常排坑
1.当页面需要设置导航栏时,需要用fixed定位。如果页面是整个scroll-view,最好不要把导航栏放到scroll-view标签中,否则在ios系统中会出现导航内容无法显示问题;
2.小程序配置的底部导航,自己写的遮罩是无法遮住的,所以有些时候最好自己写底部导航,但是自己写底部导航时可以用wx.redirect来进行页面跳转,这样跳转和配置的导航页面跳转效果一致;
3.scroll-view问题,有些页面需要滚动加载列表,对scroll-view高度有一定的要求,一开始是直接定的多少rpx,后来在iphonex或其他全面屏手机上发现页面高度有问题。后来用wx.getSystemInfo获取设备高度来对scroll-view进行高度设置可以解决这一问题;
4.想要控制小程序自带的返回可以通过在onUnload方法里面写页面跳转方法来实现;
5.地理位置授权拒绝后再次调用授权问题
地理位置授权拒绝后如果不做任何设置,会一直无法进行地理位置重新授权,除非清理缓存;为了解决这个问题,在拒绝授权后可以调用wx.openSetting方法;例:
getSetting:function(){ var that=this; wx.getSetting({ success:res=>{ if (!res.authSetting['scope.userLocation']) {//未进行位置授权 wx.authorize({//进行地理位置授权 scope: 'scope.userLocation', success(res) { console.log('获取地理位置授权成功'); wx.getLocation({ type: 'wgs84', success: function (res) { } }) }, fail() { that.openConfirm(); } }) } } }) },
openConfirm: function () { wx.showModal({ content: '检测到您未打开位置权限,是否去设置打开?', confirmText: "确认", cancelText: "取消", success: function (res) { console.log(res); //点击“确认”时打开设置页面 if (res.confirm) { console.log('用户点击确认') wx.openSetting({ success: (res) => { console.log(res) } }) } else { console.log('用户点击取消') } } }); },
这是就会出现
打开使用我的地理位置即可