From 3714621173c606c4c58439ed8941100ce9ddea14 Mon Sep 17 00:00:00 2001
From: Codex Assistant <codex@example.com>
Date: 星期三, 05 十一月 2025 15:10:49 +0800
Subject: [PATCH] bug
---
wx/pages/index/index.js | 179 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++--
1 files changed, 171 insertions(+), 8 deletions(-)
diff --git a/wx/pages/index/index.js b/wx/pages/index/index.js
index cf405ea..f9cba3f 100644
--- a/wx/pages/index/index.js
+++ b/wx/pages/index/index.js
@@ -21,19 +21,20 @@
// 绛涢�夋潯浠�
filterStatus: 'all', // all, upcoming, ongoing, ended
// 杞挱鍥惧綋鍓嶇储寮�
- currentBannerIndex: 0
+ currentBannerIndex: 0,
+ // 鍒嗕韩鐩稿叧鏁版嵁
+ shareActivityId: null,
+ shareActivityName: null
},
onLoad(options) {
console.log('棣栭〉鍔犺浇')
- this.loadBanners()
- this.loadActivities()
},
onShow() {
console.log('棣栭〉鏄剧ず')
// 缁熶竴绯荤粺瀵艰埅鏍忔爣棰�
- try { wx.setNavigationBarTitle({ title: '钃夋槗鍒�' }) } catch (e) {}
+ try { wx.setNavigationBarTitle({ title: '钃塭鍒�' }) } catch (e) {}
// 妫�鏌ョ櫥褰曠姸鎬�
if (!app.globalData.token) {
app.login()
@@ -42,6 +43,9 @@
if (typeof this.getTabBar === 'function' && this.getTabBar()) {
this.getTabBar().init();
}
+ // 鍔犺浇鏁版嵁
+ this.loadBanners()
+ this.loadActivities()
},
onPullDownRefresh() {
@@ -175,9 +179,9 @@
if (filterStatus !== 'all') {
// 鏍规嵁filterStatus鏄犲皠鍒板搴旂殑state鍊�
const stateMapping = {
- 'upcoming': 1, // 鍗冲皢寮�濮�
- 'ongoing': 2, // 杩涜涓�
- 'ended': 3 // 宸茬粨鏉�
+ 'upcoming': 1, // 鍗冲皢寮�濮� -> 鍙戝竷鐘舵��
+ 'ongoing': 1, // 杩涜涓� -> 鍙戝竷鐘舵��
+ 'ended': 2 // 宸茬粨鏉� -> 鍏抽棴鐘舵��
}
stateFilter = stateMapping[filterStatus]
}
@@ -214,7 +218,7 @@
page: currentPage,
size: pageSize,
name: nameFilter,
- state: stateFilter
+ state: 1
}).then(data => {
if (data.activities) {
let newActivities = data.activities.content
@@ -434,5 +438,164 @@
return now <= signupDeadline &&
activity.state === 'SIGNUP' &&
activity.playerCount < activity.playerMax
+ },
+
+ // 鍒嗕韩鍗曚釜姣旇禌
+ onShareActivity(e) {
+ const { id, name } = e.currentTarget.dataset
+
+ // 鏄剧ず鍒嗕韩閫夐」
+ wx.showActionSheet({
+ itemList: ['鍒嗕韩缁欐湅鍙�', '鐢熸垚鍒嗕韩娴锋姤'],
+ success: (res) => {
+ if (res.tapIndex === 0) {
+ // 鍒嗕韩缁欐湅鍙�
+ this.shareToFriend(id, name)
+ } else if (res.tapIndex === 1) {
+ // 鐢熸垚鍒嗕韩娴锋姤
+ this.generateSharePoster(id, name)
+ }
+ },
+ fail: (res) => {
+ console.log('鐢ㄦ埛鍙栨秷鍒嗕韩')
+ }
+ })
+ },
+
+ // 鍒嗕韩缁欐湅鍙�
+ shareToFriend(activityId, activityName) {
+ wx.showShareMenu({
+ withShareTicket: true,
+ menus: ['shareAppMessage', 'shareTimeline']
+ })
+
+ // 璁剧疆褰撳墠瑕佸垎浜殑娲诲姩淇℃伅
+ this.setData({
+ shareActivityId: activityId,
+ shareActivityName: activityName
+ })
+
+ // 瑙﹀彂鍒嗕韩
+ wx.updateShareMenu({
+ withShareTicket: true,
+ isUpdatableMessage: true,
+ activityId: 'share_activity_' + activityId,
+ templateInfo: {
+ parameterList: [{
+ name: 'activity_name',
+ value: activityName
+ }]
+ }
+ })
+
+ wx.showToast({
+ title: '璇风偣鍑诲彸涓婅鍒嗕韩',
+ icon: 'none',
+ duration: 2000
+ })
+ },
+
+ // 鐢熸垚鍒嗕韩娴锋姤
+ generateSharePoster(activityId, activityName) {
+ wx.showLoading({
+ title: '鐢熸垚娴锋姤涓�...'
+ })
+
+ // 杩欓噷鍙互璋冪敤鍚庣API鐢熸垚鍒嗕韩娴锋姤
+ // 鎴栬�呬娇鐢╟anvas鍦ㄥ墠绔敓鎴�
+ setTimeout(() => {
+ wx.hideLoading()
+ wx.showToast({
+ title: '娴锋姤鐢熸垚鍔熻兘寮�鍙戜腑',
+ icon: 'none',
+ duration: 2000
+ })
+ }, 1500)
+ },
+
+ // 椤甸潰鍒嗕韩鍔熻兘 - 鍒嗕韩缁欐湅鍙�
+ onShareAppMessage(res) {
+ console.log('鍒嗕韩缁欐湅鍙�', res)
+
+ // 濡傛灉鏄粠姣旇禌鍗$墖鍒嗕韩
+ if (this.data.shareActivityId && this.data.shareActivityName) {
+ const shareData = {
+ title: `${this.data.shareActivityName} - 钃塭鍒涙瘮璧涘钩鍙癭,
+ path: `/pages/activity/detail?id=${this.data.shareActivityId}`,
+ imageUrl: '', // 鍙互璁剧疆鍒嗕韩鍥剧墖
+ success: (res) => {
+ console.log('鍒嗕韩鎴愬姛', res)
+ wx.showToast({
+ title: '鍒嗕韩鎴愬姛',
+ icon: 'success',
+ duration: 2000
+ })
+ // 娓呴櫎鍒嗕韩鐘舵��
+ this.setData({
+ shareActivityId: null,
+ shareActivityName: null
+ })
+ },
+ fail: (res) => {
+ console.log('鍒嗕韩澶辫触', res)
+ wx.showToast({
+ title: '鍒嗕韩澶辫触',
+ icon: 'none',
+ duration: 2000
+ })
+ }
+ }
+ return shareData
+ }
+
+ // 榛樿鍒嗕韩鏁翠釜棣栭〉
+ return {
+ title: '钃塭鍒涙瘮璧涘钩鍙� - 鍙戠幇绮惧僵姣旇禌',
+ path: '/pages/index/index',
+ imageUrl: '', // 鍙互璁剧疆榛樿鍒嗕韩鍥剧墖
+ success: (res) => {
+ console.log('鍒嗕韩鎴愬姛', res)
+ wx.showToast({
+ title: '鍒嗕韩鎴愬姛',
+ icon: 'success',
+ duration: 2000
+ })
+ },
+ fail: (res) => {
+ console.log('鍒嗕韩澶辫触', res)
+ wx.showToast({
+ title: '鍒嗕韩澶辫触',
+ icon: 'none',
+ duration: 2000
+ })
+ }
+ }
+ },
+
+ // 鍒嗕韩鍒版湅鍙嬪湀
+ onShareTimeline() {
+ console.log('鍒嗕韩鍒版湅鍙嬪湀')
+
+ return {
+ title: '钃塭鍒涙瘮璧涘钩鍙� - 鍙戠幇绮惧僵姣旇禌',
+ query: '',
+ imageUrl: '', // 鍙互璁剧疆鍒嗕韩鍥剧墖
+ success: (res) => {
+ console.log('鍒嗕韩鍒版湅鍙嬪湀鎴愬姛', res)
+ wx.showToast({
+ title: '鍒嗕韩鎴愬姛',
+ icon: 'success',
+ duration: 2000
+ })
+ },
+ fail: (res) => {
+ console.log('鍒嗕韩鍒版湅鍙嬪湀澶辫触', res)
+ wx.showToast({
+ title: '鍒嗕韩澶辫触',
+ icon: 'none',
+ duration: 2000
+ })
+ }
+ }
}
})
\ No newline at end of file
--
Gitblit v1.8.0