imghome.js 2.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107
  1. // subpackages/dahome/dahome.js
  2. import { models, db, _ } from '../../utils/cloudbase.js'
  3. Page({
  4. data: {
  5. // levelOptions: ['初级', '中级', '高级'],
  6. // selectedLevelIndex: 0,
  7. typeOptions: ['1段', '2段', '3段'],
  8. selectedTypeIndex: 0,
  9. items: [],
  10. souimg: '',
  11. xialaimg: '',
  12. pageNumber: 1,
  13. pageSize: 10,
  14. hasMore: true, // 是否还有更多数据
  15. isLoading: false, // 防止多次触发
  16. // goods_9: '',
  17. },
  18. onLoad() {
  19. // 列表数据
  20. this.getdatalist()
  21. // 获取图片
  22. const fileIDs = [
  23. 'cloud://cloud1-6g98iw7i28b01747.636c-cloud1-6g98iw7i28b01747-1367995226/images/icon/sou.png',
  24. 'cloud://cloud1-6g98iw7i28b01747.636c-cloud1-6g98iw7i28b01747-1367995226/images/icon/xiala.png',
  25. // 'cloud://cloud1-6g98iw7i28b01747.636c-cloud1-6g98iw7i28b01747-1367995226/images/goods/goods_9.jpg'
  26. ];
  27. // 并发下载多个 fileID
  28. Promise.all(
  29. fileIDs.map(fileID => wx.cloud.downloadFile({ fileID }))
  30. ).then(results => {
  31. // 每个 result 对应一个下载结果
  32. const tempFilePaths = results.map(r => r.tempFilePath);
  33. console.log('全部下载成功:', tempFilePaths);
  34. this.setData({
  35. souimg: tempFilePaths[0],
  36. xialaimg: tempFilePaths[1],
  37. // goods_9: tempFilePaths[2],
  38. });
  39. }).catch(err => {
  40. console.error('有文件下载失败:', err);
  41. });
  42. },
  43. onReachBottom() {
  44. // 上拉触底事件的处理函数
  45. this.loadMore();
  46. },
  47. loadMore() {
  48. // 加载更多数据的逻辑
  49. console.log('加载更多');
  50. this.getdatalist(true);
  51. },
  52. // 列表数据
  53. async getdatalist(isLoadMore = false) {
  54. const { pageNumber, pageSize } = this.data;
  55. const { data } = await models.file_manage.list({
  56. filter: {
  57. where: {
  58. tag_id: 'BULYF5VJ9W',
  59. level: Number(this.data.selectedTypeIndex) + 1,
  60. // dan: 1,
  61. }
  62. },
  63. pageSize,
  64. pageNumber,
  65. getCount: true, // 开启用来获取总数
  66. envType: "prod",
  67. });
  68. // 返回查询到的数据列表 records 和 总数 total
  69. const collectList = data.records || [];
  70. this.setData({
  71. items: isLoadMore ? this.data.items.concat(collectList) : collectList,
  72. pageNumber: pageNumber + 1,
  73. hasMore: collectList.length === pageSize,
  74. isLoading: false
  75. })
  76. },
  77. goToGoodsList(event) {
  78. // 获取绑定的数据
  79. const item = event.currentTarget.dataset.item;
  80. // 将数据转换为 JSON 字符串并传递
  81. const itemStr = encodeURIComponent(JSON.stringify(item));
  82. wx.navigateTo({
  83. url: `/subpackages/detailsimg/detailsimg?item=${itemStr}`
  84. });
  85. },
  86. handleTypeChange(e) {
  87. const index = Number(e.detail.value);
  88. this.setData({
  89. selectedTypeIndex: index,
  90. pageNumber: 1, // 重置分页,从第一页查
  91. hasMore: true,
  92. isLoading: false,
  93. items: [] // 可选:清空旧数据避免闪烁
  94. });
  95. this.getdatalist(false);
  96. }
  97. })