index.js 2.5 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495
  1. const { Tab } = require('../../assets/libs/zanui/index');
  2. var app = getApp();
  3. Page(Object.assign({}, Tab, {
  4. data: {
  5. bannerList: [],
  6. archivesList: [],
  7. loading: false,
  8. nodata: false,
  9. nomore: false,
  10. tab: {
  11. list: [],
  12. selectedId: '0',
  13. scroll: true,
  14. height: 44
  15. },
  16. },
  17. channel: 0,
  18. page: 1,
  19. onLoad: function () {
  20. var that = this;
  21. this.channel = 0;
  22. this.page = 1;
  23. //监听轮播
  24. app.watch.$once('bannerList',()=>{
  25. this.setData({ ["tab.list"]: app.globalData.indexTabList });
  26. this.setData({ bannerList: app.globalData.bannerList });
  27. });
  28. app.request('/addons/cms/wxapp.index/index', {}, function (data, ret) {
  29. that.setData({
  30. archivesList: data.archivesList,
  31. ["tab.list"]: data.tabList
  32. });
  33. }, function (data, ret) {
  34. app.error(ret.msg);
  35. });
  36. },
  37. onPullDownRefresh: function () {
  38. this.setData({ nodata: false, nomore: false });
  39. this.page = 1;
  40. this.loadArchives(function () {
  41. wx.stopPullDownRefresh();
  42. });
  43. },
  44. onReachBottom: function () {
  45. var that = this;
  46. this.loadArchives(function (data) {
  47. if (data.archivesList.length == 0) {
  48. app.info("暂无更多数据");
  49. }
  50. });
  51. },
  52. loadArchives: function (cb) {
  53. var that = this;
  54. if (that.data.nomore == true || that.data.loading == true) {
  55. return;
  56. }
  57. this.setData({ loading: true });
  58. app.request('/addons/cms/wxapp.archives/index', { channel: this.channel, page: this.page }, function (data, ret) {
  59. that.setData({
  60. loading: false,
  61. nodata: that.page == 1 && data.archivesList.length == 0 ? true : false,
  62. nomore: that.page > 1 && data.archivesList.length == 0 ? true : false,
  63. archivesList: that.page > 1 ? that.data.archivesList.concat(data.archivesList) : data.archivesList,
  64. });
  65. that.page++;
  66. typeof cb == 'function' && cb(data);
  67. }, function (data, ret) {
  68. that.setData({ loading: false });
  69. app.error(ret.msg);
  70. });
  71. },
  72. handleZanTabChange(e) {
  73. var componentId = e.componentId;
  74. var selectedId = e.selectedId;
  75. this.channel = selectedId;
  76. this.page = 1;
  77. this.setData({
  78. nodata: false,
  79. nomore: false,
  80. [`${componentId}.selectedId`]: selectedId
  81. });
  82. wx.pageScrollTo({ scrollTop: 0 });
  83. this.loadArchives();
  84. },
  85. onShareAppMessage: function () {
  86. return {
  87. title: '我的CMS',
  88. desc: '',
  89. path: '/page/index/index'
  90. }
  91. }
  92. }))