From 7972dae3988a27c60324c3baea1016aa3e230ddb Mon Sep 17 00:00:00 2001 From: kron Date: Thu, 10 Jul 2025 15:34:00 +0800 Subject: [PATCH] =?UTF-8?q?=E7=BB=86=E8=8A=82=E5=AE=8C=E5=96=84?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/components/BowTarget.vue | 3 +- src/components/Header.vue | 2 +- src/components/ShootProgress.vue | 10 ++- src/components/Swiper.vue | 3 +- src/components/UserHeader.vue | 9 ++- src/pages/first-try.vue | 13 ++-- src/pages/index.vue | 33 +++++---- src/pages/my-device.vue | 10 +-- src/pages/rank-list.vue | 49 +++++++++---- src/pages/ranking.vue | 6 ++ src/store.js | 116 ++++++++++++++----------------- src/util.js | 2 +- 12 files changed, 144 insertions(+), 112 deletions(-) diff --git a/src/components/BowTarget.vue b/src/components/BowTarget.vue index 772ceb1..dc7f49c 100644 --- a/src/components/BowTarget.vue +++ b/src/components/BowTarget.vue @@ -274,7 +274,7 @@ const simulShoot2 = async () => { color: #fff; font-size: 8px; text-align: center; - line-height: 12px; + line-height: 10px; transition: all 0.3s ease; box-sizing: border-box; } @@ -293,6 +293,7 @@ const simulShoot2 = async () => { font-size: 20px; color: #fed847; top: 75px; + font-weight: bold; } .footer { width: calc(100% - 20px); diff --git a/src/components/Header.vue b/src/components/Header.vue index 5bf3923..0e27d75 100644 --- a/src/components/Header.vue +++ b/src/components/Header.vue @@ -33,7 +33,7 @@ onMounted(() => { {{ title }} - + 凹造型 - diff --git a/src/components/ShootProgress.vue b/src/components/ShootProgress.vue index d3e71f5..3e0a428 100644 --- a/src/components/ShootProgress.vue +++ b/src/components/ShootProgress.vue @@ -128,7 +128,6 @@ onUnmounted(() => { align-items: center; justify-content: space-between; padding: 0 15px; - color: #fed847; z-index: 1; transform: translateX(-10px); } @@ -136,9 +135,14 @@ onUnmounted(() => { width: 80px; transform: translateX(10px); } +.container > view:first-child > text { + color: #fed847; + font-size: 18px; + transform: translateY(-10px); +} .container > view:first-child > button:last-child > image { - width: 50px; - transform: translateX(10px); + width: 40px; + transform: translateX(10px) translateY(-10px); } .container > view:last-child { z-index: -1; diff --git a/src/components/Swiper.vue b/src/components/Swiper.vue index 97e1b14..1df5d4e 100644 --- a/src/components/Swiper.vue +++ b/src/components/Swiper.vue @@ -64,7 +64,8 @@ const handleChange = (e) => { .swiper-container image { width: calc(100% - 20px); - margin: 10px; + margin: 0 10px; + border-radius: 10px; } .dots { diff --git a/src/components/UserHeader.vue b/src/components/UserHeader.vue index 54d8cb1..9e9e0cd 100644 --- a/src/components/UserHeader.vue +++ b/src/components/UserHeader.vue @@ -29,6 +29,11 @@ const toUserPage = () => { }); } }; +const toRankListPage = () => { + uni.navigateTo({ + url: "/pages/rank-list", + }); +}; watch( () => [config.value, user.value], ([n_config, n_user]) => { @@ -58,7 +63,7 @@ watch( :onClick="toUserPage" :size="42" /> - + {{ user.nickName }} - + { @@ -249,7 +254,7 @@ const onClose = () => { } .try-tip { width: calc(100% - 20px); - margin: 10px 10px; + margin: 0 10px; } .infos { display: flex; diff --git a/src/pages/index.vue b/src/pages/index.vue index 79f07c9..3d91cff 100644 --- a/src/pages/index.vue +++ b/src/pages/index.vue @@ -36,6 +36,12 @@ const toPage = (path) => { icon: "none", }); } + if (!user.value.trio) { + return uni.showToast({ + title: "请先完成新手试炼", + icon: "none", + }); + } } uni.navigateTo({ url: path, @@ -52,26 +58,23 @@ onMounted(async () => { try { const deviceInfo = uni.getDeviceInfo(); isIos.value = deviceInfo.osName === "ios"; - const token = uni.getStorageSync("token"); - if (token) { - const result = await getHomeData(); - console.log("首页数据:", result); - if (result.user) { - updateUser(result.user); - const devices = await getMyDevicesAPI(); - if (devices.bindings && devices.bindings.length) { - updateDevice( - devices.bindings[0].deviceId, - devices.bindings[0].deviceName - ); - } - } - } const config = await getAppConfig(); updateConfig(config); console.log("全局配置:", config); const rankList = await getRankListAPI(); updateRank(rankList); + const result = await getHomeData(); + console.log("首页数据:", result); + if (result.user) { + updateUser(result.user); + const devices = await getMyDevicesAPI(); + if (devices.bindings && devices.bindings.length) { + updateDevice( + devices.bindings[0].deviceId, + devices.bindings[0].deviceName + ); + } + } } catch (error) { console.error("获取配置失败:", error); } diff --git a/src/pages/my-device.vue b/src/pages/my-device.vue index 3a6e593..2ef881d 100644 --- a/src/pages/my-device.vue +++ b/src/pages/my-device.vue @@ -97,12 +97,12 @@ const backToHome = () => { :onClose="() => (showTip = false)" > - 不知道如何连接弓箭 - 1. 先确认弓箭是智能弓箭 - 2.确认开启手机的摄像头权限; - 3. 开启进入绑定弓箭功能,扫弓箭二维码 + 找不到我的弓箭 + 1.确认弓箭是智能弓箭 + 2.确认弓箭有电且电源已开启 + 3.进入弓箭绑定功能,扫描弓箭上的二维码 - 4. 连接成功后 + 4.连接成功后 联系在线客服 diff --git a/src/pages/rank-list.vue b/src/pages/rank-list.vue index 4ce4912..b6cfd31 100644 --- a/src/pages/rank-list.vue +++ b/src/pages/rank-list.vue @@ -11,6 +11,7 @@ const isIos = ref(true); const selectedIndex = ref(0); const currentList = ref([]); const myData = ref(null); +const headerColor = ref(""); onMounted(async () => { const deviceInfo = uni.getDeviceInfo(); @@ -36,18 +37,28 @@ const handleSelect = (index) => { ); }; +const onScrollView = (e) => { + headerColor.value = e.detail.scrollTop > 100 ? "orange" : ""; + console.log(1111, e.detail); +}; + const subTitles = ["排位赛积分", "本周MVP次数", "本周十环次数"];