locationAdd.js 4.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201
  1. // pages/locationAdd/locationAdd.js
  2. var http = require("../../utils/http.js");
  3. var QQMapWX = require('../../utils/qqmap-wx-jssdk.js');
  4. var qqmapsdk;
  5. Page({
  6. /**
  7. * 页面的初始数据
  8. */
  9. data: {
  10. address: '',
  11. addressList: []
  12. },
  13. /**
  14. * 生命周期函数--监听页面加载
  15. */
  16. onLoad(options) {
  17. // 实例化API核心类
  18. qqmapsdk = new QQMapWX({
  19. key:'D3MBZ-LQK6U-IONVC-GJDPK-C43GF-UYFOC'
  20. // key: 'UNBBZ-OKDCB-FSTU4-N5EGG-CMJ67-CKB6H'
  21. });
  22. this.setData({
  23. address: wx.getStorageSync('ADDRESS')
  24. })
  25. },
  26. /**
  27. * 生命周期函数--监听页面初次渲染完成
  28. */
  29. onReady() {
  30. },
  31. /**
  32. * 生命周期函数--监听页面显示
  33. */
  34. onShow() {
  35. this.getAddrList()
  36. },
  37. /**
  38. * 获取地址列表
  39. */
  40. getAddrList() {
  41. wx.showLoading();
  42. var params = {
  43. url: "/p/address/list",
  44. method: "GET",
  45. data: {},
  46. callBack: (res) => {
  47. this.setData({
  48. addressList: res
  49. });
  50. wx.hideLoading();
  51. }
  52. }
  53. http.request(params);
  54. },
  55. /**
  56. *维护地址
  57. */
  58. editAddress: function () {
  59. wx.navigateTo({
  60. url: '/pages/delivery-address/delivery-address'
  61. })
  62. },
  63. /**
  64. * 设置默认
  65. */
  66. setDefault: function (e) {
  67. wx.setStorageSync('LATITUDE', e.currentTarget.dataset.item.latitude)
  68. wx.setStorageSync('LONGITUDE', e.currentTarget.dataset.item.longitude)
  69. var addrId = e.currentTarget.dataset.item.addrId;
  70. wx.showLoading();
  71. var params = {
  72. url: "/p/address/defaultAddr/" + addrId,
  73. method: "PUT",
  74. callBack: (res) => {
  75. wx.hideLoading();
  76. this.getAddrList()
  77. this.getTxmap()
  78. setTimeout(() => {
  79. let pages = getCurrentPages();
  80. let prevPage = pages[pages.length - 2]; //获取A页面
  81. wx.navigateBack({
  82. delta: 1,
  83. success: function (e) { // 成功的回调
  84. if (prevPage == undefined || prevPage == null) return;
  85. prevPage.go_update(); // 调用A页面的方法, 并将值传过去
  86. }
  87. })
  88. }, 500)
  89. }
  90. }
  91. http.request(params);
  92. },
  93. getTxmap: function () {
  94. // 调用腾讯地图api获取当前位置
  95. qqmapsdk.reverseGeocoder({
  96. location: {
  97. latitude: wx.getStorageSync('LATITUDE'),
  98. longitude: wx.getStorageSync('LONGITUDE')
  99. },
  100. success: (res) => {
  101. wx.hideLoading()
  102. wx.setStorageSync('ADDRESS', res.result.address_component.street)
  103. this.setData({
  104. address: res.result.address_component.street
  105. })
  106. },
  107. fail: function (res) {
  108. console.log(res, '---获取失败');
  109. wx.showToast({
  110. title: res+'地址信息获取失败',
  111. icon: "none"
  112. })
  113. setTimeout(()=>{
  114. wx.hideToast();
  115. },2000)
  116. },
  117. complete: function (res) {
  118. // console.log(res, '---callback');
  119. }
  120. });
  121. },
  122. /**
  123. * 获取定位
  124. */
  125. getLocation: function () {
  126. let _this = this
  127. wx.chooseLocation({
  128. success: function (res) {
  129. wx.setStorageSync('LATITUDE', res.latitude)
  130. wx.setStorageSync('LONGITUDE', res.longitude)
  131. wx.setStorageSync('ADDRESS', res.name)
  132. _this.setData({
  133. address: res.name
  134. })
  135. setTimeout(() => {
  136. let pages = getCurrentPages();
  137. let prevPage = pages[pages.length - 2]; //获取A页面
  138. wx.navigateBack({
  139. delta: 1,
  140. success: function (e) { // 成功的回调
  141. if (prevPage == undefined || prevPage == null) return;
  142. prevPage.go_update(); // 调用A页面的方法, 并将值传过去
  143. }
  144. })
  145. }, 500)
  146. },
  147. fail: function (err) {
  148. console.log(err, '---err');
  149. },
  150. complete: function (e) {
  151. // console.log(e, '-----callback');
  152. }
  153. })
  154. },
  155. //新增收货地址
  156. onAddAddr: function (e) {
  157. wx.navigateTo({
  158. url: '/pages/editAddress/editAddress',
  159. })
  160. },
  161. /**
  162. * 生命周期函数--监听页面隐藏
  163. */
  164. onHide() {
  165. },
  166. /**
  167. * 生命周期函数--监听页面卸载
  168. */
  169. onUnload() {
  170. },
  171. /**
  172. * 页面相关事件处理函数--监听用户下拉动作
  173. */
  174. onPullDownRefresh() {
  175. },
  176. /**
  177. * 页面上拉触底事件的处理函数
  178. */
  179. onReachBottom() {
  180. },
  181. /**
  182. * 用户点击右上角分享
  183. */
  184. onShareAppMessage() {
  185. }
  186. })