index.js 2.0 KB

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