From 619ca3a236a17f143496a8577eac8e1a7a3b0638 Mon Sep 17 00:00:00 2001 From: jinhhanhan <1683105490@qq.com> Date: Thu, 6 Aug 2026 16:52:41 +0800 Subject: [PATCH] =?UTF-8?q?chore=EF=BC=9A=E5=BE=AE=E4=BF=A1=E5=B0=8F?= =?UTF-8?q?=E7=A8=8B=E5=BA=8F=E5=8F=AF=E4=BB=A5=E5=88=86=E4=BA=AB=E7=BB=99?= =?UTF-8?q?=E5=A5=BD=E5=8F=8B=E8=A1=A8=E5=8D=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- components-diy/diy-recommend-code.vue | 11 ++++++++++- pages_tool/login/login.vue | 22 +++++++++++----------- pages_tool/member/index.vue | 26 ++++++++++++++++++++++++++ 3 files changed, 47 insertions(+), 12 deletions(-) diff --git a/components-diy/diy-recommend-code.vue b/components-diy/diy-recommend-code.vue index 88166ba..d398c7a 100644 --- a/components-diy/diy-recommend-code.vue +++ b/components-diy/diy-recommend-code.vue @@ -1011,7 +1011,16 @@ onShareClick() { // #endif // #ifdef MP-WEIXIN - // open-type="share" 会自动触发 onShareAppMessage 弹出微信原生分享面板,无需手动复制链接 + // open-type="share" 会自动触发 onShareAppMessage 弹出微信原生分享面板 + // 存储分享数据供页面级 onShareAppMessage 读取(组件级钩子会被页面级覆盖) + try { + var shareData = { + title: v.shareTitle || v.title || '邀您入驻低空经济产业平台', + path: this.extractMiniProgramPath(), + imageUrl: v.shareImageUrl || '' + }; + uni.setStorageSync('_recommendShareData', JSON.stringify(shareData)); + } catch(e) {} return; // #endif }, diff --git a/pages_tool/login/login.vue b/pages_tool/login/login.vue index c5c66eb..26d7e52 100644 --- a/pages_tool/login/login.vue +++ b/pages_tool/login/login.vue @@ -7,7 +7,7 @@ - + @@ -324,16 +324,16 @@ export default { } }, mobileAuthLogin(e) { - if (e.detail.errMsg == 'getPhoneNumber:ok') { - var data = { - iv: e.detail.iv, - encryptedData: e.detail.encryptedData - }; - if (Object.keys(this.authInfo).length) { - Object.assign(data, this.authInfo); - if (this.authInfo.nickName) data.nickname = this.authInfo.nickName; - if (this.authInfo.avatarUrl) data.headimg = this.authInfo.avatarUrl; - } + if (e.detail.errMsg == 'getPhoneNumber:ok') { + var data = { + iv: e.detail.iv, + encryptedData: e.detail.encryptedData + }; + if (Object.keys(this.authInfo).length) { + Object.assign(data, this.authInfo); + if (this.authInfo.nickName) data.nickname = this.authInfo.nickName; + if (this.authInfo.avatarUrl) data.headimg = this.authInfo.avatarUrl; + } if (uni.getStorageSync('source_member')) data.source_member = uni.getStorageSync('source_member'); if (this.isSub) return; diff --git a/pages_tool/member/index.vue b/pages_tool/member/index.vue index 70ea90f..5c3c5f7 100644 --- a/pages_tool/member/index.vue +++ b/pages_tool/member/index.vue @@ -113,6 +113,32 @@ export default { }, onShow() { this.$util.hideHomeButton(); + }, + // 覆写 mixin 的分享钩子:优先使用推荐码组件存储的分享数据 + onShareAppMessage() { + try { + var shareDataStr = uni.getStorageSync('_recommendShareData'); + if (shareDataStr) { + uni.removeStorageSync('_recommendShareData'); + return JSON.parse(shareDataStr); + } + } catch(e) {} + return this.mpShareData?.appMessage; + }, + onShareTimeline() { + try { + var shareDataStr = uni.getStorageSync('_recommendShareData'); + if (shareDataStr) { + uni.removeStorageSync('_recommendShareData'); + var d = JSON.parse(shareDataStr); + var query = ''; + if (d.path && d.path.indexOf('?') >= 0) { + query = d.path.split('?')[1]; + } + return { title: d.title, query: query, imageUrl: d.imageUrl || '' }; + } + } catch(e) {} + return this.mpShareData?.timeLine; }, methods: {