1. 程式人生 > >wx.getLocation沒有彈出直接返回fail:invalid data

wx.getLocation沒有彈出直接返回fail:invalid data

昨天小程式遇到了一個坑,坑的我浪費了2個小時加班也沒查出來,百度,google都沒有,社群提問今天反饋也沒出來結果,程式碼很簡單,幾乎是微信官方文件原始碼,沒對api進行從任何操作
場景:老闆的mate10在應該觸發wx.getLocation介面彈出請求允許獲取對話方塊的情況下沒有成功,直接fail,返回資訊fail:invalid data
程式碼:

  onShow: function() {
    console.log('進入show')
    if (!wx.getStorageSync('city')){
      console.log('城市不存在')
      this
.getAddress(); } this.getAllList(); }, //獲取地址 getAddress() { var that = this; //1、獲取當前位置座標 wx.getLocation({ 'type': 'wgs84', success: function(res) { console.log('wgs84 ') //2、根據座標獲取當前位置名稱,顯示在頂部:騰訊地圖逆地址解析 qqmapsdk.reverseGeocoder({ location: { latitude: res.latitude, longitude: res.longitude }, success: function
(addressRes) {
console.log('獲取位置成功') var address = addressRes.result.ad_info.city; var cityCode = addressRes.result.ad_info.city_code; that.setData({ city: address, cityCode: cityCode, }) wx.setStorage({ key: 'city'
, data: address, success: function(res) { console.log('設定位置成功') } }) wx.setStorage({ key: 'cityCode', data: cityCode, success: function(res) { console.log(res) } }) console.log(that.addressNow); } }) }, cancel: function (res) { console.log('wgs84cacel',res); }, fail: function (res) { //返回fail:invalid data console.log('wgs84fail',res); } }) },

success裡面是反解析 不用看了,沒有執行,直接運行了fail 返回了fail:invalid data。
查不到這個報錯提示,雖然翻譯過來時‘錯誤的資料’,但是該api是官方提供,且只傳了一個type:‘wgs84’,

最後想到一個辦法

fail: function (res) {
   console.log('wgs84fail', res);
   //被拒絕再次拉去請求
   wx.authorize({ scope: "scope.userLocation" })
 }

關鍵的轉折來了……,我將程式碼部署之後測試解決了,但是我發現我部署程式碼的時候把wx.authorize({ scope: “scope.userLocation” })註釋掉了……,也就是這個方法我一點也沒改動……但是解決了……
未解之謎6666