// pages/locationAdd/locationAdd.js var http = require("../../utils/http.js"); var QQMapWX = require('../../utils/qqmap-wx-jssdk.js'); var qqmapsdk; Page({ /** * 页面的初始数据 */ data: { address: '', addressList: [] }, /** * 生命周期函数--监听页面加载 */ 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() }, /** * 获取地址列表 */ getAddrList() { wx.showLoading(); var params = { url: "/p/address/list", method: "GET", data: {}, callBack: (res) => { this.setData({ addressList: res }); wx.hideLoading(); } } http.request(params); }, /** *维护地址 */ editAddress: function () { wx.navigateTo({ url: '/pages/delivery-address/delivery-address' }) }, /** * 设置默认 */ 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() { } })