index.js 2.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990
  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. this.setData({ ["tab.list"]: app.globalData.indexTabList });
  24. app.request('/addons/cms/wxapp.index/index', {}, function (data, ret) {
  25. that.setData({
  26. bannerList: data.bannerList,
  27. archivesList: data.archivesList,
  28. ["tab.list"]: data.tabList
  29. });
  30. }, function (data, ret) {
  31. app.error(ret.msg);
  32. });
  33. },
  34. onPullDownRefresh: function () {
  35. this.setData({ nodata: false, nomore: false });
  36. this.page = 1;
  37. this.loadArchives(function () {
  38. wx.stopPullDownRefresh();
  39. });
  40. },
  41. onReachBottom: function () {
  42. var that = this;
  43. this.loadArchives(function (data) {
  44. if (data.archivesList.length == 0) {
  45. app.info("暂无更多数据");
  46. }
  47. });
  48. },
  49. loadArchives: function (cb) {
  50. var that = this;
  51. if (that.data.nomore == true || that.data.loading == true) {
  52. return;
  53. }
  54. this.setData({ loading: true });
  55. app.request('/addons/cms/wxapp.archives/index', { channel: this.channel, page: this.page }, function (data, ret) {
  56. that.setData({
  57. loading: false,
  58. nodata: that.page == 1 && data.archivesList.length == 0 ? true : false,
  59. nomore: that.page > 1 && data.archivesList.length == 0 ? true : false,
  60. archivesList: that.page > 1 ? that.data.archivesList.concat(data.archivesList) : data.archivesList,
  61. });
  62. that.page++;
  63. typeof cb == 'function' && cb(data);
  64. }, function (data, ret) {
  65. app.error(ret.msg);
  66. });
  67. },
  68. handleZanTabChange(e) {
  69. var componentId = e.componentId;
  70. var selectedId = e.selectedId;
  71. this.channel = selectedId;
  72. this.page = 1;
  73. this.setData({
  74. nodata: false,
  75. nomore: false,
  76. [`${componentId}.selectedId`]: selectedId
  77. });
  78. wx.pageScrollTo({ scrollTop: 0 });
  79. this.loadArchives();
  80. },
  81. onShareAppMessage: function () {
  82. return {
  83. title: '我的CMS',
  84. desc: '',
  85. path: '/page/index/index'
  86. }
  87. }
  88. }))