From 89cf6021b5eba901fa3b3a6c030a9b842ed253e4 Mon Sep 17 00:00:00 2001 From: wangwuww111 <2816108629@qq.com> Date: Tue, 17 Mar 2026 18:37:02 +0800 Subject: [PATCH] =?UTF-8?q?feat:=20=E5=88=A0=E9=99=A4=E5=8F=91=E7=8E=B0?= =?UTF-8?q?=E9=A1=B5=E3=80=81=E6=B7=BB=E5=8A=A0=E9=9A=90=E7=A7=81=E6=8E=88?= =?UTF-8?q?=E6=9D=83=E3=80=81=E4=BF=AE=E5=A4=8D=E5=A4=B4=E5=83=8F=E4=B8=8A?= =?UTF-8?q?=E4=BC=A0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- client/game.json | 3 ++- client/js/scenes/HomeScene.js | 11 ++++----- client/js/scenes/ProfileScene.js | 38 +++++++++++++++++++++++++++++++- 3 files changed, 43 insertions(+), 9 deletions(-) diff --git a/client/game.json b/client/game.json index 45dbe19..0925288 100644 --- a/client/game.json +++ b/client/game.json @@ -6,5 +6,6 @@ "connectSocket": 10000, "uploadFile": 10000, "downloadFile": 10000 - } + }, + "__usePrivacyCheck__": true } diff --git a/client/js/scenes/HomeScene.js b/client/js/scenes/HomeScene.js index 5a9a136..dbbf688 100644 --- a/client/js/scenes/HomeScene.js +++ b/client/js/scenes/HomeScene.js @@ -374,7 +374,6 @@ export default class HomeScene extends BaseScene { const tabs = [ { icon: '🏠', label: '首页' }, - { icon: '🔥', label: '发现' }, { icon: '✨', label: '创作' }, { icon: '👤', label: '我的' } ]; @@ -395,7 +394,7 @@ export default class HomeScene extends BaseScene { ctx.fill(); } - ctx.font = index === 2 ? '24px sans-serif' : '20px sans-serif'; + ctx.font = index === 1 ? '24px sans-serif' : '20px sans-serif'; ctx.textAlign = 'center'; ctx.fillText(tab.icon, centerX, y + 28); @@ -503,7 +502,7 @@ export default class HomeScene extends BaseScene { // 底部Tab点击 if (y > this.screenHeight - 60) { - const tabW = this.screenWidth / 4; + const tabW = this.screenWidth / 3; // 3个Tab const tabIndex = Math.floor(x / tabW); this.handleBottomTabClick(tabIndex); return; @@ -551,14 +550,12 @@ export default class HomeScene extends BaseScene { if (tabIndex === this.bottomTab && tabIndex === 0) return; if (tabIndex === 0) { + // 首页 this.bottomTab = 0; } else if (tabIndex === 1) { - // 发现页(可跳转或在本页切换) - this.bottomTab = 1; - } else if (tabIndex === 2) { // 创作页 this.main.sceneManager.switchScene('aiCreate'); - } else if (tabIndex === 3) { + } else if (tabIndex === 2) { // 我的 this.main.sceneManager.switchScene('profile'); } diff --git a/client/js/scenes/ProfileScene.js b/client/js/scenes/ProfileScene.js index dd0262a..eadd6d0 100644 --- a/client/js/scenes/ProfileScene.js +++ b/client/js/scenes/ProfileScene.js @@ -1461,6 +1461,42 @@ export default class ProfileScene extends BaseScene { // 选择并上传头像 chooseAndUploadAvatar() { console.log('[ProfileScene] 开始选择头像'); + + // 检查隐私授权状态 + if (wx.getPrivacySetting) { + wx.getPrivacySetting({ + success: (res) => { + console.log('[ProfileScene] 隐私设置:', res); + if (res.needAuthorization) { + // 需要授权,弹出隐私弹窗 + wx.requirePrivacyAuthorize({ + success: () => { + console.log('[ProfileScene] 隐私授权成功'); + this.doChooseMedia(); + }, + fail: (err) => { + console.error('[ProfileScene] 隐私授权失败:', err); + wx.showToast({ title: '需要授权才能选择图片', icon: 'none' }); + } + }); + } else { + // 已授权,直接选择图片 + this.doChooseMedia(); + } + }, + fail: () => { + // 获取隐私设置失败,尝试直接调用 + this.doChooseMedia(); + } + }); + } else { + // 不支持隐私API,直接调用 + this.doChooseMedia(); + } + } + + // 实际选择图片 + doChooseMedia() { wx.chooseMedia({ count: 1, mediaType: ['image'], @@ -1516,7 +1552,7 @@ export default class ProfileScene extends BaseScene { uploadAvatar(filePath) { return new Promise((resolve, reject) => { const token = this.main.userManager.token || ''; - const baseUrl = 'http://172.20.10.8:8000'; // 与 http.js 保持一致 + const baseUrl = 'http://localhost:8002'; // 与 http.js 保持一致 wx.uploadFile({ url: `${baseUrl}/api/upload/avatar`,