index.js 4.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162
  1. // index.js
  2. // const db=wx.cloud.database()
  3. import { models, db } from '../../utils/cloudbase.js'
  4. import Dialog from '/vant-weapp/dialog/dialog';
  5. const app = getApp();
  6. Page({
  7. data: {
  8. // isLoggedIn: false, // 是否已登录
  9. carousellist: [],
  10. homepage_4: '',
  11. homepage_3: '',
  12. homepage_2: '',
  13. homepage_1: '',
  14. souimg: '',
  15. },
  16. onShow() {
  17. if (typeof this.getTabBar === 'function' && this.getTabBar()) {
  18. this.getTabBar().setSelected(0); // 首页索引是0
  19. }
  20. // // 检查登录状态
  21. // app.checkLoginStatus();
  22. // 获取轮播图数据
  23. this.getBanner();
  24. // 获取图片
  25. const fileIDs = [
  26. 'cloud://honghgaier-5guiffgcf17a2eea.686f-honghgaier-5guiffgcf17a2eea-1373037829/images/homepage/homepage_4.png',
  27. 'cloud://honghgaier-5guiffgcf17a2eea.686f-honghgaier-5guiffgcf17a2eea-1373037829/images/homepage/homepage_3.png',
  28. 'cloud://honghgaier-5guiffgcf17a2eea.686f-honghgaier-5guiffgcf17a2eea-1373037829/images/homepage/homepage_2.png',
  29. 'cloud://honghgaier-5guiffgcf17a2eea.686f-honghgaier-5guiffgcf17a2eea-1373037829/images/homepage/homepage_1.png',
  30. 'cloud://honghgaier-5guiffgcf17a2eea.686f-honghgaier-5guiffgcf17a2eea-1373037829/images/icon/sou.png',
  31. ];
  32. // 并发下载多个 fileID
  33. // Promise.all(
  34. // fileIDs.map(fileID => wx.cloud.downloadFile({ fileID }))
  35. // ).then(results => {
  36. // // 每个 result 对应一个下载结果
  37. // const tempFilePaths = results.map(r => r.tempFilePath);
  38. // console.log('全部下载成功:', tempFilePaths);
  39. // this.setData({
  40. // // carousellist: tempFilePaths.slice(0, 2),
  41. // homepage_4: tempFilePaths[0],
  42. // homepage_3: tempFilePaths[1],
  43. // homepage_2: tempFilePaths[2],
  44. // homepage_1: tempFilePaths[3],
  45. // souimg: tempFilePaths[4]
  46. // });
  47. // }).catch(err => {
  48. // console.error('有文件下载失败:', err);
  49. // });
  50. wx.cloud.getTempFileURL({
  51. fileList: fileIDs,
  52. success: res => {
  53. console.log('getTempFileURL结果', res.fileList);
  54. this.setData({
  55. homepage_4: res.fileList[0].tempFileURL,
  56. homepage_3: res.fileList[1].tempFileURL,
  57. homepage_2: res.fileList[2].tempFileURL,
  58. homepage_1: res.fileList[3].tempFileURL,
  59. souimg: res.fileList[4].tempFileURL,
  60. });
  61. },
  62. fail: err => {
  63. console.error('getTempFileURL失败', err);
  64. }
  65. });
  66. },
  67. // 轮播数据
  68. async getBanner() {
  69. const { data } = await models.banner.list({
  70. filter: {
  71. where: {
  72. position: 0
  73. }
  74. },
  75. // envType: pre 体验环境, prod 正式环境
  76. envType: "prod",
  77. });
  78. // 返回查询到的数据
  79. this.setData({
  80. carousellist: data.records
  81. })
  82. },
  83. // 页面跳转 二级页面
  84. selectGroupOption(e) {
  85. const isLoggedIn = app.checkLoginStatus(); // 检查是否登录
  86. if (!isLoggedIn) return; // 未登录已跳转,不继续
  87. const option = e.currentTarget.dataset.option;
  88. let url = '';
  89. switch (option) {
  90. case 'course':
  91. url = '/subpackages/kchome/kchome';
  92. break;
  93. case 'training':
  94. url = '/subpackages/pxhome/pxhome';
  95. break;
  96. case 'teaching':
  97. url = '/subpackages/jxhome/jxhome';
  98. break;
  99. case 'large':
  100. url = '/subpackages/zshome/zshome';
  101. break;
  102. default:
  103. return;
  104. }
  105. wx.navigateTo({
  106. url: url
  107. });
  108. },
  109. // 搜索框跳转
  110. goSearchPage() {
  111. wx.navigateTo({
  112. url: '/subpackagestow/course/course?type=1&autofocus=1'
  113. });
  114. },
  115. // async
  116. getData() {
  117. // const { data } = await models.login.list({
  118. // filter: {
  119. // where: {}
  120. // },
  121. // pageSize: 10, // 分页大小,建议指定,如需设置为其它值,需要和 pageNumber 配合使用,两者同时指定才会生效
  122. // pageNumber: 1, // 第几页
  123. // getCount: true, // 开启用来获取总数
  124. // // envType: pre 体验环境, prod 正式环境
  125. // envType: "prod",
  126. // });
  127. // // 返回查询到的数据列表 records 和 总数 total
  128. // console.log(data);
  129. // const { data } = await models.login.create({
  130. // data: {
  131. // name: "王五", // 名字
  132. // },
  133. // // envType: pre 体验环境, prod 正式环境
  134. // envType: "prod",
  135. // });
  136. // // 返回创建的数据 id
  137. // console.log(data);
  138. db.collection("homelist").get().then(res => {
  139. console.log(res);
  140. }).catch(err => {
  141. console.log(err);
  142. })
  143. },
  144. })