From 8c315b1c3f3ad5d16da8aeb2819ec1895b1c7071 Mon Sep 17 00:00:00 2001 From: Fam Zheng Date: Wed, 17 Sep 2025 20:19:20 +0100 Subject: [PATCH] emblemscanner: Add scan guide --- scanner/pages/emblemscanner/assets/return.png | Bin 0 -> 1335 bytes .../emblemscanner/assets/scan-guide-qr.png | Bin 0 -> 6206 bytes .../assets/scan-guide-qrmarkers-glow.png | Bin 0 -> 27007 bytes .../assets/scan-guide-qrmarkers.png | Bin 0 -> 14787 bytes scanner/pages/emblemscanner/emblemscanner.js | 1 + .../pages/emblemscanner/emblemscanner.wxml | 52 +++- .../pages/emblemscanner/emblemscanner.wxss | 239 ++++++++++++++++++ 7 files changed, 284 insertions(+), 8 deletions(-) create mode 100644 scanner/pages/emblemscanner/assets/return.png create mode 100644 scanner/pages/emblemscanner/assets/scan-guide-qr.png create mode 100644 scanner/pages/emblemscanner/assets/scan-guide-qrmarkers-glow.png create mode 100644 scanner/pages/emblemscanner/assets/scan-guide-qrmarkers.png diff --git a/scanner/pages/emblemscanner/assets/return.png b/scanner/pages/emblemscanner/assets/return.png new file mode 100644 index 0000000000000000000000000000000000000000..b71e5ecec26d32057f89ddf32834e8f3d94a12b5 GIT binary patch literal 1335 zcmeAS@N?(olHy`uVBq!ia0vp^5v4 zq}24xJX@vryZ0+8WTx0Eg`4^s_!c;)W@LI)6{QAO`Gq7`WhYyvDB0U7*i={n4aiL` zNmQuF&B-gas<2f8n`;GRgM{^!6u?SKvTc#AbGtf;oFfdRsx70H< zH%vA%PfJYFQ7|$vGSWA&&^I*GH8Qd?HnlP_RDc2{poK*#X;wilZcyuhJX@uVl9B=| zef{$Ca=mh6z5JqdeM3u2OML?)eIp}XpbFjM%Dj@q3f;V7Wta&rsl~}fnFS@8`FRQ; z6BCp2OG|8(fR2UuBDVl;Y+f-mq<~?jUy)d#Z>VPg@)b;>uP=V3xw&xF#U(+h2=`(& zxHzP;AXPsowK%`DC>a=cY04n03ap%qQWHz^i$e1Ab6^1(kda@KU!0L&pkQR8XP}@F zo|%`DUtX*U*5K=F<(XGpl9-pA>gi&u1T;b~Gc(1?&B@Zm+{D<~z|_dh(9qS*!otAJ z&Be&V$jrjX($c~irq?AuximL5uLPzy1) zKA&To)Y_YLP^`6ggW`4V{u5v4|8iR{yz9)J^>ueGFVFdTZszB+Gqc(LylfNmoZ-gV zcHwQbz2QG;xwUf}V?&hKa@!6E2#X}K&%DI9=zeAs$IrC~MfO~(b5s^vdn~uIZLy?I za@fwDrk~7v9=q*1U3r(;>|)=O_d+vtiY^qWzccJ%lzecV$1cWeLW5n7VyN#0)yrES zbEO8Y+hvh`t;@tDG5%$I1MiPFEX^wpua23}r0OYj!6tL@z6p;`Om)#Ovg20Hnt5)a z$n{Ho$C#{~YHS=mLzdbUWnZ}Ys(M4Ojm%BfhI#hu4r`@N`M34g?3%6`&AaYB|B^SV zPko&9dG_8DnH5vFa#Zkqe;gX;qb+oJqC(isrgw)XDui3w@wqp#Z8f^<7tmO>)b@Q^ zQ`XIUzM1P2&d2psxU>~aw$3fyvh9V^mJ{mN`if0%%g-^~vddz!@sGmH_pZEpcWQ`;-5Zko^yW8yFdWs>SU{5DxYP6=j~TelF{r5}E)! CKISL@ literal 0 HcmV?d00001 diff --git a/scanner/pages/emblemscanner/assets/scan-guide-qr.png b/scanner/pages/emblemscanner/assets/scan-guide-qr.png new file mode 100644 index 0000000000000000000000000000000000000000..604d7f024c40640e1991adee54cd60cda3007676 GIT binary patch literal 6206 zcmeAS@N?(olHy`uVBq!ia0y~yVEzEY9Be?5Y4KC}7#J8^GM$|RJe{2t3X1a6GILTH z7&Ioz=yuy|&AJgAL4XYyE)TW9Q z{|q(!(Zx_B;lz_TbLOu(DoY8Z?{`lC(m4U+dqr@;+3X5 zt<#dQ6boqQy7{sB|H1b+XDwanX|6eig-L(gUqe2Y^2V~u+xGY8?yhC}F~3oJ?d$d1 z8*chvnjNcK#nQ69vHSJ9Wp5a#TOT+vSx)+q`_x9zP_v~?OMe{x$61)YB7PcgBcNZWH1V5d3*8?fe z0*}aI1_nK45N51cYF`EvWH0gbb!C6S$|z*6pY+;L6DTBE;u=xnoS&PUnpeW$T$Gwv zlA5AWo>`Ki;O^-g5Z=fq&cGlh=IP=XQgQ3;&Bolr20RRoMi>5RZ`QtIrqKB4E(@=( z_D?P4MNAFmmpCNW?AgzAPrgC9&JAcb1Ctz(5CEng289QVK$4LkNN`lZ1REOIflL+~ zn4rS}W(Ec%L9iyUAaN!kj3;Cg*iIxjAsh;^9=Azg*CV+Jw@C(%f#Q0{~Z6>`8i#| z94$T2BJ9ZzKBU;8a>BiE!H9`r)~RRp^_4B(*cs*(FoSXf!uJCgQHV5*l5B-kiTD#sO4ToCVXuqGro5eUJC zwrPSg)7=woyiR6DXl;zmyFm&j9(Sr`ty_kR!uE*cj!rm`@YOg;O*&b<7Y zedT|~ii5ml*A6s`II_|zdL}|jVOWc0V3ruNKu~a^V4!#n+qsSQ&+Py5Y_)&({tx@} zZ@~?mHqBRC_TZ8U(+Bq00mWhue5|g8Yv!q}u&xK#I z&t#r2|9kv*H!z_j*WWlcQVT+pDZrfbiRZv??sN6;*T0W{v;Xt)KRf4++&t6Ekg(>H zY}&s%=9}_w?0@{d+&*%{0$6@9KKLqm$}+Y7%>AFqK;k#|o8LX~+h69(L;LLv3?C+ps07n+7TC@XcRRqI$pRdj05(Hz*MByz zf8PK1`}h7wY@iVeL@i3F#-c|BKtfLncgqIJpQZVU!trvHCmRyO&6@b~*a zz!u5(@)6xPZ`gQ=$L literal 0 HcmV?d00001 diff --git a/scanner/pages/emblemscanner/assets/scan-guide-qrmarkers-glow.png b/scanner/pages/emblemscanner/assets/scan-guide-qrmarkers-glow.png new file mode 100644 index 0000000000000000000000000000000000000000..53c1d6cdc34296745343a5f51d75931168c62cce GIT binary patch literal 27007 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 literal 0 HcmV?d00001 diff --git a/scanner/pages/emblemscanner/assets/scan-guide-qrmarkers.png b/scanner/pages/emblemscanner/assets/scan-guide-qrmarkers.png new file mode 100644 index 0000000000000000000000000000000000000000..c5e4926d76da76ccdfe08039943b0fb7234473c0 GIT binary patch literal 14787 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 - - - 扫描指南 - 1. 将QR码置于框内 - 2. 保持稳定 - 3. 确保光线充足 - - + + + + + 扫描指南 + + + 按以下步骤完成扫描 + + + + + + 移近一点 + + + 等待对焦 + + + 对齐定位点 + + + 采集完成 + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/scanner/pages/emblemscanner/emblemscanner.wxss b/scanner/pages/emblemscanner/emblemscanner.wxss index 8904d13..ccc3ccc 100644 --- a/scanner/pages/emblemscanner/emblemscanner.wxss +++ b/scanner/pages/emblemscanner/emblemscanner.wxss @@ -428,4 +428,243 @@ view.tooltip { 100% { opacity: 1; } +} + +/* Scanguide modal styles - inlined from scanguide component */ +.scanguide-mask { + position: fixed; + top: 0; + left: 0; + background-color: rgba(0, 0, 0, 0.8); + width: 100%; + height: 100%; + z-index: 1000; +} + +.scanguide-container { + position: fixed; + top: 75rpx; + left: 75rpx; + z-index: 200; + width: 600rpx; + height: 1000rpx; + border-radius: 15rpx; + background-image: linear-gradient(0deg, #8b8986 0%, #414141 36%, #414141 92%, #515151 100%); + text-align: center; + display: flex; + flex-direction: column; +} + +.scanguide-header { + padding: 40rpx 0 20rpx 0; +} + +.scanguide-content { + flex: 1; + flex-direction: column; + justify-content: center; + width: 400rpx; + margin: 0 auto; +} + +.scanguide-title { + margin-top: 0rpx; + color: #eee; + position: relative; + margin-bottom: 20rpx; +} + +.scanguide-title view { + display: block; + width: 100%; + text-align: center; + position: absolute; +} + +.scanguide-text1 { + display: inline-block; + margin: 0 auto; + animation: scanguide-anime-text-1 10s linear infinite; +} + +@keyframes scanguide-anime-text-1 { + 0%, 5% { opacity: 0; } + 8%, 38% { opacity: 1; } + 40%, 100% { opacity: 0; } +} + +.scanguide-text2 { + animation: scanguide-anime-text-2 10s linear infinite; +} + +@keyframes scanguide-anime-text-2 { + 0%, 45% { opacity: 0; } + 48%, 60% { opacity: 1; } + 63%, 100% { opacity: 0; } +} + +.scanguide-text3 { + animation: scanguide-anime-text-3 10s linear infinite; +} + +@keyframes scanguide-anime-text-3 { + 0%, 75% { opacity: 0; } + 78%, 90% { opacity: 1; } + 93%, 100% { opacity: 0; } +} + +.scanguide-text4 { + animation: scanguide-anime-text-4 10s linear infinite; +} + +@keyframes scanguide-anime-text-4 { + 0%, 90% { opacity: 0; } + 93%, 98% { opacity: 1; } + 100% { opacity: 0; } +} + +.scanguide-scan { + background-color: #aaa; + padding: 30rpx 0; + border-radius: 15rpx; + position: relative; + width: 100%; + box-sizing: border-box; + height: 400rpx; + top: 80rpx; +} + +.scanguide-markers { + position: absolute; + display: block; + width: 340rpx; + left: 30rpx; + height: 340rpx; + z-index: 3; + animation: scanguide-anime-markers 10s linear infinite; +} + +.scanguide-markers-glow { + position: absolute; + display: block; + margin: 0 auto; + width: 340rpx; + left: 30rpx; + height: 340rpx; + z-index: 2; + animation: scanguide-anime-markers-glow 10s linear infinite; +} + +@keyframes scanguide-anime-markers-glow { + 0%, 90% { + opacity: 0; + } + 100% { + opacity: 1; + } +} + +.scanguide-qr { + position: absolute; + top: 30rpx; + display: block; + width: 340rpx; + left: 30rpx; + height: 340rpx; + animation: scanguide-anime-qr 10s linear infinite; + z-index: 1; +} + +@keyframes scanguide-anime-qr { + 0% { + transform: scale(0.3); + } + 10% { + transform: scale(0.3) translate(-6%, 6%); + } + 20% { + transform: scale(0.42) translate(-3%, 1%); + } + 30% { + transform: scale(0.43); + filter: blur(0); + } + 47% { + transform: scale(1.02) translate(-6%, -5%); + filter: blur(3.5px); + } + 60% { + transform: scale(1.05) translate(-5%, 1%); + filter: blur(3.5px); + } + 63% { + transform: scale(1.05) translate(-6%, -1%); + filter: blur(0); + } + 90% { + transform: scale(1); + } +} + +.scanguide-actions { + padding: 20rpx 0 40rpx 0; +} + +.scanguide-actions .scanguide-buttons { + display: block; + width: 500rpx; + margin: 0 auto; +} + +.scanguide-title-text { + color: #eee; + font-size: 1.2rem; + font-weight: bold; + margin-bottom: 2rem; +} + +.scanguide-subtitle { + color: #ccc; + font-size: 0.9rem; + margin-bottom: 2rem; +} + +.scanguide-left-half { + position: relative; + display: inline-block; + width: 50%; +} + +.scanguide-right-half { + position: relative; + display: inline-block; + width: 50%; +} + +.scanguide-buttons button { + display: inline-block; + width: 220rpx; + box-sizing: border-box; + font-size: 0.8rem; + border-radius: 20rpx; + padding: 20rpx 0; +} + +.scanguide-left-half button { + border: 1px solid #666; + border: 1px solid rgba(239, 72, 35, 0.7); + color: rgba(239, 72, 35, 0.7); + background-color: #666; + border: 1px solid #555; + color: #aaa; +} + +.scanguide-right-half button { + border: 1px solid rgba(239, 72, 35, 0.7); + color: rgba(239, 72, 35, 0.7); +} + +.scanguide-return { + height: 18rpx; + width: 18rpx; } \ No newline at end of file