From 04b6924a08b87447922d8fa8797c292279789594 Mon Sep 17 00:00:00 2001 From: Alex-larget <33240357+Alex-larget@users.noreply.github.com> Date: Fri, 6 Mar 2026 15:16:19 +0800 Subject: [PATCH] =?UTF-8?q?=E9=87=8D=E6=9E=84=E8=B7=A8=E5=A4=9A=E4=B8=AA?= =?UTF-8?q?=E9=A1=B5=E9=9D=A2=E7=9A=84=E5=AF=BC=E8=88=AA=E9=80=BB=E8=BE=91?= =?UTF-8?q?=EF=BC=8C=E4=BB=A5=E5=88=A9=E7=94=A8=E9=9B=86=E4=B8=AD=E7=9A=84?= =?UTF-8?q?`goBackOrToHome`=E6=96=B9=E6=B3=95=EF=BC=8C=E9=80=9A=E8=BF=87?= =?UTF-8?q?=E7=A1=AE=E4=BF=9D=E4=B8=80=E8=87=B4=E7=9A=84=E8=BF=94=E5=9B=9E?= =?UTF-8?q?=E5=AF=BC=E8=88=AA=E8=A1=8C=E4=B8=BA=E6=9D=A5=E6=8F=90=E5=8D=87?= =?UTF-8?q?=E7=94=A8=E6=88=B7=E4=BD=93=E9=AA=8C=E3=80=82=E6=9B=B4=E6=96=B0?= =?UTF-8?q?app.js=E4=BB=A5=E5=8C=85=E5=90=AB=E6=AD=A4=E6=96=B9=E6=B3=95?= =?UTF-8?q?=EF=BC=8C=E5=B9=B6=E7=9B=B8=E5=BA=94=E8=B0=83=E6=95=B4=E7=9B=B8?= =?UTF-8?q?=E5=85=B3=E9=A1=B5=E9=9D=A2=E3=80=82=E6=AD=A4=E5=A4=96=EF=BC=8C?= =?UTF-8?q?=E5=AF=B9=E6=AF=94=E8=B5=9B=E9=A1=B5=E9=9D=A2=E8=BF=9B=E8=A1=8C?= =?UTF-8?q?=E4=BA=86=E7=BB=86=E5=BE=AE=E7=9A=84=E5=B8=83=E5=B1=80=E8=B0=83?= =?UTF-8?q?=E6=95=B4=EF=BC=8C=E4=BB=A5=E6=8F=90=E9=AB=98=E7=94=A8=E6=88=B7?= =?UTF-8?q?=E7=95=8C=E9=9D=A2=E7=9A=84=E8=BF=9E=E8=B4=AF=E6=80=A7=E3=80=82?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- miniprogram/app.js | 16 ++++++++++++-- miniprogram/pages/about/about.js | 2 +- miniprogram/pages/addresses/addresses.js | 4 ++-- miniprogram/pages/addresses/edit.js | 4 ++-- miniprogram/pages/agreement/agreement.js | 2 +- miniprogram/pages/match/match.wxml | 3 ++- miniprogram/pages/match/match.wxss | 21 ++++++++++++------- .../pages/member-detail/member-detail.js | 2 +- .../pages/mentor-detail/mentor-detail.js | 2 +- miniprogram/pages/mentors/mentors.js | 2 +- miniprogram/pages/my/my.js | 5 ++--- miniprogram/pages/my/my.wxml | 2 +- miniprogram/pages/my/my.wxss | 3 ++- miniprogram/pages/privacy/privacy.js | 2 +- .../pages/profile-edit/profile-edit.js | 6 +++--- .../pages/profile-show/profile-show.js | 4 ++-- miniprogram/pages/purchases/purchases.js | 2 +- miniprogram/pages/read/read.js | 6 ++---- miniprogram/pages/referral/referral.js | 4 ++-- miniprogram/pages/search/search.js | 2 +- miniprogram/pages/settings/settings.js | 4 ++-- miniprogram/pages/vip/vip.js | 2 +- .../withdraw-records/withdraw-records.js | 2 +- 23 files changed, 60 insertions(+), 42 deletions(-) diff --git a/miniprogram/app.js b/miniprogram/app.js index f3c17bc9..1abc1ba6 100644 --- a/miniprogram/app.js +++ b/miniprogram/app.js @@ -8,9 +8,9 @@ const { parseScene } = require('./utils/scene.js') App({ globalData: { // API基础地址 - 连接真实后端 - // baseUrl: 'https://soulapi.quwanzhi.com', + baseUrl: 'https://soulapi.quwanzhi.com', // baseUrl: 'https://souldev.quwanzhi.com', - baseUrl: 'http://localhost:8080', + // baseUrl: 'http://localhost:8080', // 小程序配置 - 真实AppID @@ -187,6 +187,18 @@ App({ return '' }, + /** + * 自定义导航栏「返回」:有上一页则返回,否则跳转首页(解决从分享进入时点返回无效的问题) + */ + goBackOrToHome() { + const pages = getCurrentPages() + if (pages.length <= 1) { + wx.switchTab({ url: '/pages/index/index' }) + } else { + wx.navigateBack() + } + }, + // 获取系统信息 getSystemInfo() { try { diff --git a/miniprogram/pages/about/about.js b/miniprogram/pages/about/about.js index 2dc3a222..af04d83d 100644 --- a/miniprogram/pages/about/about.js +++ b/miniprogram/pages/about/about.js @@ -115,7 +115,7 @@ Page({ // 返回 goBack() { - wx.navigateBack() + getApp().goBackOrToHome() }, onShareAppMessage() { diff --git a/miniprogram/pages/addresses/addresses.js b/miniprogram/pages/addresses/addresses.js index 1d4a50e1..0dbd7f7e 100644 --- a/miniprogram/pages/addresses/addresses.js +++ b/miniprogram/pages/addresses/addresses.js @@ -41,7 +41,7 @@ Page({ if (res.confirm) { wx.switchTab({ url: '/pages/my/my' }) } else { - wx.navigateBack() + getApp().goBackOrToHome() } } }) @@ -119,7 +119,7 @@ Page({ // 返回 goBack() { - wx.navigateBack() + getApp().goBackOrToHome() }, onShareAppMessage() { diff --git a/miniprogram/pages/addresses/edit.js b/miniprogram/pages/addresses/edit.js index efacd000..a7d6925e 100644 --- a/miniprogram/pages/addresses/edit.js +++ b/miniprogram/pages/addresses/edit.js @@ -180,7 +180,7 @@ Page({ icon: 'success' }) setTimeout(() => { - wx.navigateBack() + getApp().goBackOrToHome() }, 1500) } else { wx.hideLoading() @@ -197,7 +197,7 @@ Page({ // 返回 goBack() { - wx.navigateBack() + getApp().goBackOrToHome() }, onShareAppMessage() { diff --git a/miniprogram/pages/agreement/agreement.js b/miniprogram/pages/agreement/agreement.js index ea413a87..d7ad88c1 100644 --- a/miniprogram/pages/agreement/agreement.js +++ b/miniprogram/pages/agreement/agreement.js @@ -17,7 +17,7 @@ Page({ }, goBack() { - wx.navigateBack() + getApp().goBackOrToHome() }, onShareAppMessage() { diff --git a/miniprogram/pages/match/match.wxml b/miniprogram/pages/match/match.wxml index d4beb615..a975729e 100644 --- a/miniprogram/pages/match/match.wxml +++ b/miniprogram/pages/match/match.wxml @@ -4,10 +4,11 @@ - 找伙伴 ⚙️ + 找伙伴 + diff --git a/miniprogram/pages/match/match.wxss b/miniprogram/pages/match/match.wxss index 6842699c..3eac33f3 100644 --- a/miniprogram/pages/match/match.wxss +++ b/miniprogram/pages/match/match.wxss @@ -24,19 +24,13 @@ height: 88rpx; display: flex; align-items: center; - justify-content: space-between; padding: 0 32rpx; } -.nav-title { - font-size: 36rpx; - font-weight: 700; - color: #ffffff; -} - .nav-settings { width: 80rpx; height: 80rpx; + flex-shrink: 0; border-radius: 50%; background: #1c1c1e; display: flex; @@ -44,6 +38,19 @@ justify-content: center; } +.nav-title { + flex: 1; + font-size: 36rpx; + font-weight: 700; + color: #ffffff; + text-align: center; +} + +.nav-right-placeholder { + width: 80rpx; + flex-shrink: 0; +} + .settings-icon { font-size: 36rpx; } diff --git a/miniprogram/pages/member-detail/member-detail.js b/miniprogram/pages/member-detail/member-detail.js index 46a505db..1778c371 100644 --- a/miniprogram/pages/member-detail/member-detail.js +++ b/miniprogram/pages/member-detail/member-detail.js @@ -180,7 +180,7 @@ Page({ goToMatch() { wx.switchTab({ url: '/pages/match/match' }) }, goToVip() { wx.navigateTo({ url: '/pages/vip/vip' }) }, - goBack() { wx.navigateBack() }, + goBack() { getApp().goBackOrToHome() }, onShareAppMessage() { const ref = app.getMyReferralCode() diff --git a/miniprogram/pages/mentor-detail/mentor-detail.js b/miniprogram/pages/mentor-detail/mentor-detail.js index 84f935c7..39ad0ac3 100644 --- a/miniprogram/pages/mentor-detail/mentor-detail.js +++ b/miniprogram/pages/mentor-detail/mentor-detail.js @@ -108,6 +108,6 @@ Page({ }, goBack() { - wx.navigateBack() + getApp().goBackOrToHome() }, }) diff --git a/miniprogram/pages/mentors/mentors.js b/miniprogram/pages/mentors/mentors.js index 7fda9f86..00bf3a69 100644 --- a/miniprogram/pages/mentors/mentors.js +++ b/miniprogram/pages/mentors/mentors.js @@ -60,6 +60,6 @@ Page({ }, goBack() { - wx.navigateBack() + getApp().goBackOrToHome() }, }) diff --git a/miniprogram/pages/my/my.js b/miniprogram/pages/my/my.js index 688b5e9f..0376d0b5 100644 --- a/miniprogram/pages/my/my.js +++ b/miniprogram/pages/my/my.js @@ -668,15 +668,14 @@ Page({ } catch (e) { console.log('[My] VIP查询失败', e) } }, - // 头像点击:已登录弹出选项(微信头像 / 相册 / VIP) + // 头像点击:已登录弹出选项(微信头像 / 相册) onAvatarTap() { if (!this.data.isLoggedIn) { this.showLogin(); return } wx.showActionSheet({ - itemList: ['获取微信头像', '从相册选择', '开通/管理VIP'], + itemList: ['获取微信头像', '从相册选择'], success: (res) => { if (res.tapIndex === 0) this.setData({ showAvatarModal: true }) if (res.tapIndex === 1) this.chooseAvatarFromAlbum() - if (res.tapIndex === 2) this.goToVip() } }) }, diff --git a/miniprogram/pages/my/my.wxml b/miniprogram/pages/my/my.wxml index 507e74cc..c05f3c4f 100644 --- a/miniprogram/pages/my/my.wxml +++ b/miniprogram/pages/my/my.wxml @@ -29,7 +29,7 @@ {{userInfo.nickname ? userInfo.nickname[0] : '?'}} VIP - VIP + VIP diff --git a/miniprogram/pages/my/my.wxss b/miniprogram/pages/my/my.wxss index cc4f02c7..62a7c175 100644 --- a/miniprogram/pages/my/my.wxss +++ b/miniprogram/pages/my/my.wxss @@ -35,7 +35,7 @@ .guest-login-btn { padding: 20rpx 48rpx; background: #4FD1C5; color: #000; font-size: 28rpx; font-weight: 600; border-radius: 24rpx; } /* ===== 用户卡片(设计稿 1:1) ===== */ -.profile-card { padding: 24rpx 16rpx 32rpx; } +.profile-card { padding: 30rpx; } .profile-card-inner { background: #1A1A1A; border-radius: 24rpx; padding: 32rpx; border: 1rpx solid rgba(75,85,99,0.5); @@ -90,6 +90,7 @@ .card { background: #1A1A1A; border-radius: 24rpx; padding: 32rpx; margin-bottom: 24rpx; border: 1rpx solid rgba(75,85,99,0.5); + margin:0prx 20rpx!important; } .card-header { display: flex; align-items: center; gap: 16rpx; margin-bottom: 32rpx; } .card-icon { font-size: 40rpx; } diff --git a/miniprogram/pages/privacy/privacy.js b/miniprogram/pages/privacy/privacy.js index a12def28..6696bfcc 100644 --- a/miniprogram/pages/privacy/privacy.js +++ b/miniprogram/pages/privacy/privacy.js @@ -17,7 +17,7 @@ Page({ }, goBack() { - wx.navigateBack() + getApp().goBackOrToHome() }, onShareAppMessage() { diff --git a/miniprogram/pages/profile-edit/profile-edit.js b/miniprogram/pages/profile-edit/profile-edit.js index e88d7bbd..7f3ce334 100644 --- a/miniprogram/pages/profile-edit/profile-edit.js +++ b/miniprogram/pages/profile-edit/profile-edit.js @@ -49,7 +49,7 @@ Page({ if (!app.globalData.isLoggedIn || !userInfo?.id) { this.setData({ loading: false }) wx.showToast({ title: '请先登录', icon: 'none' }) - setTimeout(() => wx.navigateBack(), 1500) + setTimeout(() => getApp().goBackOrToHome(), 1500) return } try { @@ -92,7 +92,7 @@ Page({ } }, - goBack() { wx.navigateBack() }, + goBack() { getApp().goBackOrToHome() }, onNicknameInput(e) { this.setData({ nickname: e.detail.value }) }, onRegionInput(e) { this.setData({ region: e.detail.value }) }, @@ -213,7 +213,7 @@ Page({ if (payload.avatar) app.globalData.userInfo.avatar = payload.avatar wx.setStorageSync('userInfo', app.globalData.userInfo) } - setTimeout(() => wx.navigateBack(), 800) + setTimeout(() => getApp().goBackOrToHome(), 800) } catch (e) { wx.showToast({ title: e.message || '保存失败', icon: 'none' }) } diff --git a/miniprogram/pages/profile-show/profile-show.js b/miniprogram/pages/profile-show/profile-show.js index 81e7b14d..b5d884e9 100644 --- a/miniprogram/pages/profile-show/profile-show.js +++ b/miniprogram/pages/profile-show/profile-show.js @@ -25,7 +25,7 @@ Page({ if (!app.globalData.isLoggedIn || !userInfo?.id) { this.setData({ loading: false }) wx.showToast({ title: '请先登录', icon: 'none' }) - setTimeout(() => wx.navigateBack(), 1500) + setTimeout(() => getApp().goBackOrToHome(), 1500) return } this.setData({ loading: true }) @@ -65,7 +65,7 @@ Page({ }, goBack() { - wx.navigateBack() + getApp().goBackOrToHome() }, goToEdit() { diff --git a/miniprogram/pages/purchases/purchases.js b/miniprogram/pages/purchases/purchases.js index 72c2a9a7..63d2819b 100644 --- a/miniprogram/pages/purchases/purchases.js +++ b/miniprogram/pages/purchases/purchases.js @@ -61,7 +61,7 @@ Page({ } }, - goBack() { wx.navigateBack() }, + goBack() { getApp().goBackOrToHome() }, onShareAppMessage() { const ref = app.getMyReferralCode() diff --git a/miniprogram/pages/read/read.js b/miniprogram/pages/read/read.js index a03ba8ba..3c342f51 100644 --- a/miniprogram/pages/read/read.js +++ b/miniprogram/pages/read/read.js @@ -461,11 +461,9 @@ Page({ }) }, - // 返回 + // 返回(从分享进入无栈时回首页) goBack() { - wx.navigateBack({ - fail: () => wx.switchTab({ url: '/pages/chapters/chapters' }) - }) + getApp().goBackOrToHome() }, // 分享弹窗 diff --git a/miniprogram/pages/referral/referral.js b/miniprogram/pages/referral/referral.js index 9685e2e7..3ac5233a 100644 --- a/miniprogram/pages/referral/referral.js +++ b/miniprogram/pages/referral/referral.js @@ -902,8 +902,8 @@ Page({ } }, - goBack() { - wx.navigateBack() + goBack() { + getApp().goBackOrToHome() }, // 解析商品描述,获取书名和章节 diff --git a/miniprogram/pages/search/search.js b/miniprogram/pages/search/search.js index 6d177392..7e2bb727 100644 --- a/miniprogram/pages/search/search.js +++ b/miniprogram/pages/search/search.js @@ -115,7 +115,7 @@ Page({ // 返回上一页 goBack() { - wx.navigateBack() + getApp().goBackOrToHome() }, onShareAppMessage() { diff --git a/miniprogram/pages/settings/settings.js b/miniprogram/pages/settings/settings.js index 5b21cb2a..b47db981 100644 --- a/miniprogram/pages/settings/settings.js +++ b/miniprogram/pages/settings/settings.js @@ -414,7 +414,7 @@ Page({ alipayAccount: '' }) wx.showToast({ title: '已退出登录', icon: 'success' }) - setTimeout(() => wx.navigateBack(), 1500) + setTimeout(() => getApp().goBackOrToHome(), 1500) } } }) @@ -428,7 +428,7 @@ Page({ // 阻止冒泡 stopPropagation() {}, - goBack() { wx.navigateBack() }, + goBack() { getApp().goBackOrToHome() }, // 跳转到地址管理页 goToAddresses() { diff --git a/miniprogram/pages/vip/vip.js b/miniprogram/pages/vip/vip.js index b0e6d903..b8cc9863 100644 --- a/miniprogram/pages/vip/vip.js +++ b/miniprogram/pages/vip/vip.js @@ -126,7 +126,7 @@ Page({ wx.hideLoading() }, - goBack() { wx.navigateBack() }, + goBack() { getApp().goBackOrToHome() }, onShareAppMessage() { const ref = app.getMyReferralCode() diff --git a/miniprogram/pages/withdraw-records/withdraw-records.js b/miniprogram/pages/withdraw-records/withdraw-records.js index 22000ecd..edd1882e 100644 --- a/miniprogram/pages/withdraw-records/withdraw-records.js +++ b/miniprogram/pages/withdraw-records/withdraw-records.js @@ -69,7 +69,7 @@ Page({ }, goBack() { - wx.navigateBack() + getApp().goBackOrToHome() }, async onReceiveTap(e) {