const appContext = require('../../utils/app-context.js') Page({ data: { stats: { total_entries: 0, review_count: 0, mastered_count: 0, checkin_count: 0, review_records: 0 }, loading: false, error: '', }, onShow() { this.loadStats() }, async loadStats() { const app = appContext.withApp() this.setData({ loading: true, error: '' }) await appContext.ensureLogin() if (!app.globalData.authToken) { this.setData({ error: '请先登录后查看首页数据', loading: false }) return } wx.request({ url: `${app.globalData.baseUrl}/api/v1/home/stats`, header: { 'X-Auth-Token': app.globalData.authToken }, success: (res) => { if (appContext.isUnauthorizedResponse(res)) { appContext.handleUnauthorized() return } const payload = res.data?.data const ok = res.statusCode >= 200 && res.statusCode < 300 && res.data?.code === 0 && payload if (!ok) { this.setData({ error: res.data?.detail || res.data?.message || '首页数据加载失败' }) return } this.setData({ stats: payload }) }, fail: () => this.setData({ error: '首页数据加载失败' }), complete: () => this.setData({ loading: false }), }) }, goToReview() { wx.navigateTo({ url: '/pages/review-config/review-config' }) }, goToMe() { wx.navigateTo({ url: '/pages/me/me' }) }, goHome() {}, goTo(url) { wx.navigateTo({ url }) }, })