const app = getApp(); const planSvc = require('../../services/plan'); const auth = require('../../utils/auth'); Page({ data: { statusBarHeight: 20, plans: [], status: 'loading', // 'loading' | 'list' | 'empty' | 'error' errorMsg: '' }, onLoad() { this.setData({ statusBarHeight: app.globalData.statusBarHeight || 20 }); }, onShow() { if (auth.isLogin()) this.load(); else { wx.showToast({ title: '请先登录', icon: 'none' }); setTimeout(() => wx.navigateBack(), 600); } }, load() { this.setData({ status: 'loading', errorMsg: '' }); planSvc.listMine().then((plans) => { const list = plans || []; this.setData({ plans: list, status: list.length ? 'list' : 'empty' }); }).catch((err) => { this.setData({ plans: [], status: 'error', errorMsg: (err && err.message) ? err.message : '加载失败,请稍后重试' }); }); }, onNew() { wx.navigateTo({ url: '/pages/plan-edit/plan-edit?mode=new' }); }, onOpen(e) { wx.navigateTo({ url: '/pages/plan-detail/plan-detail?id=' + encodeURIComponent(e.currentTarget.dataset.id) }); }, goOfficial() { wx.navigateTo({ url: '/pages/collection/collection' }); } });