123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150 |
- const app = getApp()
- import {
- getHotrecommendList,
- } from "~/api/works"
- import {
- getBannerList
- } from '~/api/global'
- import reachBottom from '~/mixins/reachBottom'
- import event from '~/mixins/event'
- import share from '~/mixins/share'
- import {
- createStoreBindings
- } from 'mobx-miniprogram-bindings'
- import {
- store
- } from '~/store/index'
- Page({
- behaviors: [reachBottom, share,event],
- data: {
- navBarHeight: app.globalData.navBarHeight,
- background: ['demo-text-1', 'demo-text-2', 'demo-text-3'],
- currentType: '3',
-
- isFixed: false,
- desktopTips: app.globalData.desktopTips,
- bannerList: []
- },
- onLoad(options) {
- this.getLocUserInfo()
- if (Object.keys(this.data.userInfo).length > 0) {
- this.requestAgain()
- } else {
- getApp().callBack = (res) => {
- this.getLocUserInfo()
- this.requestAgain()
- }
- }
- let {
- desktopTips
- } = app.globalData
- if (desktopTips) {
- setTimeout(() => {
- this.setData({
- desktopTips: false
- })
- wx.setStorage({
- key: "preDesktopTime",
- data: new Date()
- })
- }, 6000)
- }
- },
- onShow() {
- if (typeof this.getTabBar === 'function') {
- this.getTabBar().setData({
- selected: 2
- })
- }
- },
- onUnload() {
- this.storeBindings.destroyStoreBindings()
- },
- onReachBottom() {
- this.loadMore()
- },
- async getLocUserInfo() {
- this.storeBindings = createStoreBindings(this, {
- store,
- fields: {
- userInfo: 'userInfo'
- },
- })
- this.storeBindings.updateStoreBindings()
- },
- async loadMore() {
- if (!this.data.userInfo.grade) {
- return
- }
- if (this.data.currentType == '3') {
- this.localGetData(getHotrecommendList, {
- grade: this.data.userInfo.grade
- })
- }
- },
- jumpSearch() {
- wx.navigateTo({
- url: '/pages/childClassify/index?type=search',
- })
- },
-
- onPageScroll(e) {
- if (e.scrollTop >= 103 && !this.data.isFixed) {
- this.setData({
- isFixed: true
- })
- } else if (e.scrollTop < 103 && this.data.isFixed) {
- this.setData({
- isFixed: false
- })
- }
- },
- closeDesktop() {
- this.setData({
- desktopTips: false
- })
- wx.setStorage({
- key: "preDesktopTime",
- data: new Date()
- })
- },
- async getBannerList() {
- let bannerList = await getBannerList({
- grade: this.data.userInfo.grade,
- })
- this.setData({
- bannerList,
- })
- },
- requestAgain() {
- this.resetData()
- this.getBannerList()
- if (this.data.currentType != 3) {
- this.selectComponent('#activityList').getActivities()
- }
- },
- selectType({
- target
- }) {
- if (target.dataset.type) {
- if (this.selectComponent('#worksList')) {
- this.selectComponent('#worksList').resetAudio()
- }
- this.setData({
- currentType: target.dataset.type,
- })
- if (target.dataset.type != 3) {
- this.selectComponent('#activityList').getActivities()
- }
- if (target.dataset.type == '3') {
- this.resetData()
- }
- }
- },
- onUnload() {
- this.storeBindings.destroyStoreBindings()
- },
- })
|