locationAdd.js 4.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204
  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. // 当前定位显示选择地址的名称 不再显示路名
  78. // this.getTxmap()
  79. wx.setStorageSync('ADDRESS', e.currentTarget.dataset.item.addressName)
  80. setTimeout(() => {
  81. let pages = getCurrentPages();
  82. let prevPage = pages[pages.length - 2]; //获取A页面
  83. wx.navigateBack({
  84. delta: 1,
  85. success: function (e) { // 成功的回调
  86. if (prevPage == undefined || prevPage == null) return;
  87. prevPage.go_update(); // 调用A页面的方法, 并将值传过去
  88. }
  89. })
  90. }, 500)
  91. }
  92. }
  93. http.request(params);
  94. },
  95. getTxmap: function () {
  96. // 调用腾讯地图api获取当前位置
  97. qqmapsdk.reverseGeocoder({
  98. location: {
  99. latitude: wx.getStorageSync('LATITUDE'),
  100. longitude: wx.getStorageSync('LONGITUDE')
  101. },
  102. success: (res) => {
  103. wx.hideLoading()
  104. wx.setStorageSync('ADDRESS', res.result.address_component.street)
  105. this.setData({
  106. address: res.result.address_component.street
  107. })
  108. },
  109. fail: function (res) {
  110. console.log(res, '---获取失败');
  111. wx.showToast({
  112. title: res+'地址信息获取失败',
  113. icon: "none"
  114. })
  115. setTimeout(()=>{
  116. wx.hideToast();
  117. },2000)
  118. },
  119. complete: function (res) {
  120. // console.log(res, '---callback');
  121. }
  122. });
  123. },
  124. /**
  125. * 获取定位
  126. */
  127. getLocation: function () {
  128. let _this = this
  129. wx.chooseLocation({
  130. success: function (res) {
  131. wx.setStorageSync('LATITUDE', res.latitude)
  132. wx.setStorageSync('LONGITUDE', res.longitude)
  133. wx.setStorageSync('ADDRESS', res.name)
  134. _this.setData({
  135. address: res.name
  136. })
  137. setTimeout(() => {
  138. let pages = getCurrentPages();
  139. let prevPage = pages[pages.length - 2]; //获取A页面
  140. wx.navigateBack({
  141. delta: 1,
  142. success: function (e) { // 成功的回调
  143. if (prevPage == undefined || prevPage == null) return;
  144. prevPage.go_update(); // 调用A页面的方法, 并将值传过去
  145. }
  146. })
  147. }, 500)
  148. },
  149. fail: function (err) {
  150. console.log(err, '---err');
  151. },
  152. complete: function (e) {
  153. // console.log(e, '-----callback');
  154. }
  155. })
  156. },
  157. //新增收货地址
  158. onAddAddr: function (e) {
  159. wx.navigateTo({
  160. url: '/pages/editAddress/editAddress',
  161. })
  162. },
  163. /**
  164. * 生命周期函数--监听页面隐藏
  165. */
  166. onHide() {
  167. },
  168. /**
  169. * 生命周期函数--监听页面卸载
  170. */
  171. onUnload() {
  172. },
  173. /**
  174. * 页面相关事件处理函数--监听用户下拉动作
  175. */
  176. onPullDownRefresh() {
  177. },
  178. /**
  179. * 页面上拉触底事件的处理函数
  180. */
  181. onReachBottom() {
  182. },
  183. /**
  184. * 用户点击右上角分享
  185. */
  186. onShareAppMessage() {
  187. }
  188. })