locationAdd.js 4.9 KB

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