index.js 6.6 KB

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