address.js 3.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125
  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. },
  17. onReady: function () {
  18. // 页面渲染完成
  19. },
  20. onShow: function () {
  21. // 页面显示
  22. let userInfo = wx.getStorageSync('userInfo');
  23. let token = wx.getStorageSync('token');
  24. if (userInfo && token) {
  25. this.getAddressList();
  26. } else {
  27. wx.navigateTo({
  28. url: '/pages/ucenter/userLogin/userLogin'
  29. })
  30. }
  31. },
  32. getAddressList() {
  33. let that = this;
  34. util.request(api.AddressList).then(function (res) {
  35. if (res.errno === 0) {
  36. that.setData({
  37. addressList: res.data
  38. });
  39. }
  40. });
  41. },
  42. addressAddOrUpdate(event) {
  43. console.log(event)
  44. wx.navigateTo({
  45. url: '/pages/ucenter/addressAdd/addressAdd?id=' + event.currentTarget.dataset.addressId
  46. })
  47. },
  48. deleteAddress(event) {
  49. console.log(event.target)
  50. let that = this;
  51. wx.showModal({
  52. title: '',
  53. content: '确定要删除地址?',
  54. success: function (res) {
  55. if (res.confirm) {
  56. let addressId = event.target.dataset.addressId;
  57. util.request(api.AddressDelete, { id: addressId }, 'POST').then(function (res) {
  58. if (res.errno === 0) {
  59. that.getAddressList();
  60. }
  61. });
  62. console.log('用户点击确定')
  63. }
  64. }
  65. })
  66. return false;
  67. },
  68. getWtAddress() {
  69. let that = this;
  70. wx.chooseAddress({
  71. success: function (res) {
  72. console.log(res.detailInfo);
  73. qqMap.geocoder({ //调用地址解析类
  74. address: res.provinceName+","+res.cityName+","+res.countyName+","+ res.detailInfo,
  75. success: gcres => {
  76. res.latitude = gcres.result.location.lat;
  77. res.longitude = gcres.result.location.lng;
  78. that.syncAddress(res);
  79. },
  80. fail: function (gcres) {
  81. console.log("fail:" + gcres);
  82. that.syncAddress(res);
  83. },
  84. complete: function (gcres) {
  85. console.log("complete:" + gcres);
  86. }
  87. });
  88. }
  89. })
  90. },
  91. syncAddress(res) {
  92. let that = this;
  93. if (!(/^1[34578]\d{9}$/.test(res.telNumber)) || res.telNumber.length != 11) {
  94. util.showErrorToast('手机号有误');
  95. return false;
  96. }
  97. util.request(api.AddressSync, {
  98. userName: res.userName,
  99. telNumber: res.telNumber,
  100. provinceName: res.provinceName,
  101. cityName: res.cityName,
  102. countyName: res.countyName,
  103. detailInfo: res.detailInfo,
  104. postalCode: res.postalCode,
  105. nationalCode: res.nationalCode,
  106. latitude: res.latitude,
  107. longitude: res.longitude
  108. }, 'POST').then(function (res) {
  109. if (res.errno === 0) {
  110. that.getAddressList();
  111. } else {
  112. util.showErrorToast(res.errmsg);
  113. }
  114. });
  115. },
  116. onHide: function () {
  117. // 页面隐藏
  118. },
  119. onUnload: function () {
  120. // 页面关闭
  121. }
  122. })