1
0

address.js 3.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157
  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. if (!(/^1[34578]\d{9}$/.test(res.telNumber)) || res.telNumber.length != 11) {
  102. util.showErrorToast('手机号有误');
  103. return false;
  104. }
  105. util.request(api.AddressSync, {
  106. userName: res.userName,
  107. telNumber: res.telNumber,
  108. provinceName: res.provinceName,
  109. cityName: res.cityName,
  110. countyName: res.countyName,
  111. detailInfo: res.detailInfo,
  112. postalCode: res.postalCode,
  113. nationalCode: res.nationalCode,
  114. latitude: res.latitude,
  115. longitude: res.longitude
  116. }, 'POST').then(function (res) {
  117. if (res.errno === 0) {
  118. that.getAddressList();
  119. } else {
  120. util.showErrorToast(res.errmsg);
  121. }
  122. });
  123. },
  124. deleteAddress(event) {
  125. console.log(event.target);
  126. let that = this;
  127. wx.showModal({
  128. title: '',
  129. content: '确定要删除地址?',
  130. success: function (res) {
  131. if (res.confirm) {
  132. let addressId = event.target.dataset.addressId;
  133. util.request(api.AddressDelete, { id: addressId }, 'POST').then(function (res) {
  134. if (res.errno === 0) {
  135. that.getAddressList();
  136. }
  137. });
  138. }
  139. }
  140. })
  141. return false;
  142. },
  143. onHide: function () {
  144. // 页面隐藏
  145. },
  146. onUnload: function () {
  147. // 页面关闭
  148. }
  149. })