import { baseUrl, globalImgUrl } from "../../../request"; const { notLogin } = require('../../../utils/util') // pages/course/courseList/courseList.js Page({ /** * 页面的初始数据 */ data: { courseList:[], // 课程列表 courseType: '', // 课程类别 globalImgUrl, tempCourseList: [], searchKeyword: '' }, // 跳转课程详情页面 gotoCourseDetail(e) { const courseId = e.currentTarget.dataset.id; wx.navigateTo({ url: `/pages/course/courseDetail/courseDetail?id=${courseId}` , }) }, onSearchInput(e) { const keyword = (e.detail.value || '').trim(); this.setData({ searchKeyword: keyword }); }, // 键盘“搜索/回车”触发:立即搜索 onSearch() { const { tempCourseList } = this.data const keyword = (this.data.searchKeyword || '').trim(); if (!keyword) { this.setData({courseList: tempCourseList}) return; } // 模糊匹配 name const filtered = this.data.courseList.filter(item => item.name.includes(keyword) ); this.setData({ courseList: filtered }); }, /** * 生命周期函数--监听页面加载 */ onLoad(options) { // 接收路由参数 type 作为搜索关键字 const courseType = options.type || ''; this.setData({ courseType }, () => { this.fetchCourseList(); }); }, // 从后端拉取课程列表 fetchCourseList() { wx.request({ url: baseUrl + '/course/query/type', method: 'POST', header: { Authorization: wx.getStorageSync('token') }, data: { templateString: this.data.courseType }, success: res => { console.log('课程列表',res.data.data); if (res.data.code === 1) { this.setData({ courseList: res.data.data, tempCourseList: res.data.data }); } else { notLogin(res.data.message) } }, fail: err => { console.error('request failed', err); wx.showToast({ icon: 'none', title: '网络请求失败', }); } }); }, /** * 生命周期函数--监听页面初次渲染完成 */ onReady() { }, /** * 生命周期函数--监听页面显示 */ onShow() { }, /** * 生命周期函数--监听页面隐藏 */ onHide() { }, /** * 生命周期函数--监听页面卸载 */ onUnload() { }, /** * 页面相关事件处理函数--监听用户下拉动作 */ onPullDownRefresh() { }, /** * 页面上拉触底事件的处理函数 */ onReachBottom() { }, /** * 用户点击右上角分享 */ onShareAppMessage() { } })