ertonglianxibiao/pages/index/index.js

61 lines
1.4 KiB
JavaScript
Raw Normal View History

2026-01-14 15:33:15 +08:00
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)}`
})
}
}))