// pages/match/details/index.js const app = getApp(); Page({ /** * 页面的初始数据 */ data: { appAssetsUrl2: app.appAssetsUrl2, matchDetail: { id: '', title: '2025年夏季创业大赛', author: '程洁', publishTime: '2025年08月13日 06:30', bannerImage: '', targetAudience: '本次创业大赛面向年满18周岁的中国公民或合法注册的企业团队,无论在校大学生群体,还是已步入社会的创业者,只要期待合要求的创业项目,均可报名参与。', description: '青年创业大赛是为怀揣梦想的年轻人打造的实践舞台,聚焦科技创新、社会服务、文化创意等领域。本届大赛将通过项目路演、专家评审、线上线下相结合的形式,为参赛者提供全方位的创业指导和资源对接。', registrationMethod: '参赛者可通过微信小程序、官方网站或线下指定地点进行报名。报名时需提交个人信息、项目计划书等相关材料,报名截止时间为2025年9月30日。', awards: '本次大赛设置一等奖、3名,奖金10万元;二等奖、5名,奖金5万元;三等奖、10名,奖金2万元。另设最佳创意奖、最佳商业价值奖等单项奖。' } }, /** * 立即报名按钮点击事件 */ onRegisterTap() { const { matchDetail } = this.data; console.log('点击报名:', matchDetail.id); // TODO: 跳转到报名页面或调用报名接口 wx.showToast({ title: '正在跳转到报名页面...', icon: 'none', duration: 1500 }); // 示例:跳转到报名页面 // wx.navigateTo({ // url: `/pages/match/register?id=${matchDetail.id}` // }); }, /** * 分享赛事按钮点击事件 */ onShareTap() { const { matchDetail } = this.data; wx.showShareMenu({ withShareTicket: true, menus: ['shareAppMessage', 'shareTimeline'] }); wx.showToast({ title: '请点击右上角分享', icon: 'none', duration: 1500 }); }, /** * 加载赛事详情数据 */ loadMatchDetail(matchId) { wx.showLoading({ title: '加载中...' }); // TODO: 调用API获取赛事详情 // app._get(`match/detail/${matchId}`, {}, (res) => { // if (res.code === 0) { // this.setData({ // matchDetail: res.data // }); // } // wx.hideLoading(); // }); // 模拟API调用 setTimeout(() => { wx.hideLoading(); console.log('赛事详情加载完成:', matchId); }, 1000); }, /** * 生命周期函数--监听页面加载 */ onLoad(options) { const { id } = options; if (id) { this.setData({ 'matchDetail.id': id }); this.loadMatchDetail(id); } }, /** * 生命周期函数--监听页面初次渲染完成 */ onReady() { // 设置分享菜单 wx.showShareMenu({ withShareTicket: true, menus: ['shareAppMessage', 'shareTimeline'] }); }, /** * 生命周期函数--监听页面显示 */ onShow() { // 页面显示时的操作 }, /** * 生命周期函数--监听页面隐藏 */ onHide() { // 页面隐藏时的操作 }, /** * 生命周期函数--监听页面卸载 */ onUnload() { // 页面卸载时的清理工作 }, /** * 页面相关事件处理函数--监听用户下拉动作 */ onPullDownRefresh() { // 下拉刷新重新加载数据 const { matchDetail } = this.data; if (matchDetail.id) { this.loadMatchDetail(matchDetail.id); } wx.stopPullDownRefresh(); }, /** * 页面上拉触底事件的处理函数 */ onReachBottom() { // 详情页面不需要上拉加载 }, /** * 用户点击右上角分享 */ onShareAppMessage() { const { matchDetail } = this.data; return { title: matchDetail.title || '青云慧 - 创业赛事详情', path: `/pages/match/details/index?id=${matchDetail.id}`, imageUrl: matchDetail.bannerImage || '/assets/images/share/match-detail-share.jpg' }; }, /** * 用户点击右上角分享到朋友圈 */ onShareTimeline() { const { matchDetail } = this.data; return { title: matchDetail.title || '青云慧 - 创业赛事详情', query: `id=${matchDetail.id}`, imageUrl: matchDetail.bannerImage || '/assets/images/share/match-detail-share.jpg' }; } });