index.js 4.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147
  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://cloud1-6g98iw7i28b01747.636c-cloud1-6g98iw7i28b01747-1367995226/images/banner/carousel_1.jpg',
  27. // 'cloud://cloud1-6g98iw7i28b01747.636c-cloud1-6g98iw7i28b01747-1367995226/images/banner/carousel_2.jpg',
  28. // 'cloud://cloud1-6g98iw7i28b01747.636c-cloud1-6g98iw7i28b01747-1367995226/images/banner/carousel_3.jpg',
  29. 'cloud://cloud1-6g98iw7i28b01747.636c-cloud1-6g98iw7i28b01747-1367995226/images/homepage/homepage_4.png',
  30. 'cloud://cloud1-6g98iw7i28b01747.636c-cloud1-6g98iw7i28b01747-1367995226/images/homepage/homepage_3.png',
  31. 'cloud://cloud1-6g98iw7i28b01747.636c-cloud1-6g98iw7i28b01747-1367995226/images/homepage/homepage_2.png',
  32. 'cloud://cloud1-6g98iw7i28b01747.636c-cloud1-6g98iw7i28b01747-1367995226/images/homepage/homepage_1.png',
  33. 'cloud://cloud1-6g98iw7i28b01747.636c-cloud1-6g98iw7i28b01747-1367995226/images/icon/sou.png',
  34. ];
  35. // 并发下载多个 fileID
  36. Promise.all(
  37. fileIDs.map(fileID => wx.cloud.downloadFile({ fileID }))
  38. ).then(results => {
  39. // 每个 result 对应一个下载结果
  40. const tempFilePaths = results.map(r => r.tempFilePath);
  41. console.log('全部下载成功:', tempFilePaths);
  42. this.setData({
  43. // carousellist: tempFilePaths.slice(0, 2),
  44. homepage_4: tempFilePaths[0],
  45. homepage_3: tempFilePaths[1],
  46. homepage_2: tempFilePaths[2],
  47. homepage_1: tempFilePaths[3],
  48. souimg: tempFilePaths[4]
  49. });
  50. }).catch(err => {
  51. console.error('有文件下载失败:', err);
  52. });
  53. },
  54. // 轮播数据
  55. async getBanner() {
  56. const { data } = await models.banner.list({
  57. filter: {
  58. where: {
  59. position: 0
  60. }
  61. },
  62. // envType: pre 体验环境, prod 正式环境
  63. envType: "prod",
  64. });
  65. // 返回查询到的数据
  66. this.setData({
  67. carousellist: data.records
  68. })
  69. },
  70. // 页面跳转 二级页面
  71. selectGroupOption(e) {
  72. const isLoggedIn = app.checkLoginStatus(); // 检查是否登录
  73. if (!isLoggedIn) return; // 未登录已跳转,不继续
  74. const option = e.currentTarget.dataset.option;
  75. let url = '';
  76. switch (option) {
  77. case 'course':
  78. url = '/subpackages/kchome/kchome';
  79. break;
  80. case 'training':
  81. url = '/subpackages/pxhome/pxhome';
  82. break;
  83. case 'teaching':
  84. url = '/subpackages/jxhome/jxhome';
  85. break;
  86. case 'large':
  87. url = '/subpackages/zshome/zshome';
  88. break;
  89. default:
  90. return;
  91. }
  92. wx.navigateTo({
  93. url: url
  94. });
  95. },
  96. // 搜索框跳转
  97. goSearchPage() {
  98. wx.navigateTo({
  99. url: '/subpackagestow/course/course?type=1&autofocus=1'
  100. });
  101. },
  102. // async
  103. getData() {
  104. // const { data } = await models.login.list({
  105. // filter: {
  106. // where: {}
  107. // },
  108. // pageSize: 10, // 分页大小,建议指定,如需设置为其它值,需要和 pageNumber 配合使用,两者同时指定才会生效
  109. // pageNumber: 1, // 第几页
  110. // getCount: true, // 开启用来获取总数
  111. // // envType: pre 体验环境, prod 正式环境
  112. // envType: "prod",
  113. // });
  114. // // 返回查询到的数据列表 records 和 总数 total
  115. // console.log(data);
  116. // const { data } = await models.login.create({
  117. // data: {
  118. // name: "王五", // 名字
  119. // },
  120. // // envType: pre 体验环境, prod 正式环境
  121. // envType: "prod",
  122. // });
  123. // // 返回创建的数据 id
  124. // console.log(data);
  125. db.collection("homelist").get().then(res => {
  126. console.log(res);
  127. }).catch(err => {
  128. console.log(err);
  129. })
  130. },
  131. })