微信官方宣布在7月5号之后,wx.getSettting 将不再支持;
操作方式改为由用户点击按钮触发, 现在可以通过button方式触发。
我的需求是获得用户的地址权限。但是当用户点击拒绝之后,就显示出按钮, 然后用户就可以点击按钮,选择需要打开的权限开关;
当用户点击打开之后,就可以隐藏按钮;

<view wx:if="showFlag" >
    <button open-type="openSetting" bindopensetting="handler">打开授权</button>
</view>
<view wx:if="{{!showFlag}}">
    <input type="text" placeholder="请输入地址" />
</view>

//js

data: {
showFlag: false
},
handler: function(e){
    if (e.detail.authSetting["scope.userLocation"]){//如果打开了地理位置,就会为true
        this.setData({
            showFlag: true
        })
    }

重要的两个关键, 就是 回调函数 bindopensetting=”handler” 和 判断是否授权成功的参数的获得: e.detail.authSetting[“scope.userLocation”]。

我在此就抛砖引玉了。

Logo

助力广东及东莞地区开发者,代码托管、在线学习与竞赛、技术交流与分享、资源共享、职业发展,成为松山湖开发者首选的工作与学习平台

更多推荐