addresslist.js 4.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146
  1. import { models, db, _ } from '../../utils/cloudbase.js'
  2. Page({
  3. data: {
  4. addresses: [],
  5. souimg: '',
  6. shanchu: '',
  7. xiugaiimg: '',
  8. dingweiimg: '',
  9. },
  10. onShow() {
  11. this.getdatalist()
  12. },
  13. onLoad(options) {
  14. // const title = options.title ? decodeURIComponent(options.title) : '商品列表';
  15. // this.setData({ title });
  16. // wx.setNavigationBarTitle({ title });
  17. const fileIDs = [
  18. 'cloud://cloud1-6g98iw7i28b01747.636c-cloud1-6g98iw7i28b01747-1367995226/images/icon/sou.png',
  19. 'cloud://cloud1-6g98iw7i28b01747.636c-cloud1-6g98iw7i28b01747-1367995226/images/icon/shanchu.png',
  20. 'cloud://cloud1-6g98iw7i28b01747.636c-cloud1-6g98iw7i28b01747-1367995226/images/icon/xiugai.png',
  21. 'cloud://cloud1-6g98iw7i28b01747.636c-cloud1-6g98iw7i28b01747-1367995226/images/icon/dingwei.png'
  22. ];
  23. // 并发下载多个 fileID
  24. Promise.all(
  25. fileIDs.map(fileID => wx.cloud.downloadFile({ fileID }))
  26. ).then(results => {
  27. // 每个 result 对应一个下载结果
  28. const tempFilePaths = results.map(r => r.tempFilePath);
  29. console.log('全部下载成功:', tempFilePaths);
  30. this.setData({
  31. souimg: tempFilePaths[0],
  32. shanchu: tempFilePaths[1],
  33. xiugaiimg: tempFilePaths[2],
  34. dingweiimg: tempFilePaths[3],
  35. });
  36. }).catch(err => {
  37. console.error('有文件下载失败:', err);
  38. });
  39. },
  40. // 地址数据
  41. async getdatalist() {
  42. const { data } = await models.adresses.list({
  43. filter: {
  44. where: {}
  45. },
  46. pageSize: 100, // 分页大小,建议指定,如需设置为其它值,需要和 pageNumber 配合使用,两者同时指定才会生效
  47. pageNumber: 1, // 第几页
  48. getCount: true, // 开启用来获取总数
  49. // envType: pre 体验环境, prod 正式环境
  50. envType: "prod",
  51. });
  52. // 返回查询到的数据列表 records 和 总数 total
  53. console.log(data);
  54. this.setData({
  55. addresses: data.records
  56. })
  57. },
  58. handleEdit(e) {
  59. const index = e.currentTarget.dataset.index;
  60. // 处理编辑逻辑
  61. },
  62. handleDelete(e) {
  63. const index = e.currentTarget.dataset.index;
  64. // 处理删除逻辑
  65. },
  66. // 添加地址
  67. async handleAddAddress() {
  68. // 处理添加地址逻辑
  69. wx.navigateTo({
  70. url: `/subpackages/address/address`
  71. });
  72. // const { data } = await models.adresses.create({
  73. // data: {
  74. // detailed_address: "沈阳国际软件园A区 A08栋 204", // 详细地址
  75. // address: "辽宁省-沈阳市-浑南区-沈本大街-沈阳国际软件园A区 A08栋 204", // 地址
  76. // municipality: "沈阳市", // 市
  77. // default: 1, // 默认
  78. // wx_user_id: "文本", // 用户id
  79. // province: "辽宁省", // 省
  80. // phone: "15376132110", // 手机号
  81. // street: "沈本大街", // 街道
  82. // district: "浑南区", // 区县
  83. // name: "王五", // 收货人
  84. // },
  85. // // envType: pre 体验环境, prod 正式环境
  86. // envType: "prod",
  87. // });
  88. // // 返回创建的数据 id
  89. // console.log(data);
  90. },
  91. // 删除地址
  92. async onDelete(event) {
  93. const _ids = event.currentTarget.dataset.id;
  94. console.log(_ids, '_ids');
  95. const { data } = await models.adresses.delete({
  96. filter: {
  97. where: {
  98. $and: [
  99. {
  100. _id: {
  101. $eq: _ids, // 推荐传入_id数据标识进行操作
  102. },
  103. },
  104. ]
  105. }
  106. },
  107. // envType: pre 体验环境, prod 正式环境
  108. envType: "prod",
  109. });
  110. // 返回删除成功的条数
  111. console.log(data);
  112. // 删除成功后,更新页面数据
  113. if (data.count > 0) {
  114. wx.showToast({
  115. title: '删除成功',
  116. icon: 'success',
  117. });
  118. this.getdatalist(); // 重新获取地址列表
  119. } else {
  120. wx.showToast({
  121. title: '删除失败',
  122. icon: 'none',
  123. });
  124. }
  125. },
  126. // 编辑
  127. onEdit() {
  128. wx.navigateTo({
  129. url: `/subpackages/address/address`
  130. });
  131. }
  132. });