import { getActivities, } from '~/api/global' import { createStoreBindings } from 'mobx-miniprogram-bindings' import { store } from '~/store/index' Page({ data: { rankList: [], activityList: [] }, onLoad(options) { this.getLocUserInfo() if (Object.keys(this.data.userInfo).length > 0) { this.getRankList() this.getActivityList() } else { getApp().callBack = (res) => { this.getLocUserInfo() this.getRankList() this.getActivityList() } } }, onShow() { if (typeof this.getTabBar === 'function') { this.getTabBar().setData({ selected: 0 }) } }, async getRankList() { let res = await getActivities({ classify: 2, grade: this.data.userInfo.grade }) let list = res.filter(item => { return item.type != 2 }) this.setData({ rankList: list }) }, async getActivityList() { let res = await getActivities({ classify: 3, grade: this.data.userInfo.grade }) this.setData({ activityList: res }) }, activityEvent({ currentTarget }) { let { type, } = currentTarget.dataset.info wx.navigateTo({ url: `/pages/ranking/index?type=${type}`, }) }, jumpUserInfo({ currentTarget }) { if (!currentTarget.dataset.uid) { return } wx.navigateTo({ url: `/pages/personal/index?uid=${currentTarget.dataset.uid}&type=user`, }) }, async getLocUserInfo() { this.storeBindings = createStoreBindings(this, { store, fields: { userInfo: 'userInfo' }, }) this.storeBindings.updateStoreBindings() }, })