| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258 | // pages/locationAdd/locationAdd.jsvar http = require("../../utils/http.js");var QQMapWX = require('../../utils/qqmap-wx-jssdk.js');var qqmapsdk;Page({  /**   * 页面的初始数据   */  data: {    address: '',    addressList: [],    nearShop:null,    shopList:[]  },  /**   * 生命周期函数--监听页面加载   */  onLoad(options) {    // 实例化API核心类    qqmapsdk = new QQMapWX({      key:'D3MBZ-LQK6U-IONVC-GJDPK-C43GF-UYFOC'      // key: 'UNBBZ-OKDCB-FSTU4-N5EGG-CMJ67-CKB6H'    });    this.setData({      address: wx.getStorageSync('ADDRESS')    })  },  /**   * 生命周期函数--监听页面初次渲染完成   */  onReady() {  },  /**   * 生命周期函数--监听页面显示   */  onShow() {    this.getAddrList()    this.getshopList()  },  /**   * 获取地址列表   */  getAddrList() {    wx.showLoading();    var params = {      url: "/p/address/list",      method: "GET",      data: {},      callBack: (res) => {        this.setData({          addressList: res        });        wx.hideLoading();      }    }    http.request(params);  },  /**   * 获取附近店铺   */  getshopList() {    wx.showLoading();    var params = {      url: "/shop/addrShop",      method: "GET",      data: {        addrId:'',        lat: wx.getStorageSync('LATITUDE'),        lon: wx.getStorageSync('LONGITUDE'),        platform:1},      callBack: (res) => {        if(res&&res.length){          let data = res          let nearShop = data.splice(0,1)[0]          console.log(nearShop,data);          this.setData({            nearShop,            shopList: data          });        }        wx.hideLoading();      }    }    http.request(params);  },  /**   *维护地址   */  editAddress: function () {    wx.navigateTo({      url: '/pages/delivery-address/delivery-address'    })  },  /**   *    * 选择店铺   */  chooseShop(e){    wx.setStorageSync('LATITUDE', e.currentTarget.dataset.item.lat)    wx.setStorageSync('LONGITUDE', e.currentTarget.dataset.item.lon)    // this.getTxmap()    wx.setStorageSync('ADDRESS', e.currentTarget.dataset.item.address)        setTimeout(() => {          let pages = getCurrentPages();          let prevPage = pages[pages.length - 2]; //获取A页面          wx.navigateBack({            delta: 1,            success: function (e) { // 成功的回调              if (prevPage == undefined || prevPage == null) return;              prevPage.go_update(); // 调用A页面的方法, 并将值传过去            }          })        }, 500)  },  /**   * 设置默认   */  setDefault: function (e) {    wx.setStorageSync('LATITUDE', e.currentTarget.dataset.item.latitude)    wx.setStorageSync('LONGITUDE', e.currentTarget.dataset.item.longitude)    var addrId = e.currentTarget.dataset.item.addrId;    wx.showLoading();    var params = {      url: "/p/address/defaultAddr/" + addrId,      method: "PUT",      callBack: (res) => {        wx.hideLoading();        this.getAddrList()        // 当前定位显示选择地址的名称 不再显示路名        this.getTxmap()       wx.setStorageSync('ADDRESS', e.currentTarget.dataset.item.addressName)        setTimeout(() => {          let pages = getCurrentPages();          let prevPage = pages[pages.length - 2]; //获取A页面          wx.navigateBack({            delta: 1,            success: function (e) { // 成功的回调              if (prevPage == undefined || prevPage == null) return;              prevPage.go_update(); // 调用A页面的方法, 并将值传过去            }          })        }, 500)      }    }    http.request(params);  },  getTxmap: function () {    // 调用腾讯地图api获取当前位置    qqmapsdk.reverseGeocoder({      location: {        latitude: wx.getStorageSync('LATITUDE'),        longitude: wx.getStorageSync('LONGITUDE')      },      success: (res) => {        wx.hideLoading()        wx.setStorageSync('ADDRESS', res.result.address_component.street)        this.setData({          address: res.result.address_component.street        })      },      fail: function (res) {        console.log(res, '---获取失败');        wx.showToast({          title: res+'地址信息获取失败',          icon: "none"        })        setTimeout(()=>{          wx.hideToast();        },2000)      },      complete: function (res) {        // console.log(res, '---callback');      }    });  },  /**   * 获取定位   */  getLocation: function () {    let _this = this    wx.chooseLocation({      success: function (res) {        wx.setStorageSync('LATITUDE', res.latitude)        wx.setStorageSync('LONGITUDE', res.longitude)        wx.setStorageSync('ADDRESS', res.name)        _this.setData({          address: res.name        })        setTimeout(() => {          let pages = getCurrentPages();          let prevPage = pages[pages.length - 2]; //获取A页面          wx.navigateBack({            delta: 1,            success: function (e) { // 成功的回调              if (prevPage == undefined || prevPage == null) return;              prevPage.go_update(); // 调用A页面的方法, 并将值传过去            }          })        }, 500)      },      fail: function (err) {        console.log(err, '---err');      },      complete: function (e) {        // console.log(e, '-----callback');      }    })  },  //新增收货地址  onAddAddr: function (e) {    wx.navigateTo({      url: '/pages/editAddress/editAddress',    })  },  /**   * 生命周期函数--监听页面隐藏   */  onHide() {  },  /**   * 生命周期函数--监听页面卸载   */  onUnload() {  },  /**   * 页面相关事件处理函数--监听用户下拉动作   */  onPullDownRefresh() {  },  /**   * 页面上拉触底事件的处理函数   */  onReachBottom() {  },  /**   * 用户点击右上角分享   */  onShareAppMessage() {  }})
 |