From 940c70556bfa09b2898b7457d84532dee6cb4da3 Mon Sep 17 00:00:00 2001 From: kron Date: Fri, 23 May 2025 20:58:24 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E9=A1=B9=E7=9B=AE=E9=85=8D?= =?UTF-8?q?=E7=BD=AE=EF=BC=8C=E6=9B=B4=E6=8D=A2=E5=9B=BE=E7=89=87?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- project.config.json | 2 +- src/manifest.json | 11 +++-- src/pages/friend-battle.vue | 1 - src/pages/index.vue | 93 ++++++++++++++++++++++++++++++++---- src/static/a2@2x(1).png | Bin 89727 -> 102221 bytes src/static/a2@2x.png | Bin 21767 -> 20912 bytes src/static/a3@2x.png | Bin 82280 -> 94295 bytes src/static/a4@2x.png | Bin 565747 -> 623821 bytes src/static/bow-bg.png | Bin 105663 -> 115643 bytes 9 files changed, 93 insertions(+), 14 deletions(-) diff --git a/project.config.json b/project.config.json index d9cfe28..f6d496c 100644 --- a/project.config.json +++ b/project.config.json @@ -1,5 +1,5 @@ { - "appid": "wx0f07fb1df8a28105", + "appid": "wxa8f5989dcd45cc23", "compileType": "miniprogram", "libVersion": "3.7.7", "packOptions": { diff --git a/src/manifest.json b/src/manifest.json index 212bba3..07982dc 100644 --- a/src/manifest.json +++ b/src/manifest.json @@ -49,13 +49,18 @@ }, "quickapp": {}, "mp-weixin": { - "appid": "", + "appid": "wxa8f5989dcd45cc23", "setting": { "urlCheck": false }, "usingComponents": true, "darkmode": true, - "themeLocation": "theme.json" + "themeLocation": "theme.json", + "permission": { + "scope.userInfo": { + "desc": "用于完善用户资料" + } + } }, "mp-alipay": { "usingComponents": true @@ -67,4 +72,4 @@ "usingComponents": true }, "vueVersion": "3" -} \ No newline at end of file +} diff --git a/src/pages/friend-battle.vue b/src/pages/friend-battle.vue index aa6e10a..f42a186 100644 --- a/src/pages/friend-battle.vue +++ b/src/pages/friend-battle.vue @@ -12,7 +12,6 @@ const warnning = ref(""); const roomNumber = ref(""); const enterRoom = () => { - console.log(roomNumber.value); if (!roomNumber.value) { warnning.value = "请输入房间号"; } else { diff --git a/src/pages/index.vue b/src/pages/index.vue index 7825d7d..65f9b1c 100644 --- a/src/pages/index.vue +++ b/src/pages/index.vue @@ -5,13 +5,68 @@ import AppBackground from "@/components/AppBackground.vue"; import UserHeader from "@/components/UserHeader.vue"; import { getAppConfig } from '@/apis' +// 添加登录状态和用户信息 +const isLogin = ref(true); const userInfo = ref({ - name: "打酱油·路过", - level: "L100", - rank: 1928, - rankTotal: 1320, + name: "", + avatarUrl: "", + level: "L1", + rank: 0, + rankTotal: 0, }); +// 检查登录状态 +const checkLogin = () => { + const storedUserInfo = uni.getStorageSync('userInfo'); + if (storedUserInfo) { + userInfo.value = JSON.parse(storedUserInfo); + isLogin.value = true; + } +}; + +// 处理微信登录 +const handleLogin = () => { + uni.getUserProfile({ + desc: '用于完善用户资料', + success: (res) => { + const { userInfo: wxUserInfo } = res; + console.log('wxUserInfo', wxUserInfo); + // 获取登录凭证 + uni.login({ + provider: 'weixin', + success: async (loginRes) => { + const { code } = loginRes; + console.log('loginRes', loginRes); + // 这里可以把 code 和用户信息发送到后端 + // const result = await loginAPI(code, wxUserInfo); + // 暂时直接使用微信返回的用户信息 + userInfo.value = { + name: wxUserInfo.nickName, + avatarUrl: wxUserInfo.avatarUrl, + level: "L1", + rank: 0, + rankTotal: 0, + }; + isLogin.value = true; + + // 保存到本地存储 + uni.setStorageSync('userInfo', JSON.stringify(userInfo.value)); + }, + fail: (err) => { + uni.showToast({ + title: '登录失败', + icon: 'none' + }); + console.error('登录失败:', err); + } + }); + }, + fail: (err) => { + console.log('获取用户信息失败:', err); + } + }); +}; + const toFristTryPage = () => { uni.navigateTo({ url: "/pages/first-try", @@ -60,7 +115,15 @@ onMounted(() => {