From 7a00c1bb1fe2ebd2b023e030ac2d771ea3dacc1d Mon Sep 17 00:00:00 2001 From: chenlimao Date: Mon, 1 Jun 2026 16:44:08 +0800 Subject: [PATCH 01/63] =?UTF-8?q?fix=EF=BC=9AOTA=E5=BC=B9=E7=AA=97+wifi?= =?UTF-8?q?=E9=A1=B5=E9=9D=A2=E7=BB=93=E6=9E=84=E6=A0=B7=E5=BC=8F=E4=BF=AE?= =?UTF-8?q?=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .gitignore | 1 + src/components/OtaModal.vue | 350 +++++++++++++++ src/pages.json | 6 + src/pages/index.vue | 63 ++- src/pages/ota-wifi.vue | 720 +++++++++++++++++++++++++++++++ src/static/ota/check-char.png | Bin 0 -> 8533 bytes src/static/ota/close-char.png | Bin 0 -> 8663 bytes src/static/ota/new-ver.png | Bin 0 -> 6922 bytes src/static/ota/ota-bg.png | Bin 0 -> 21283 bytes src/static/ota/ota-mascot.png | Bin 0 -> 6871 bytes src/static/ota/ota-ver.png | Bin 0 -> 237 bytes src/static/ota/target-char.png | Bin 0 -> 9659 bytes src/static/ota/update-fail.png | Bin 0 -> 5822 bytes src/static/ota/update-ok.png | Bin 0 -> 5857 bytes src/static/ota/wifi1.png | Bin 0 -> 7714 bytes src/static/ota/wifi2.png | Bin 0 -> 3121 bytes src/static/sicon/arrow-left.png | Bin 0 -> 277 bytes src/static/sicon/cancel.png | Bin 0 -> 3498 bytes src/static/sicon/check.png | Bin 0 -> 390 bytes src/static/sicon/close.png | Bin 0 -> 603 bytes src/static/sicon/pwd.png | Bin 0 -> 407 bytes src/static/sicon/refresh.png | Bin 0 -> 494 bytes src/static/sicon/target_icon.png | Bin 0 -> 3637 bytes src/static/sicon/tick.png | Bin 0 -> 3305 bytes src/static/sicon/wifi.png | Bin 0 -> 548 bytes 25 files changed, 1139 insertions(+), 1 deletion(-) create mode 100644 src/components/OtaModal.vue create mode 100644 src/pages/ota-wifi.vue create mode 100644 src/static/ota/check-char.png create mode 100644 src/static/ota/close-char.png create mode 100644 src/static/ota/new-ver.png create mode 100644 src/static/ota/ota-bg.png create mode 100644 src/static/ota/ota-mascot.png create mode 100644 src/static/ota/ota-ver.png create mode 100644 src/static/ota/target-char.png create mode 100644 src/static/ota/update-fail.png create mode 100644 src/static/ota/update-ok.png create mode 100644 src/static/ota/wifi1.png create mode 100644 src/static/ota/wifi2.png create mode 100644 src/static/sicon/arrow-left.png create mode 100644 src/static/sicon/cancel.png create mode 100644 src/static/sicon/check.png create mode 100644 src/static/sicon/close.png create mode 100644 src/static/sicon/pwd.png create mode 100644 src/static/sicon/refresh.png create mode 100644 src/static/sicon/target_icon.png create mode 100644 src/static/sicon/tick.png create mode 100644 src/static/sicon/wifi.png diff --git a/.gitignore b/.gitignore index c91affc..23a9575 100644 --- a/.gitignore +++ b/.gitignore @@ -10,6 +10,7 @@ lerna-debug.log* node_modules .history .github +.claude openspec CLAUDE.md docs diff --git a/src/components/OtaModal.vue b/src/components/OtaModal.vue new file mode 100644 index 0000000..f76311a --- /dev/null +++ b/src/components/OtaModal.vue @@ -0,0 +1,350 @@ + + + + + diff --git a/src/pages.json b/src/pages.json index bd1f50c..106fc8a 100644 --- a/src/pages.json +++ b/src/pages.json @@ -119,6 +119,12 @@ }, { "path": "pages/mine-bow-data" + }, + { + "path": "pages/ota-wifi", + "style": { + "navigationStyle": "custom" + } } ], "globalStyle": { diff --git a/src/pages/index.vue b/src/pages/index.vue index bedd679..4c848bd 100644 --- a/src/pages/index.vue +++ b/src/pages/index.vue @@ -6,6 +6,7 @@ import AppFooter from "@/components/AppFooter.vue"; import UserHeader from "@/components/UserHeader.vue"; import Signin from "@/components/Signin.vue"; import BubbleTip from "@/components/BubbleTip.vue"; +import OtaModal from "@/components/OtaModal.vue"; import { checkUserBindAPI, @@ -36,6 +37,44 @@ const showModal = ref(false); const showGuide = ref(false); const scoreRankList = ref([]); +// OTA 相关 +const otaVisible = ref(false); +const otaState = ref("new_version"); +const OTA_MOCK = { + hasUpdate: true, + version: "V8.7.0", + description: "新版本将优化智能弓体验", + details: "升级前请确保:\n1、智能弓已开启,且电量充足\n2、所处稳定的 Wi-Fi 环境中。", + forceUpdate: false, +}; + +const checkOtaUpdate = () => { + if (!OTA_MOCK.hasUpdate) return; + const dismissedAt = uni.getStorageSync("ota_dismissed_at"); + const now = Date.now(); + if (dismissedAt && now - dismissedAt < 24 * 60 * 60 * 1000) return; + otaState.value = "new_version"; + otaVisible.value = true; +}; + +const handleOtaDismiss = () => { + uni.setStorageSync("ota_dismissed_at", Date.now()); + otaVisible.value = false; +}; + +const handleOtaUpdate = () => { + otaVisible.value = false; + uni.navigateTo({ url: "/pages/ota-wifi" }); +}; + +const handleOtaDone = () => { + otaVisible.value = false; +}; + +const handleOtaRetry = () => { + otaVisible.value = false; +}; + // 提取积分榜接口返回的榜单数组,兼容数组和对象两种返回格式。 const getScoreRankData = (result) => { if (Array.isArray(result)) return result; @@ -63,7 +102,15 @@ const toRankListPage = () => { }); }; -onShow(async () => { +onShow(async (options) => { + // 检查是否从 OTA 更新页面返回 + if (options && options.updateResult) { + otaState.value = options.updateResult; + otaVisible.value = true; + } else { + checkOtaUpdate(); + } + const env = uni.getAccountInfoSync().miniProgram.envVersion; const token = uni.getStorageSync(`${env}_token`); @@ -158,6 +205,20 @@ onShareTimeline(() => { + + diff --git a/src/static/ota/check-char.png b/src/static/ota/check-char.png new file mode 100644 index 0000000000000000000000000000000000000000..d262047a83138f362c95d077acf76bd681c8feb9 GIT binary patch literal 8533 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 P00000NkvXXu0mjf5<1BN literal 0 HcmV?d00001 diff --git a/src/static/ota/close-char.png b/src/static/ota/close-char.png new file mode 100644 index 0000000000000000000000000000000000000000..a563bb1fe39c93d468502cd84866ebf55533c0fa GIT binary patch literal 8663 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 literal 0 HcmV?d00001 diff --git a/src/static/ota/new-ver.png b/src/static/ota/new-ver.png new file mode 100644 index 0000000000000000000000000000000000000000..c6c5e5f0cb2c89aa0edbd7d13dd28d61f7de1a1b GIT binary patch literal 6922 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 QRR91007*qoM6N<$g86?dqW}N^ literal 0 HcmV?d00001 diff --git a/src/static/ota/ota-bg.png b/src/static/ota/ota-bg.png new file mode 100644 index 0000000000000000000000000000000000000000..56635f6e1324c863f7f3f275ef63e18dd1fd3263 GIT binary patch literal 21283 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 eSNG{?6~!;3?-w1Ze?G?m0000~CW`uP9k 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 Rb?yKF002ovPDHLkV1fk9on`<4 literal 0 HcmV?d00001 diff --git a/src/static/ota/ota-ver.png b/src/static/ota/ota-ver.png new file mode 100644 index 0000000000000000000000000000000000000000..a34a678f591c1d9b73760e6c6c92508467472c2b GIT binary patch literal 237 zcmeAS@N?(olHy`uVBq!ia0vp^B|xmh#0(@)YL@5$Db4_&5ZC{&Hv*aeUu`t`ZDI*z zF_#4S1xqpTPA!{v6v&<6>Eak-ar)`yjl8V}JgyhrmxxF<2>z4nneeDtAT(>)38Ba) z&5bJr4oz>GbbFrG#o>FVdQ&MBb@08V&bl>h($ literal 0 HcmV?d00001 diff --git a/src/static/ota/target-char.png b/src/static/ota/target-char.png new file mode 100644 index 0000000000000000000000000000000000000000..073cafb929e3a8721a2a7622f3fd23ff20eaa94c GIT binary patch literal 9659 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 literal 0 HcmV?d00001 diff --git a/src/static/ota/update-fail.png b/src/static/ota/update-fail.png new file mode 100644 index 0000000000000000000000000000000000000000..754b22675973f40e59448c11e1b7513c1a052511 GIT binary patch literal 5822 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 literal 0 HcmV?d00001 diff --git a/src/static/ota/wifi1.png b/src/static/ota/wifi1.png new file mode 100644 index 0000000000000000000000000000000000000000..6931b7b908851c65429dc9e1af1521937d55e5fe GIT binary patch literal 7714 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 literal 0 HcmV?d00001 diff --git a/src/static/ota/wifi2.png b/src/static/ota/wifi2.png new file mode 100644 index 0000000000000000000000000000000000000000..e93d538f2a370a638fac21854a49da7bbaeae26d GIT binary patch literal 3121 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 LNkvXXu0mjf@05)6 literal 0 HcmV?d00001 diff --git a/src/static/sicon/arrow-left.png b/src/static/sicon/arrow-left.png new file mode 100644 index 0000000000000000000000000000000000000000..5b8dd1521b35c31836f2dee1c0e2d4f4dd272ff1 GIT binary patch literal 277 zcmeAS@N?(olHy`uVBq!ia0vp^8X(NU3?z3ec*FxKrvRT2S0MeLGQbgksSRj~SV@py zFvFKeAK!9kv2IwoaK?n1lH}+ok59Jw&Z}060;A{UH+f>0<&_BW&Rt)Sy`gyNA>GUSZ(qGN*NFN1 zi^iB8A@=MF_Os&K?D?nv;r=Mu;gziVm;9<2?`>gOSQznXCD2|5 MPgg&ebxsLQ0M7x8DgXcg literal 0 HcmV?d00001 diff --git a/src/static/sicon/cancel.png b/src/static/sicon/cancel.png new file mode 100644 index 0000000000000000000000000000000000000000..4149c116437d1a391303c11cee2e247343dfcf9b GIT binary patch literal 3498 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 YZ@XbKsb0@_R{#J207*qoM6N<$f=r3Py8r+H literal 0 HcmV?d00001 diff --git a/src/static/sicon/check.png b/src/static/sicon/check.png new file mode 100644 index 0000000000000000000000000000000000000000..abb70ced241c9accaf05b31e82df6598c566b0b0 GIT binary patch literal 390 zcmeAS@N?(olHy`uVBq!ia0vp^GC(ZB!3-qtIpuBuQn3L(A+A9BKg~d(*6*i43*<_I z{DK*N{rT2)?DB>g`YO^QZ=c=SwInAkF4T&<+NHM2lQ$|!xfZB$m#2$kh{pN37d`n7 z8St=Pun3N}Iy?&N9Ada2AEK8MPf4xTE@ykT@x zuJ3HP(YKsZ#oKI`W~9zu$a%X^Pj92BDaYT!Z3d6Ght4~@_IPWEMK!c z((IPKVPwE}xlb%>4PBJ4wS2pJEy>};;{SJ>u9Yu6HEnHo&*4MNQd61T|Kt>MHk-*w zr3qep;AmBo7UUEvdqO3A#iuV^JJYP!D4qDqvdfBFqowaa70?$9p00i_>zopr09xPF A7XSbN literal 0 HcmV?d00001 diff --git a/src/static/sicon/close.png b/src/static/sicon/close.png new file mode 100644 index 0000000000000000000000000000000000000000..ea537f84ce6943668926f8837acf719856a6381e GIT binary patch literal 603 zcmV-h0;K(kP)qWRXL`PHHQ*`WN` zqWadM`PHEM)t~v*p^*#L_5c6?7IachQveg*(|}S0`puYdHwf#&uksorYC|y4^Nk?@ z00FN_L_t(Y$CS`Vj>9kzMA2ef%wkZg`yX|H2_A@c+wxx$cqpRrESFQPQoJuxW6BPf za<+Az>dn5lW-25lZu@GSGwZ%ZAz3E#lFd^mLt1cZNrCLstUD`Y%Xm_5q*!e(k|9GW z2Qoe#T>^b_P;<#MEO=-Y%7K?1LRlYNVKsP@sVswBgmuQ-=1N&k4`Fn=3^V?V6oX3{ zVZ=R4f8b(=r@ikB6E2r1f1jNg+;!*zCwyl*Gd?J@o8Q5Pk7_@Yu4se$WN`p21I{fN zGv^xwS^#Z4sqJ=jw|0_=4RD>q!bEQe$D28QiQOSn07WVe5N0GsC{lHZOo-f|NY!Cu zMCA@est!9Vgew%OI;<2F8fa2;Ff8zN(B!5#IQp;7%h(2B7=~f!&@o86>Qo;CoMn>a{Y4wIWRiOE^3 zk%QD)vB>63vdBb-Ig>=k6juA^AfH!Z<#@dICHLKm#~8@<1mvSr&s;sM`IOi4Q0q!B pNWGHv64+~JFS@;2_cEWq4WtQr-bRA+A9BKb1i9Om23daS|m# ze!&bse}7Tiyt2kng#CH3v&{Ru`zJNW1lw{4Mv7kqs(I|`;uxZFe(I#iNrw!0T%Nj~ zYZBfh`0Jm#tm5K>#>=`Mh1%`9y6JJR-KF=PmT&*=|8%C}&`1B@toIxX447pS|@ubBoQn)`#$rzAwxVH>yt$o4Tq5=v@X+S3j3^P6_?J>8$yydRyy^Uz33hFF}QJNahOVFe!7 zi^qg`%^ut`N<6#T4KEi<#VRa*Xh z+tX$5RXNyxZA(@BeX@x0^Mg{8eP@OER{iZ+>hkV#Z`iY~vD3LKm#?*KNZF;n(_^ub z+{>`=iKhyVL{#6lJW;#S`;hBO$5(gP@o^>AI!@X%D{|WL?YdJotnzl+bGK(optr-1 z?N9a!ua#6~W>LOI~*9f+IT|=bkoy{*3#UCilB{@qEXD P0nFg(>gTe~DWM4fWoZ6T literal 0 HcmV?d00001 diff --git a/src/static/sicon/target_icon.png b/src/static/sicon/target_icon.png new file mode 100644 index 0000000000000000000000000000000000000000..9ef989335271b7c98a4ad984f598f9f6318c5578 GIT binary patch literal 3637 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 DV0Cq@ literal 0 HcmV?d00001 diff --git a/src/static/sicon/tick.png b/src/static/sicon/tick.png new file mode 100644 index 0000000000000000000000000000000000000000..9de986d41395144a5ae1581673149cce9530bad8 GIT binary patch literal 3305 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 literal 0 HcmV?d00001 diff --git a/src/static/sicon/wifi.png b/src/static/sicon/wifi.png new file mode 100644 index 0000000000000000000000000000000000000000..eeea5e27a373e0886cac03eb5299426b026f04ba GIT binary patch literal 548 zcmeAS@N?(olHy`uVBq!ia0vp^DnP8j!3-pQ{k8T0spJ5k5LY1mpT=O8EAIlJH3}s` ze!&cX{;~XE-zc5W`$S*()2mbamd>8s5vqB;Ji)9f%SX}KGU&qx1_s6ePZ!4!i_=FZ zy`0vpz|%T$6Q`a=)Yj~K|25S;Gp*MK|1N%KDKo96<*@IO{aM>jUv^K({vA?Uw$gan z>*pUonJ31sd8l|*?z?u%{p$*jVv&<9ife1tH5qt3mwjS#m=%BX+&qp44BgXgvdYu@ z6a*8Ud@s(hxa!bZS)y9Mm3bfAgUcDF@}bugn`-Vv*%%gh8|zj)*R1WU5oY%IYVr8- z=3_j+8YfI${5(L1HIVC8?Yh=|Ed`pJA5UF);cX+I&&iI`W2+Yh_`0Y|N-tQu$(v8o zMd;_u&>05|zrXr@X@c=2*L5o+*G#$Lf9w;}uJ3LV4x%3l=I90)>~VY;Hgj3|;}=!u zXVwV34`IHr<4t Date: Mon, 1 Jun 2026 17:09:14 +0800 Subject: [PATCH 02/63] =?UTF-8?q?fix=EF=BC=9A=E5=B7=B2=E8=BF=9E=E6=8E=A5?= =?UTF-8?q?=E7=BD=91=E7=BB=9C=E6=A8=A1=E5=9D=97=E7=BB=93=E6=9E=84=E6=A0=B7?= =?UTF-8?q?=E5=BC=8F=E5=AE=8C=E6=88=90?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/pages/ota-wifi.vue | 39 ++++++++++++++++++++++++++++++++------- 1 file changed, 32 insertions(+), 7 deletions(-) diff --git a/src/pages/ota-wifi.vue b/src/pages/ota-wifi.vue index ea175c2..3130478 100644 --- a/src/pages/ota-wifi.vue +++ b/src/pages/ota-wifi.vue @@ -185,6 +185,7 @@ const handleRetry = () => { } }; +// 页面挂载后启动 WiFi 扫描流程。 onMounted(() => { startScanning(); }); @@ -213,7 +214,9 @@ onUnmounted(() => { - {{ currentState === 'CONNECTED' ? '连接成功' : '连接无线网络' }} + + {{ currentState === 'CONNECTED' ? '连接成功' : '连接无线网络' }} + 网络名称仅支持英文字符及数字 @@ -221,14 +224,14 @@ onUnmounted(() => { -