detailsimg.js 1.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566
  1. // subpackages/detailsimg/detailsimg.js
  2. // import { models, db, _ } from '../../utils/cloudbase.js'
  3. import { getDB, getModels, getCommand, getTempFileURLs } from '../../utils/cloudbase.js'
  4. Page({
  5. /**
  6. * 页面的初始数据
  7. */
  8. data: {
  9. itemlist: {},
  10. datalist: []
  11. },
  12. /**
  13. * 生命周期函数--监听页面加载
  14. */
  15. onLoad(options) {
  16. // 获取传递过来的数据
  17. const itemStr = decodeURIComponent(options.item);
  18. const item = JSON.parse(itemStr);
  19. // 设置到页面数据中
  20. this.setData({
  21. itemlist: item
  22. }, () => {
  23. this.getdatalist()
  24. });
  25. },
  26. async getdatalist() {
  27. const models = await getModels()
  28. const { data } = await models.wx_details.list({
  29. filter: {
  30. where: {
  31. file_manage_id: this.data.itemlist._id
  32. }
  33. },
  34. pageSize: 50, // 分页大小,建议指定,如需设置为其它值,需要和 pageNumber 配合使用,两者同时指定才会生效
  35. pageNumber: 1, // 第几页
  36. getCount: true, // 开启用来获取总数
  37. // envType: pre 体验环境, prod 正式环境
  38. envType: "prod",
  39. });
  40. // 返回查询到的数据列表 records 和 总数 total
  41. let records = data.records || []
  42. // 如果数据库存的是 fileID 或 cloudPath,转换成临时链接
  43. const fileIDs = records.map(item => item.url).filter(Boolean)
  44. let tempFiles = []
  45. if (fileIDs.length > 0) {
  46. tempFiles = await getTempFileURLs(fileIDs)
  47. }
  48. // 添加可渲染字段
  49. records = records.map((item, index) => ({
  50. ...item,
  51. urlTemp: tempFiles[index] ? tempFiles[index].tempFileURL : ''
  52. }))
  53. this.setData({
  54. datalist: records
  55. })
  56. console.log(records, 'data.records');
  57. },
  58. })