news.js 1.2 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061
  1. // pages/index/news/news.js
  2. const { museumApi } = require('../../../utils/api.js');
  3. const { navigateToWebview } = require('../../../utils/util.js');
  4. Page({
  5. data: {
  6. newsList: [],
  7. loading: false
  8. },
  9. onLoad() {
  10. this.getNewsList();
  11. },
  12. onPullDownRefresh() {
  13. this.getNewsList();
  14. },
  15. // 获取资讯列表
  16. async getNewsList() {
  17. this.setData({ loading: true });
  18. try {
  19. const response = await museumApi.getNewsList({
  20. pageNum: 1,
  21. pageSize: 10
  22. });
  23. if (response && response.records) {
  24. this.setData({
  25. newsList: response.records
  26. });
  27. } else {
  28. this.setData({
  29. newsList: []
  30. });
  31. }
  32. } catch (error) {
  33. console.error('获取资讯数据失败:', error);
  34. wx.showToast({
  35. title: '加载失败',
  36. icon: 'none'
  37. });
  38. } finally {
  39. this.setData({ loading: false });
  40. wx.stopPullDownRefresh();
  41. }
  42. },
  43. // 返回首页
  44. goBack() {
  45. wx.navigateBack();
  46. },
  47. // 查看资讯详情
  48. viewNews(e) {
  49. const item = e.currentTarget.dataset.item;
  50. console.log('查看资讯详情:', item);
  51. navigateToWebview(`/allDetailsShow?isFrom=weixin&id=${item.informationId}&type=information`);
  52. }
  53. });