2019.3:小程序官方文档更新很快,提供的各种方法接口也在不断优化,继两个小程序后已经有段时间没做了,建议大家先从官方文档做起,因为之前写的博客可能已经不适用了或者已有更好的解决方式,以下正文:
最近要写小程序,发现很多api废弃不能使用的情况。如现在模拟一个需求,获取地理位置授权,用户首次进入获取其地理位置信息要先经过授权,如果用户同意那么将成功获取到其地理位置,然后页面显示一个‘获取位置信息’按钮,点击后跳到地图并标识其当前所在位置,如果开始授权时用户拒绝了,那么页面会显示一个‘授权并获取位置信息’按钮,用户点击后会跳到授权设置页面,需要用户手动设置,设置后根据设置结果,如果设置了同意那么返回后显示地图上的其所在位置,如果没有设置同意返回后还是显示‘授权并获取位置信息’按钮。
注意这里有个问题要注意,用户第一次拒绝授权弹框后短期内微信会认为用户拒绝该授权意愿并且不会再次吊起授权弹框,目前发现能够吊起授权弹框的有wx.getLocation、 wx.authorize但是用户拒绝后短期内调用这些api也不会出现授权弹框了,这里我们需要让用户二次授权,而二次授权就需要用户主动设置勾选(上图)‘使用我的地理位置’,这是这个问题的解决思路。那么看一下应该怎么写,调用这个“二次授权”设置页之前使用的api是wx.opensetting,即打开设置,这里引用别人的一段代码:
//index.js
//获取应用实例
Page({
data: { location: {