index.js 3.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153
  1. // miniprogram/pages/mediaList/index.js
  2. let li = []
  3. Page({
  4. /**
  5. * 页面的初始数据
  6. */
  7. data: {
  8. list: [],
  9. option1: [],
  10. value1: 0,
  11. h: 0,
  12. top: 0,
  13. page: 1,
  14. size: 15,
  15. group: ""
  16. },
  17. change(e) {
  18. this.setData({
  19. page: 1,
  20. top: 0,
  21. group: this.data.option1[e.detail].text
  22. }, () => {
  23. this.changePage(0, []);
  24. })
  25. },
  26. page() {
  27. this.changePage(this.data.page, this.data.list)
  28. },
  29. changePage(page, list) {
  30. wx.showLoading()
  31. let l = [];
  32. let index = 0
  33. for (let i = 0; i < li.length; i++) {
  34. const v = li[i];
  35. if (l.length >= 10 || index >= this.data.size) break
  36. if (!v || (v.captureWebsiteName !== this.data.group && this.data.group !== "全部")) continue;
  37. index++;
  38. l.push(v);
  39. }
  40. let p = { list: [...list, ...l] };
  41. if (l.length) p.page = page + 1;
  42. this.setData(p, () => {
  43. wx.hideLoading()
  44. })
  45. },
  46. /**
  47. * 生命周期函数--监听页面加载
  48. */
  49. onLoad: function (options) {
  50. let that = this;
  51. let info = wx.getSystemInfoSync();
  52. const fs = wx.getFileSystemManager()
  53. wx.showLoading()
  54. wx.downloadFile({
  55. url: app.base.url + '/l.json',
  56. success: r => {
  57. // 返回临时文件路径
  58. fs.readFile({
  59. filePath: r.tempFilePath,
  60. encoding: 'utf8',
  61. position: 0,
  62. success(res) {
  63. wx.hideLoading();
  64. li = res.data ? JSON.parse(res.data).list || [] : [];
  65. let group = [{ text: '全部', value: 0 }];
  66. let groupObj = {};
  67. let index = 1;
  68. li.map(v => {
  69. if (!groupObj[v.captureWebsiteName]) {
  70. group.push({
  71. text: v.captureWebsiteName, value: index
  72. })
  73. groupObj[v.captureWebsiteName] = true;
  74. index++;
  75. }
  76. })
  77. let l = [];
  78. for (let i = 0; i < that.data.size; i++) {
  79. const v = li[i];
  80. l.push(v)
  81. }
  82. that.setData({
  83. option1: group,
  84. list: l,
  85. h: info.windowHeight - 50,
  86. group: group[0].text
  87. }, () => {
  88. wx.hideLoading()
  89. })
  90. },
  91. fail(res) {
  92. wx.hideLoading()
  93. }
  94. })
  95. },
  96. fail() {
  97. wx.hideLoading()
  98. }
  99. })
  100. },
  101. /**
  102. * 生命周期函数--监听页面初次渲染完成
  103. */
  104. onReady: function () {
  105. },
  106. /**
  107. * 生命周期函数--监听页面显示
  108. */
  109. onShow: function () {
  110. },
  111. /**
  112. * 生命周期函数--监听页面隐藏
  113. */
  114. onHide: function () {
  115. },
  116. /**
  117. * 生命周期函数--监听页面卸载
  118. */
  119. onUnload: function () {
  120. },
  121. /**
  122. * 页面相关事件处理函数--监听用户下拉动作
  123. */
  124. onPullDownRefresh: function () {
  125. },
  126. /**
  127. * 页面上拉触底事件的处理函数
  128. */
  129. onReachBottom: function () {
  130. },
  131. /**
  132. * 用户点击右上角分享
  133. */
  134. onShareAppMessage: function () {
  135. }
  136. })