index.js 2.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112
  1. import {
  2. getSelfRead
  3. } from '~/api/user'
  4. import {
  5. getModelTexts,
  6. getReadRanking,
  7. getSelfReadRanking
  8. } from '~/api/global'
  9. import {
  10. store
  11. } from '~/store/index'
  12. import {
  13. createStoreBindings
  14. } from 'mobx-miniprogram-bindings'
  15. import share from '~/mixins/share'
  16. Page({
  17. behaviors: [share],
  18. /**
  19. * 页面的初始数据
  20. */
  21. data: {
  22. list: [],
  23. // true是人气榜,false是参赛作品
  24. currentType: true,
  25. activityUserList: [],
  26. bannerList: [],
  27. myActivityUser: {},
  28. explain: ''
  29. },
  30. /**
  31. * 生命周期函数--监听页面加载
  32. */
  33. onLoad(options) {
  34. // 手工绑定
  35. this.storeBindings = createStoreBindings(this, {
  36. store,
  37. fields: {
  38. userInfo: 'userInfo'
  39. },
  40. actions: {
  41. setUser: 'setUser'
  42. }
  43. })
  44. // 立刻更新
  45. this.storeBindings.updateStoreBindings()
  46. this.reload()
  47. },
  48. reload(){
  49. this.getModelTexts()
  50. this.getReadRanking()
  51. },
  52. // 获取范文
  53. async getModelTexts() {
  54. console.log(this.data.userInfo.grade);
  55. let bannerList = await getModelTexts({
  56. grade: this.data.userInfo.grade
  57. })
  58. this.setData({
  59. bannerList
  60. })
  61. },
  62. async getReadRanking() {
  63. let {
  64. activityUserList,
  65. myActivityUser,
  66. activity
  67. } = await getReadRanking()
  68. this.setData({
  69. activityUserList,
  70. myActivityUser,
  71. explain: activity.explain
  72. })
  73. },
  74. async getSelfReadRanking() {
  75. let list = await getSelfReadRanking()
  76. this.setData({
  77. list
  78. })
  79. },
  80. bannelEvent({
  81. target
  82. }) {
  83. wx.navigateTo({
  84. url: `/pages/reading/index?videoId=${target.dataset.id}&readingType=readMatch`
  85. })
  86. },
  87. jumpUserInfo({
  88. currentTarget
  89. }) {
  90. wx.navigateTo({
  91. url: `/pages/personal/index?uid=${currentTarget.dataset.uid}`,
  92. })
  93. },
  94. jumpIntro() {
  95. wx.navigateTo({
  96. url: `/pages/rankIntro/index?title=活动规则&img=${this.data.explain}`,
  97. })
  98. },
  99. selectType({
  100. target
  101. }) {
  102. if (target.dataset.type) {
  103. let currentType = JSON.parse(target.dataset.type)
  104. if (!currentType) {
  105. this.getSelfReadRanking()
  106. }
  107. this.setData({
  108. currentType
  109. })
  110. }
  111. },
  112. })