addressManage.js 2.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127
  1. import { API } from "../../../service/api"
  2. // pages/my/addressManage/addressManage.js
  3. Page({
  4. /**
  5. * 页面的初始数据
  6. */
  7. data: {
  8. addressList:[],
  9. selectAddress:''
  10. },
  11. // 获取地址列表
  12. getAddressList(){
  13. API.getAddressList().then(res=>{
  14. res.userAddressList.forEach(item=>{
  15. item.defaultFlag = Number(item.defaultFlag);
  16. })
  17. this.setData({
  18. addressList:res.userAddressList
  19. })
  20. })
  21. },
  22. // 添加地址
  23. addAddress(){
  24. wx.navigateTo({
  25. url: '/pages/my/addAddress/addAddress',
  26. })
  27. },
  28. // 监听地址选中
  29. onCheckboxChange(e){
  30. let index = e.currentTarget.dataset.index;
  31. let addressList = this.data.addressList;
  32. addressList.forEach((item,index2)=>{
  33. item.defaultFlag = false;
  34. if(index2 === index){
  35. item.defaultFlag = true;
  36. }
  37. })
  38. this.setData({
  39. selectAddress:this.data.addressList[index],
  40. addressList
  41. })
  42. this.changeBack();
  43. },
  44. // 监听返回
  45. changeBack(){
  46. if(this.data.moldify){
  47. // 获取页面栈
  48. const pages = getCurrentPages()
  49. // 获取上一页实例
  50. const prevPage = pages[pages.length - 2];
  51. // 监听返回按钮
  52. wx.enableAlertBeforeUnload({
  53. message: '确定修改为当前地址?',
  54. success: (res) => {
  55. console.log(res);
  56. // 返回前传递参数给上一页
  57. if (prevPage) {
  58. prevPage.setData({
  59. returnData:this.data.selectAddress
  60. })
  61. }
  62. wx.navigateBack()
  63. }
  64. })
  65. }
  66. },
  67. /**
  68. * 生命周期函数--监听页面加载
  69. */
  70. onLoad(options) {
  71. console.log(options);
  72. this.setData({
  73. moldify:options.moldify
  74. })
  75. },
  76. /**
  77. * 生命周期函数--监听页面初次渲染完成
  78. */
  79. onReady() {
  80. },
  81. /**
  82. * 生命周期函数--监听页面显示
  83. */
  84. onShow() {
  85. this.getAddressList();
  86. },
  87. /**
  88. * 生命周期函数--监听页面隐藏
  89. */
  90. onHide() {
  91. },
  92. /**
  93. * 生命周期函数--监听页面卸载
  94. */
  95. onUnload() {
  96. },
  97. /**
  98. * 页面相关事件处理函数--监听用户下拉动作
  99. */
  100. onPullDownRefresh() {
  101. },
  102. /**
  103. * 页面上拉触底事件的处理函数
  104. */
  105. onReachBottom() {
  106. },
  107. /**
  108. * 用户点击右上角分享
  109. */
  110. onShareAppMessage() {
  111. }
  112. })