import { injectPage } from '@jdmini/api' const { getHomeData } = require('../../utils/api.js') const { DATA_BASE_URL } = require('../../utils/config.js') Page(injectPage({})({ data: { dataBaseUrl: DATA_BASE_URL, // 分类数据(每个分类的第一条作为封面) worksheets: [], loading: false }, onLoad() { this.loadHomeData() }, onPullDownRefresh() { this.loadHomeData().finally(() => { wx.stopPullDownRefresh() }) }, // 加载首页数据 async loadHomeData() { try { this.setData({ loading: true }) const res = await getHomeData() if (res.success) { this.setData({ worksheets: res.data.worksheets || [], loading: false }) } } catch (error) { console.error('加载首页数据失败:', error) this.setData({ loading: false }) wx.showToast({ title: '加载失败', icon: 'none' }) } }, // 跳转搜索页 goSearch() { wx.navigateTo({ url: '/pages/search/search' }) }, // 跳转到分类详情页面 goCategory(e) { const categoryId = e.currentTarget.dataset.id const item = this.data.worksheets.find(w => w.category_id === categoryId) const categoryName = item ? item.category_name : '' wx.navigateTo({ url: `/pages/category-detail/category-detail?id=${categoryId}&name=${encodeURIComponent(categoryName)}` }) } }))