dahome.js 4.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151
  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. xiaziimg: '',
  12. showimg: '',
  13. xialaimg: '',
  14. pageNumber: 1,
  15. pageSize: 10,
  16. hasMore: true, // 是否还有更多数据
  17. isLoading: false, // 防止多次触发
  18. // goods_9: '',
  19. },
  20. onLoad() {
  21. // 列表数据
  22. this.getdatalist()
  23. // 获取图片
  24. const fileIDs = [
  25. 'cloud://cloud1-6g98iw7i28b01747.636c-cloud1-6g98iw7i28b01747-1367995226/images/icon/sou.png',
  26. 'cloud://cloud1-6g98iw7i28b01747.636c-cloud1-6g98iw7i28b01747-1367995226/images/icon/xiazi.png',
  27. 'cloud://cloud1-6g98iw7i28b01747.636c-cloud1-6g98iw7i28b01747-1367995226/images/icon/show_1.png',
  28. 'cloud://cloud1-6g98iw7i28b01747.636c-cloud1-6g98iw7i28b01747-1367995226/images/icon/xiala.png',
  29. // 'cloud://cloud1-6g98iw7i28b01747.636c-cloud1-6g98iw7i28b01747-1367995226/images/goods/goods_9.jpg'
  30. ];
  31. // 并发下载多个 fileID
  32. Promise.all(
  33. fileIDs.map(fileID => wx.cloud.downloadFile({ fileID }))
  34. ).then(results => {
  35. // 每个 result 对应一个下载结果
  36. const tempFilePaths = results.map(r => r.tempFilePath);
  37. console.log('全部下载成功:', tempFilePaths);
  38. this.setData({
  39. souimg: tempFilePaths[0],
  40. xiaziimg: tempFilePaths[1],
  41. showimg: tempFilePaths[2],
  42. xialaimg: tempFilePaths[3],
  43. // goods_9: tempFilePaths[4],
  44. });
  45. }).catch(err => {
  46. console.error('有文件下载失败:', err);
  47. });
  48. },
  49. onReachBottom() {
  50. // 上拉触底事件的处理函数
  51. this.loadMore();
  52. },
  53. loadMore() {
  54. // 加载更多数据的逻辑
  55. console.log('加载更多');
  56. this.getdatalist(true);
  57. },
  58. // 列表数据
  59. async getdatalist(isLoadMore = false) {
  60. console.log(Number(this.data.selectedTypeIndex) + 1, Number(this.data.selectedLevelIndex), 'this.data.selectedLevelIndex + 1');
  61. const { pageNumber, pageSize } = this.data;
  62. const { data } = await models.file_manage.list({
  63. filter: {
  64. where: {
  65. tag_id: 'BULYBZSEY8',
  66. level: Number(this.data.selectedTypeIndex) + 1,
  67. dan: Number(this.data.selectedLevelIndex),
  68. }
  69. },
  70. pageSize,
  71. pageNumber,
  72. getCount: true, // 开启用来获取总数
  73. envType: "prod",
  74. });
  75. const collectList = data.records || [];
  76. // 返回查询到的数据列表 records 和 总数 total
  77. console.log(data, '123123');
  78. this.setData({
  79. items: isLoadMore ? this.data.items.concat(collectList) : collectList,
  80. pageNumber: pageNumber + 1,
  81. hasMore: collectList.length === pageSize,
  82. isLoading: false
  83. })
  84. },
  85. handleLevelChange(e) {
  86. const index = Number(e.detail.value);
  87. this.setData({
  88. selectedLevelIndex: index,
  89. pageNumber: 1, // 重置分页,从第一页查
  90. hasMore: true,
  91. isLoading: false,
  92. items: [] // 可选:清空旧数据避免闪烁
  93. });
  94. this.getdatalist(false)
  95. },
  96. handleTypeChange(e) {
  97. const index = Number(e.detail.value);
  98. this.setData({
  99. selectedTypeIndex: index,
  100. pageNumber: 1, // 重置分页,从第一页查
  101. hasMore: true,
  102. isLoading: false,
  103. items: [] // 可选:清空旧数据避免闪烁
  104. });
  105. this.getdatalist(false)
  106. },
  107. goToGoodsList(event) {
  108. // 获取绑定的数据
  109. const item = event.currentTarget.dataset.item;
  110. // 将数据转换为 JSON 字符串并传递
  111. const itemStr = encodeURIComponent(JSON.stringify(item));
  112. wx.navigateTo({
  113. url: `/subpackages/details/details?item=${itemStr}`
  114. });
  115. }
  116. // // 新增数据 async
  117. // async dianji() {
  118. // const { data } = await models.file_manage.create({
  119. // data: {
  120. // level: 1, // 级别
  121. // range: ['大班'], // 适用范围
  122. // remark: "文本", // 备注
  123. // type: 0, // 文件类型
  124. // url: ['cloud://cloud1-6g98iw7i28b01747.636c-cloud1-6g98iw7i28b01747-1367995226/123123.mp4'], // 路径
  125. // download_count: 1, // 下载人数
  126. // dan: 1, // 段位
  127. // cover: "cloud://cloud1-6g98iw7i28b01747.636c-cloud1-6g98iw7i28b01747-1367995226/未命名的设计.png", // 封面
  128. // size: "123.12KB", // 文件大小
  129. // name: "动手动脑图库5", // 文件名
  130. // tag_id: "BULYF5VJ9W", // 标签id
  131. // publisher: "李老师", // 发布者
  132. // describe: "文本", // 描述
  133. // },
  134. // // envType: pre 体验环境, prod 正式环境
  135. // envType: "prod",
  136. // });
  137. // // 返回创建的数据 id
  138. // console.log(data);
  139. // },
  140. })