// subpackages/dahome/dahome.js import { models, db, _ } from '../../utils/cloudbase.js' Page({ data: { levelOptions: ['初级', '中级', '高级'], selectedLevelIndex: 0, typeOptions: ['1', '2', '3'], selectedTypeIndex: 0, items: [], souimg: '', xiaziimg: '', showimg: '', xialaimg: '', pageNumber: 1, pageSize: 10, hasMore: true, // 是否还有更多数据 isLoading: false, // 防止多次触发 searchText: '', // 搜索关键词 inputFocus: false, // goods_9: '', }, onLoad(options) { // 存储 options 到 this 中 this.options = options; if (options.autofocus === '1') { // 延迟设置 focus,让页面完成渲染 setTimeout(() => { this.setData({ inputFocus: true }); }, 300); // 300ms 通常足够 } // 列表数据 this.getdatalist() // 获取图片 const fileIDs = [ 'cloud://cloud1-6g98iw7i28b01747.636c-cloud1-6g98iw7i28b01747-1367995226/images/icon/sou.png', 'cloud://cloud1-6g98iw7i28b01747.636c-cloud1-6g98iw7i28b01747-1367995226/images/icon/xiazi.png', 'cloud://cloud1-6g98iw7i28b01747.636c-cloud1-6g98iw7i28b01747-1367995226/images/icon/show_1.png', 'cloud://cloud1-6g98iw7i28b01747.636c-cloud1-6g98iw7i28b01747-1367995226/images/icon/xiala.png', // 'cloud://cloud1-6g98iw7i28b01747.636c-cloud1-6g98iw7i28b01747-1367995226/images/goods/goods_9.jpg' ]; // 并发下载多个 fileID Promise.all( fileIDs.map(fileID => wx.cloud.downloadFile({ fileID })) ).then(results => { // 每个 result 对应一个下载结果 const tempFilePaths = results.map(r => r.tempFilePath); console.log('全部下载成功:', tempFilePaths); this.setData({ souimg: tempFilePaths[0], xiaziimg: tempFilePaths[1], showimg: tempFilePaths[2], xialaimg: tempFilePaths[3], // goods_9: tempFilePaths[4], }); }).catch(err => { console.error('有文件下载失败:', err); }); }, onReachBottom() { // 上拉触底事件的处理函数 this.loadMore(); }, loadMore() { // 加载更多数据的逻辑 console.log('加载更多'); this.getdatalist(true); }, // 输入即搜索 onSearchInput(e) { const searchText = e.detail.value; this.setData({ searchText, pageNumber: 1, items: [], hasMore: true, isLoading: false }); this.getdatalist(false); }, // 列表数据 async getdatalist(isLoadMore = false) { const { pageNumber, pageSize, selectedLevelIndex, selectedTypeIndex, searchText } = this.data; // 构造过滤条件 const whereFilter = { tag_id: 'BULYBZSEY8', level: Number(selectedTypeIndex) + 1, dan: Number(selectedLevelIndex), }; // 添加模糊搜索 if (searchText.trim()) { whereFilter.name = { $regex_ci: searchText }; } try { const { data } = await models.file_manage.list({ filter: { where: whereFilter }, pageSize, pageNumber, getCount: true, envType: "prod", }); const collectList = data.records || []; this.setData({ items: isLoadMore ? this.data.items.concat(collectList) : collectList, pageNumber: pageNumber + 1, hasMore: collectList.length === pageSize, isLoading: false }); } catch (err) { console.error('数据获取失败:', err); } }, handleLevelChange(e) { const index = Number(e.detail.value); this.setData({ selectedLevelIndex: index, pageNumber: 1, // 重置分页,从第一页查 hasMore: true, isLoading: false, items: [] // 可选:清空旧数据避免闪烁 }); this.getdatalist(false) }, handleTypeChange(e) { const index = Number(e.detail.value); this.setData({ selectedTypeIndex: index, pageNumber: 1, // 重置分页,从第一页查 hasMore: true, isLoading: false, items: [] // 可选:清空旧数据避免闪烁 }); this.getdatalist(false) }, goToGoodsList(event) { // 获取绑定的数据 const item = event.currentTarget.dataset.item; // 将数据转换为 JSON 字符串并传递 const itemStr = encodeURIComponent(JSON.stringify(item)); wx.navigateTo({ url: `/subpackages/details/details?item=${itemStr}` }); } // // 新增数据 async // async dianji() { // const { data } = await models.file_manage.create({ // data: { // level: 1, // 级别 // range: ['大班'], // 适用范围 // remark: "文本", // 备注 // type: 0, // 文件类型 // url: ['cloud://cloud1-6g98iw7i28b01747.636c-cloud1-6g98iw7i28b01747-1367995226/123123.mp4'], // 路径 // download_count: 1, // 下载人数 // dan: 1, // 段位 // cover: "cloud://cloud1-6g98iw7i28b01747.636c-cloud1-6g98iw7i28b01747-1367995226/未命名的设计.png", // 封面 // size: "123.12KB", // 文件大小 // name: "动手动脑图库5", // 文件名 // tag_id: "BULYF5VJ9W", // 标签id // publisher: "李老师", // 发布者 // describe: "文本", // 描述 // }, // // envType: pre 体验环境, prod 正式环境 // envType: "prod", // }); // // 返回创建的数据 id // console.log(data); // }, })