address.js 3.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151
  1. var util = require('../../../utils/util.js');
  2. var api = require('../../../config/api.js');
  3. var app = getApp();
  4. // 引入SDK核心类
  5. var QQMapWX = require('../../../lib/qqmap/qqmap-wx-jssdk.js');
  6. // 实例化API核心类
  7. var qqMap = new QQMapWX({
  8. key: 'BNVBZ-U7RHQ-UUM5Q-GLW6J-SOKSZ-4GBDL' // 必填
  9. });
  10. Page({
  11. data: {
  12. addressList: [],
  13. },
  14. onLoad: function (options) {
  15. // 页面初始化 options为页面跳转所带来的参数
  16. this.getAddressList();
  17. },
  18. onReady: function () {
  19. // 页面渲染完成
  20. },
  21. onShow: function () {
  22. // 页面显示
  23. this.getAddressList();
  24. },
  25. getAddressList() {
  26. let that = this;
  27. util.request(api.AddressList).then(function (res) {
  28. if (res.errno === 0) {
  29. that.setData({
  30. addressList: res.data
  31. });
  32. }
  33. });
  34. },
  35. addressAddOrUpdate(event) {
  36. var addressId = event.currentTarget.dataset.addressId;
  37. try {
  38. wx.navigateTo({
  39. url: '/pages/shopping/addressAdd/addressAdd?id=' + addressId,
  40. success: function (res) {
  41. console.log(res)
  42. },
  43. fail: function (res) {
  44. console.log(res)
  45. }
  46. })
  47. } catch (e) {
  48. console.log(e);
  49. }
  50. },
  51. selectAddress(event) {
  52. var that = this;
  53. var addressId = event.currentTarget.dataset.addressId;
  54. try {
  55. wx.setStorageSync('addressId', addressId);
  56. } catch (e) {
  57. }
  58. var selectAddressVo = that.data.addressList.filter(function (v) {
  59. if (v.id == addressId) {
  60. return true;
  61. } else {
  62. return false;
  63. }
  64. }).map(function (v) {
  65. return v;
  66. });
  67. var pages = getCurrentPages();
  68. var currPage = pages[pages.length - 1];  //当前页面
  69. var prevPage = pages[pages.length - 2]; //上一个页面
  70. //直接调用上一个页面的setData()方法,把数据存到上一个页面中去
  71. prevPage.setData({
  72. addressVo: selectAddressVo[0]
  73. })
  74. wx.navigateBack();
  75. },
  76. getWtAddress() {
  77. let that = this;
  78. wx.chooseAddress({
  79. success: function (res) {
  80. console.log(res.detailInfo);
  81. qqMap.geocoder({ //调用地址解析类
  82. address: res.provinceName+","+res.cityName+","+res.countyName+","+ res.detailInfo,
  83. success: gcres => {
  84. res.latitude = gcres.result.location.lat;
  85. res.longitude = gcres.result.location.lng;
  86. that.syncAddress(res);
  87. },
  88. fail: function (gcres) {
  89. console.log("fail:" + gcres);
  90. that.syncAddress(res);
  91. },
  92. complete: function (gcres) {
  93. console.log("complete:" + gcres);
  94. }
  95. });
  96. }
  97. })
  98. },
  99. syncAddress(res) {
  100. let that= this;
  101. util.request(api.AddressSync, {
  102. userName: res.userName,
  103. telNumber: res.telNumber,
  104. provinceName: res.provinceName,
  105. cityName: res.cityName,
  106. countyName: res.countyName,
  107. detailInfo: res.detailInfo,
  108. postalCode: res.postalCode,
  109. nationalCode: res.nationalCode,
  110. latitude: res.latitude,
  111. longitude: res.longitude
  112. }, 'POST').then(function (res) {
  113. if (res.errno === 0) {
  114. that.getAddressList();
  115. }
  116. });
  117. },
  118. deleteAddress(event) {
  119. console.log(event.target);
  120. let that = this;
  121. wx.showModal({
  122. title: '',
  123. content: '确定要删除地址?',
  124. success: function (res) {
  125. if (res.confirm) {
  126. let addressId = event.target.dataset.addressId;
  127. util.request(api.AddressDelete, { id: addressId }, 'POST').then(function (res) {
  128. if (res.errno === 0) {
  129. that.getAddressList();
  130. }
  131. });
  132. }
  133. }
  134. })
  135. return false;
  136. },
  137. onHide: function () {
  138. // 页面隐藏
  139. },
  140. onUnload: function () {
  141. // 页面关闭
  142. }
  143. })