index.js 6.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209
  1. // index.js
  2. // const db=wx.cloud.database()
  3. import { models, db } from '../../utils/cloudbase.js'
  4. const app = getApp();
  5. Page({
  6. data: {
  7. carousellist: [],
  8. homepage_8: '',
  9. homepage_9: '',
  10. souimg: '',
  11. },
  12. onShow() {
  13. // 检查登录状态
  14. app.checkLoginStatus();
  15. },
  16. onLoad() {
  17. // 获取轮播图数据
  18. this.getBanner();
  19. // 获取图片
  20. const fileIDs = [
  21. // 'cloud://cloud1-6g98iw7i28b01747.636c-cloud1-6g98iw7i28b01747-1367995226/images/banner/carousel_1.jpg',
  22. // 'cloud://cloud1-6g98iw7i28b01747.636c-cloud1-6g98iw7i28b01747-1367995226/images/banner/carousel_2.jpg',
  23. // 'cloud://cloud1-6g98iw7i28b01747.636c-cloud1-6g98iw7i28b01747-1367995226/images/banner/carousel_3.jpg',
  24. 'cloud://cloud1-6g98iw7i28b01747.636c-cloud1-6g98iw7i28b01747-1367995226/images/homepage/homepage_8.png',
  25. 'cloud://cloud1-6g98iw7i28b01747.636c-cloud1-6g98iw7i28b01747-1367995226/images/homepage/homepage_9.png',
  26. 'cloud://cloud1-6g98iw7i28b01747.636c-cloud1-6g98iw7i28b01747-1367995226/images/icon/sou.png',
  27. ];
  28. // 并发下载多个 fileID
  29. Promise.all(
  30. fileIDs.map(fileID => wx.cloud.downloadFile({ fileID }))
  31. ).then(results => {
  32. // 每个 result 对应一个下载结果
  33. const tempFilePaths = results.map(r => r.tempFilePath);
  34. console.log('全部下载成功:', tempFilePaths);
  35. this.setData({
  36. // carousellist: tempFilePaths.slice(0, 2),
  37. homepage_8: tempFilePaths[0],
  38. homepage_9: tempFilePaths[1],
  39. souimg: tempFilePaths[2]
  40. });
  41. }).catch(err => {
  42. console.error('有文件下载失败:', err);
  43. });
  44. },
  45. // 轮播数据
  46. async getBanner() {
  47. const { data } = await models.banner.list({
  48. filter: {
  49. where: {
  50. position: 0
  51. }
  52. },
  53. // envType: pre 体验环境, prod 正式环境
  54. envType: "prod",
  55. });
  56. // 返回查询到的数据
  57. this.setData({
  58. carousellist: data.records
  59. })
  60. },
  61. // 页面跳转 二级页面
  62. selectGroupOption(e) {
  63. const option = e.currentTarget.dataset.option;
  64. let url = '';
  65. switch (option) {
  66. case 'dahome':
  67. url = '/subpackages/dahome/dahome';
  68. break;
  69. case 'imghome':
  70. url = '/subpackages/imghome/imghome';
  71. break;
  72. // case 'teaching':
  73. // url = '/subpackages/jxhome/jxhome';
  74. // break;
  75. // case 'large':
  76. // url = '/subpackages/zshome/zshome';
  77. // break;
  78. default:
  79. return;
  80. }
  81. wx.navigateTo({
  82. url: url
  83. });
  84. },
  85. // 上传轮播图 存储轮播图图片地址 和展示位置 后续需要存一个上传的图片名字
  86. // async getData() {
  87. // try {
  88. // // 上传文件到云存储
  89. // const uploadRes = await wx.cloud.uploadFile({
  90. // cloudPath: "imgs/banner/carousel_3.jpg", // 上传至云端的路径
  91. // filePath: "image/imgs/carousel_3.jpg" // 小程序临时文件路径
  92. // });
  93. // // 获取上传文件的 fileID
  94. // const fileID = uploadRes.fileID;
  95. // console.log("文件 ID:", fileID);
  96. // // 将文件路径存入 banner 表
  97. // const { data } = await models.banner.create({
  98. // data: {
  99. // remark: "", // 备注
  100. // position: 4, // 展示位置
  101. // describe: "", // 描述
  102. // url: fileID, // 路径
  103. // },
  104. // envType: "prod", // 正式环境
  105. // });
  106. // // 返回创建的数据 id
  107. // console.log("创建的数据:", data);
  108. // } catch (error) {
  109. // console.error("操作失败:", error);
  110. // wx.showToast({
  111. // title: '操作失败,请稍后再试',
  112. // icon: 'none',
  113. // });
  114. // }
  115. // }
  116. // async
  117. // async getData() {
  118. // wx.cloud
  119. // .uploadFile({
  120. // cloudPath: "imgs/banner/carousel_1.jpg", // 上传至云端的路径
  121. // filePath: "image/imgs/carousel_1.jpg" // 小程序临时文件路径,需结合小程序相关 API 获取
  122. // })
  123. // .then((res) => {
  124. // // 返回文件 ID
  125. // const fileID = res.fileID;
  126. // console.log("文件 ID:", fileID);
  127. // // 下载文件
  128. // wx.cloud.downloadFile({
  129. // fileID: fileID,
  130. // })
  131. // .then((res) => {
  132. // const tempFilePath = res.tempFilePath;
  133. // console.log("临时文件路径:", tempFilePath);
  134. // // 获取文件大小
  135. // wx.getFileInfo({
  136. // filePath: tempFilePath,
  137. // })
  138. // .then((info) => {
  139. // console.log("文件大小:", info.size, "字节");
  140. // const fileSizeInBytes = info.size; // 文件大小(字节)
  141. // const fileSizeInMB = fileSizeInBytes / (1024 * 1024); // 转换为 MB
  142. // console.log("文件大小:", fileSizeInMB.toFixed(2), "MB");
  143. // })
  144. // .catch((err) => {
  145. // console.error("获取文件大小失败:", err);
  146. // });
  147. // })
  148. // .catch((err) => {
  149. // console.error("文件下载失败:", err);
  150. // });
  151. // });
  152. // const { data } = await models.login.list({
  153. // filter: {
  154. // where: {}
  155. // },
  156. // pageSize: 10, // 分页大小,建议指定,如需设置为其它值,需要和 pageNumber 配合使用,两者同时指定才会生效
  157. // pageNumber: 1, // 第几页
  158. // getCount: true, // 开启用来获取总数
  159. // // envType: pre 体验环境, prod 正式环境
  160. // envType: "prod",
  161. // });
  162. // // 返回查询到的数据列表 records 和 总数 total
  163. // console.log(data);
  164. // const { data } = await models.file_manage.get({
  165. // filter: {
  166. // where: {
  167. // $and: [
  168. // {
  169. // _id: {
  170. // $eq: 'BT7HKJ5Z2Y', // 推荐传入_id数据标识进行操作
  171. // },
  172. // },
  173. // ]
  174. // }
  175. // },
  176. // // envType: pre 体验环境, prod 正式环境
  177. // envType: "prod",
  178. // });
  179. // // 返回创建的数据 id
  180. // console.log(data);
  181. // { id: "7d8ff72c665eb6c30243b6313aa8539e"}
  182. // db.collection("homelist").get().then(res => {
  183. // console.log(res);
  184. // }).catch(err => {
  185. // console.log(err);
  186. // })
  187. // },
  188. })