问题模块 框架类型 问题类型 API/组件名称 终端类型 微信版本 基础库版本
API和组件 微信小程序 需求 wx.getSetting 客户端 v1.02.1810190 2.0.0
- 需求的场景描述(希望解决的问题)
调用wx.getlocation弹窗询问是否允许获取用户位置信息,用户点击确认直接获取到位置进入地图。用户点击取消,微信小程序再次弹窗提示
wx.showModal,如果用户点击的是确认按钮则调用wx.openSetting打开位置授权,如果点击的是取消获取用户信息失败,不再提示。重新刷新页面再次调用wx.showModal提示如果用户点击的是确认按钮则调用wx.openSetting打开位置授权,如果点击的是取消获取用户信息失败,不再提示
- 希望提供的能力
代码片段
onShow:function(){ var that = this; wx.getSetting({ success: (res) => { console.log(res); console.log(res.authSetting['scope.userLocation']); if (res.authSetting['scope.userLocation'] != undefined && res.authSetting['scope.userLocation'] != true) {//非初始化进入该页面,且未授权 wx.showModal({ title: '1是否授权当前位置', content: '需要获取您的地理位置,请确认授权,否则地图功能将无法使用', success: function (res) { if (res.cancel) { console.info("1授权失败返回数据"); } else if (res.confirm) { //village_LBS(that); wx.openSetting({ success: function (data) { console.log(data); if (data.authSetting["scope.userLocation"] == true) { wx.showToast({ title: '授权成功', icon: 'success', duration: 5000 }) //再次授权,调用getLocationt的API this.getuserinfomation(that); } else { wx.showToast({ title: '授权失败', icon: 'success', duration: 2000 }) } } }) } } }) } else if (res.authSetting['scope.userLocation'] == undefined) {//初始化进入 this.getuserinfomation(that); } } }) },
微信小程序开发问题解答
微信小程序开发者回答:
目前设计如此,你可在Onshow里面处理下你的操作
微信小程序开发者回答:
你好,微信编辑工具里面调式的代码不能够出现预期的效果,但是真机调试的话可以,这是为什么啊?
微信小程序开发者回答:
一些手机的开关,需要已真机为准
微信小程序开发者回答:
但是那个开关是wx.opensetting打开设置开关啊,同样是一模一样的代码,放在项目里面用开发者工具调试不行,单独拿出来也不行,但是真机调试就行,这是为什么,我看别人写的也是可以打开的啊?
本文网址:http://www.91bianli.com/kaifazhinan/77895.html