Files
stc32g128k/Docs/40_ui-design/wristband_ui_gallery.html

450 lines
20 KiB
HTML
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Wristband AMOLED UI Gallery</title>
<style>
body {
font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
background-color: #0A0D14;
color: #E2E8F0;
margin: 0;
padding: 40px 20px;
line-height: 1.6;
}
.container {
max-width: 1200px;
margin: 0 auto;
}
h1 {
font-size: 2.2rem;
color: #00E5FF;
text-align: center;
margin-bottom: 8px;
letter-spacing: 1px;
}
.subtitle {
text-align: center;
color: #94A3B8;
font-size: 1.1rem;
margin-bottom: 50px;
}
.grid {
display: grid;
grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
gap: 40px;
justify-items: center;
}
.card {
background-color: #161B22;
border-radius: 16px;
border: 1px solid #30363D;
padding: 24px;
text-align: center;
width: 270px;
box-shadow: 0 8px 30px rgba(0,0,0,0.5);
transition: transform 0.2s, border-color 0.2s;
display: flex;
flex-direction: column;
}
.card:hover {
transform: translateY(-5px);
border-color: #00E5FF;
}
.card-title {
font-size: 1.1rem;
font-weight: bold;
color: #FFB74D;
margin-bottom: 8px;
}
.card-desc {
font-size: 0.85rem;
color: #8B949E;
margin-bottom: 20px;
height: 40px;
display: flex;
align-items: center;
justify-content: center;
}
/* Realistic Smartwatch CSS Simulator */
.watch-device {
position: relative;
width: 160px;
height: 280px;
background: linear-gradient(135deg, #2D3748 0%, #1A202C 100%);
border-radius: 35px;
border: 5px solid #4A5568;
box-shadow: inset 0 0 10px rgba(0,0,0,0.8), 0 10px 20px rgba(0,0,0,0.6);
margin: 0 auto;
display: flex;
align-items: center;
justify-content: center;
}
.watch-device::before {
content: '';
position: absolute;
top: -20px;
left: 45px;
width: 70px;
height: 20px;
background-color: #2D3748;
border-radius: 5px 5px 0 0;
z-index: -1;
}
.watch-device::after {
content: '';
position: absolute;
bottom: -20px;
left: 45px;
width: 70px;
height: 20px;
background-color: #2D3748;
border-radius: 0 0 5px 5px;
z-index: -1;
}
.screen-bezel {
position: relative;
width: 130px;
height: 250px;
background-color: #000000;
border-radius: 25px;
border: 2px solid #0D1117;
overflow: hidden;
display: flex;
align-items: center;
justify-content: center;
}
/* Inlined SVG Scaling */
.screen-bezel svg {
width: 120px;
height: 240px;
display: block;
}
/* Button operations instruction block */
.card-ops {
font-size: 0.8rem;
color: #E2E8F0;
margin-top: 20px;
text-align: left;
background-color: #0D1117;
padding: 12px;
border-radius: 8px;
border: 1px solid #21262D;
min-height: 70px;
flex-grow: 1;
display: flex;
flex-direction: column;
justify-content: center;
}
.card-ops b {
color: #FFB74D;
display: block;
margin-bottom: 4px;
font-size: 0.85rem;
}
</style>
</head>
<body>
<div class="container">
<h1>手环 AMOLED 屏幕 UI 效果图画册 (V2.1)</h1>
<div class="subtitle">所有 10 类显示界面在手环硬件上的 1:1 视觉仿真效果及按键映射说明</div>
<div class="grid">
<!-- 1. Normal Clock -->
<div class="card">
<div class="card-title">1. 待机时钟界面</div>
<div class="card-desc">常规待机状态,顶部仅显示电量,界面宽裕</div>
<div class="watch-device">
<div class="screen-bezel">
<svg xmlns="http://www.w3.org/2000/svg" width="120" height="240" viewBox="0 0 120 240">
<rect width="120" height="240" fill="#000000"/>
<!-- Status Bar (Right: Battery Icon) -->
<rect x="82" y="27" width="20" height="10" rx="2" fill="none" stroke="#64748B" stroke-width="1.2"/>
<rect x="84" y="29" width="13" height="6" rx="1" fill="#10B981"/>
<rect x="103" y="30" width="1.5" height="4" rx="0.5" fill="#64748B"/>
<text x="76" y="36" fill="#64748B" font-family="system-ui, sans-serif" font-size="9" text-anchor="end">85%</text>
<!-- Time -->
<text x="60" y="115" fill="#00E5FF" font-family="system-ui, sans-serif" font-size="24" font-weight="bold" text-anchor="middle">10:35</text>
<!-- Date -->
<text x="60" y="165" fill="#64748B" font-family="system-ui, sans-serif" font-size="10" text-anchor="middle">THU 07-02</text>
</svg>
</div>
</div>
<div class="card-ops">
<b>按键操作:</b>
长按 ▲ 键 3 秒进入配对菜单;双击 ▲+▼ 组合键切换布防;长按 SOS 键 5 秒触发【本机求救】。
</div>
</div>
<!-- 2. Armed Clock -->
<div class="card">
<div class="card-title">2. 系统布防时钟</div>
<div class="card-desc">布防锁定 🔒 移至正下方,完美避免电池重叠</div>
<div class="watch-device">
<div class="screen-bezel">
<svg xmlns="http://www.w3.org/2000/svg" width="120" height="240" viewBox="0 0 120 240">
<rect width="120" height="240" fill="#000000"/>
<!-- Status Bar (Right: Battery Icon) -->
<rect x="82" y="27" width="20" height="10" rx="2" fill="none" stroke="#64748B" stroke-width="1.2"/>
<rect x="84" y="29" width="13" height="6" rx="1" fill="#10B981"/>
<rect x="103" y="30" width="1.5" height="4" rx="0.5" fill="#64748B"/>
<text x="76" y="36" fill="#64748B" font-family="system-ui, sans-serif" font-size="9" text-anchor="end">85%+</text>
<!-- Time -->
<text x="60" y="115" fill="#FFFFFF" font-family="system-ui, sans-serif" font-size="24" font-weight="bold" text-anchor="middle">10:35</text>
<!-- Date -->
<text x="60" y="165" fill="#64748B" font-family="system-ui, sans-serif" font-size="10" text-anchor="middle">THU 07-02</text>
<!-- Armed Status at the very bottom (Y=205) -->
<g transform="translate(39, 192)">
<rect x="0" y="0" width="12" height="12" rx="2" fill="none" stroke="#EF4444" stroke-width="1.2"/>
<circle cx="6" cy="4" r="2.5" fill="none" stroke="#EF4444" stroke-width="1.2"/>
<rect x="5" y="6" width="2" height="3" fill="#EF4444"/>
<text x="18" y="10" fill="#EF4444" font-family="system-ui, sans-serif" font-size="9" font-weight="bold" text-anchor="start">ARME</text>
</g>
</svg>
</div>
</div>
<div class="card-ops">
<b>按键操作:</b>
双击 ▲+▼ 组合键本地切换为撤防状态;长按 SOS 键 5 秒触发【本机求救】。
</div>
</div>
<!-- 3. Disarmed Clock -->
<div class="card">
<div class="card-title">3. 系统撤防时钟</div>
<div class="card-desc">撤防解锁 🔓 移至正下方,界面均衡清爽</div>
<div class="watch-device">
<div class="screen-bezel">
<svg xmlns="http://www.w3.org/2000/svg" width="120" height="240" viewBox="0 0 120 240">
<rect width="120" height="240" fill="#000000"/>
<!-- Status Bar (Right: Battery Icon) -->
<rect x="82" y="27" width="20" height="10" rx="2" fill="none" stroke="#64748B" stroke-width="1.2"/>
<rect x="84" y="29" width="13" height="6" rx="1" fill="#10B981"/>
<rect x="103" y="30" width="1.5" height="4" rx="0.5" fill="#64748B"/>
<text x="76" y="36" fill="#64748B" font-family="system-ui, sans-serif" font-size="9" text-anchor="end">85%</text>
<!-- Time -->
<text x="60" y="115" fill="#FFFFFF" font-family="system-ui, sans-serif" font-size="24" font-weight="bold" text-anchor="middle">10:35</text>
<!-- Date -->
<text x="60" y="165" fill="#64748B" font-family="system-ui, sans-serif" font-size="10" text-anchor="middle">THU 07-02</text>
<!-- Disarmed Status at the very bottom (Y=205) -->
<g transform="translate(27, 192)">
<rect x="0" y="3" width="12" height="9" rx="1.5" fill="none" stroke="#10B981" stroke-width="1.2"/>
<path d="M 3 3 L 3 1.5 C 3 0.7, 6 0.7, 8 1.5 L 8 4" fill="none" stroke="#10B981" stroke-width="1.2"/>
<text x="18" y="10" fill="#10B981" font-family="system-ui, sans-serif" font-size="9" font-weight="bold" text-anchor="start">DESARME</text>
</g>
</svg>
</div>
</div>
<div class="card-ops">
<b>按键操作:</b>
双击 ▲+▼ 组合键本地切换为布防状态;长按 SOS 键 5 秒触发【本机求救】。
</div>
</div>
<!-- 4. Pairing Menu -->
<div class="card">
<div class="card-title">4. 主选择菜单</div>
<div class="card-desc">选择要对码配对的传感器类型</div>
<div class="watch-device">
<div class="screen-bezel">
<svg xmlns="http://www.w3.org/2000/svg" width="120" height="240" viewBox="0 0 120 240">
<rect width="120" height="240" fill="#000000"/>
<text x="60" y="35" fill="#FFB74D" font-family="system-ui, sans-serif" font-size="11" font-weight="bold" text-anchor="middle">- MENU -</text>
<text x="60" y="80" fill="#64748B" font-family="system-ui, sans-serif" font-size="10" text-anchor="middle">1. DATE/HEURE</text>
<!-- Highlight selection APPAIRAGE -->
<rect x="10" y="102" width="100" height="24" rx="4" fill="none" stroke="#00E5FF" stroke-width="1.2"/>
<text x="60" y="118" fill="#00E5FF" font-family="system-ui, sans-serif" font-size="10" font-weight="bold" text-anchor="middle">> 2. APPAIRAGE &lt;</text>
<text x="60" y="155" fill="#64748B" font-family="system-ui, sans-serif" font-size="10" text-anchor="middle">3. ARM/DISARM</text>
<text x="60" y="190" fill="#64748B" font-family="system-ui, sans-serif" font-size="10" text-anchor="middle">4. LIAISON IPC</text>
</svg>
</div>
</div>
<div class="card-ops">
<b>按键操作:</b>
单击 ▲ 向上移动,单击 ▼ 向下移动;短按 SOS 确认选中进入搜索状态;长按 ▼ 3 秒退出。
</div>
</div>
<!-- 5. Pairing Search -->
<div class="card">
<div class="card-title">5. 配对对码搜索</div>
<div class="card-desc">雷达波纹 📡 扫射等待射频对码信号</div>
<div class="watch-device">
<div class="screen-bezel">
<svg xmlns="http://www.w3.org/2000/svg" width="120" height="240" viewBox="0 0 120 240">
<rect width="120" height="240" fill="#000000"/>
<g transform="translate(0, 10)">
<path d="M 60 70 L 67.5 90 M 52 75 A 10 10 0 0 1 68 75 M 48 70 A 15 15 0 0 1 72 70 M 44 65 A 20 20 0 0 1 76 65" stroke="#00E5FF" stroke-width="2" fill="none" stroke-linecap="round"/>
<circle cx="60" cy="92" r="2" fill="#00E5FF"/>
</g>
<text x="60" y="145" fill="#FFFFFF" font-family="system-ui, sans-serif" font-size="11" font-weight="bold" text-anchor="middle">SEARCHING...</text>
<text x="60" y="170" fill="#00E5FF" font-family="system-ui, sans-serif" font-size="9" text-anchor="middle">TRIGGER SENSOR</text>
</svg>
</div>
</div>
<div class="card-ops">
<b>按键操作:</b>
等待传感器触发。捕获成功且类型匹配时,系统将<b>自动跳转至对码确认页面</b>。长按 ▼ 3 秒退出。
</div>
</div>
<!-- 6. Pairing Confirm -->
<div class="card">
<div class="card-title">6. 对码成功与命名微调</div>
<div class="card-desc">展示传感器类型,按 ▲/▼ 键手动增减后缀序号并确认</div>
<div class="watch-device">
<div class="screen-bezel">
<svg xmlns="http://www.w3.org/2000/svg" width="120" height="240" viewBox="0 0 120 240">
<rect width="120" height="240" fill="#000000"/>
<text x="60" y="45" fill="#10B981" font-family="system-ui, sans-serif" font-size="12" font-weight="bold" text-anchor="middle">v RECU</text>
<!-- 门磁图标 -->
<g transform="translate(47, 70)">
<rect x="0" y="2" width="16" height="28" rx="2" fill="none" stroke="#FFFFFF" stroke-width="1.8"/>
<rect x="20" y="6" width="6" height="20" rx="1" fill="none" stroke="#10B981" stroke-width="1.8"/>
<circle cx="4" cy="16" r="1.5" fill="#FFFFFF"/>
</g>
<text x="60" y="140" fill="#FFFFFF" font-family="system-ui, sans-serif" font-size="12" font-weight="bold" text-anchor="middle">PORTE</text>
<!-- 序号选框 [ 01 ] -->
<rect x="30" y="160" width="60" height="22" rx="4" fill="none" stroke="#00E5FF" stroke-width="1.5"/>
<text x="60" y="176" fill="#00E5FF" font-family="system-ui, sans-serif" font-size="12" font-weight="bold" text-anchor="middle">01</text>
<text x="60" y="215" fill="#64748B" font-family="system-ui, sans-serif" font-size="9" text-anchor="middle">ADDR: 0x37A86</text>
</svg>
</div>
</div>
<div class="card-ops">
<b>按键操作:</b>
短按 ▲ 自增,▼ 自减序号01~99短按 CONFIRM 键或 SOS 键保存退出。
</div>
</div>
<!-- 7. Pair Saved -->
<div class="card">
<div class="card-title">7. 对码保存成功</div>
<div class="card-desc">高保真圆形对勾绿色成功徽章 (✓)</div>
<div class="watch-device">
<div class="screen-bezel">
<svg xmlns="http://www.w3.org/2000/svg" width="120" height="240" viewBox="0 0 120 240">
<rect width="120" height="240" fill="#000000"/>
<!-- Symmetrical Circular Success Badge -->
<circle cx="60" cy="90" r="24" stroke="#10B981" stroke-width="2.5" fill="none"/>
<path d="M 48 90 L 56 98 L 72 82" stroke="#10B981" stroke-width="3.5" fill="none" stroke-linecap="round" stroke-linejoin="round"/>
<text x="60" y="145" fill="#10B981" font-family="system-ui, sans-serif" font-size="12" font-weight="bold" text-anchor="middle">PAIR SUCCESS</text>
<text x="60" y="175" fill="#64748B" font-family="system-ui, sans-serif" font-size="10" text-anchor="middle">ADDR: 0x37A86</text>
</svg>
</div>
</div>
<div class="card-ops">
<b>按键操作:</b>
纯状态提示,自动显示 2 秒后回退到待机,无需任何按键操作。
</div>
</div>
<!-- 8. Pair Fail -->
<div class="card">
<div class="card-title">8. 对码匹配失败</div>
<div class="card-desc">高保真圆形红叉失败徽章 (❌)</div>
<div class="watch-device">
<div class="screen-bezel">
<svg xmlns="http://www.w3.org/2000/svg" width="120" height="240" viewBox="0 0 120 240">
<rect width="120" height="240" fill="#000000"/>
<!-- Symmetrical Circular Fail Badge -->
<circle cx="60" cy="90" r="24" stroke="#EF4444" stroke-width="2.5" fill="none"/>
<path d="M 50 80 L 70 100 M 70 80 L 50 100" stroke="#EF4444" stroke-width="3.5" fill="none" stroke-linecap="round"/>
<text x="60" y="155" fill="#EF4444" font-family="system-ui, sans-serif" font-size="12" font-weight="bold" text-anchor="middle">PAIR FAILED</text>
<text x="60" y="180" fill="#64748B" font-family="system-ui, sans-serif" font-size="9" text-anchor="middle">TYPE MISMATCH</text>
</svg>
</div>
</div>
<div class="card-ops">
<b>按键操作:</b>
自动显示 5 秒后回退到配对菜单,或短按任意键立即回退到配对菜单。
</div>
</div>
<!-- 9. Alarm Received -->
<div class="card">
<div class="card-title">9. 收到传感器警报</div>
<div class="card-desc">门磁/烟感等传感器触发的警报画面</div>
<div class="watch-device">
<div class="screen-bezel">
<svg xmlns="http://www.w3.org/2000/svg" width="120" height="240" viewBox="0 0 120 240">
<rect width="120" height="240" fill="#000000"/>
<rect x="4" y="4" width="112" height="232" rx="20" stroke="#EF4444" stroke-width="2.5" fill="none" stroke-dasharray="6 4"/>
<g transform="translate(0, 10)">
<rect x="52" y="55" width="16" height="30" rx="1" fill="none" stroke="#EF4444" stroke-width="2.5"/>
<circle cx="64" cy="70" r="1.5" fill="#EF4444"/>
</g>
<text x="60" y="130" fill="#EF4444" font-family="system-ui, sans-serif" font-size="11" font-weight="bold" text-anchor="middle">FRONT DOOR</text>
<text x="60" y="165" fill="#FFFFFF" font-family="system-ui, sans-serif" font-size="10" text-anchor="middle">ZONE 0 | ALARM</text>
</svg>
</div>
</div>
<div class="card-ops">
<b>按键操作:</b>
短按手环任意键(▲/▼/SOS均可手动清除警报、消音并返回时钟待机。
</div>
</div>
<!-- 10. Emitted SOS -->
<div class="card">
<div class="card-title">10. 本机紧急求救 SOS</div>
<div class="card-desc">高保真闪光警报灯图标,字形避开边缘</div>
<div class="watch-device">
<div class="screen-bezel">
<svg xmlns="http://www.w3.org/2000/svg" width="120" height="240" viewBox="0 0 120 240">
<rect width="120" height="240" fill="#000000"/>
<rect x="4" y="4" width="112" height="232" rx="20" stroke="#EF4444" stroke-width="2.5" fill="none"/>
<rect x="8" y="8" width="104" height="224" rx="17" stroke="#FFFFFF" stroke-width="1" fill="none"/>
<!-- High-Fidelity Siren Icon -->
<g transform="translate(0, -3)">
<!-- Light Beams -->
<path d="M 60 48 L 60 54 M 45 52 L 50 57 M 75 52 L 70 57 M 40 65 L 46 67 M 80 65 L 74 67" stroke="#EF4444" stroke-width="2" stroke-linecap="round"/>
<!-- Siren Glass Dome -->
<path d="M 46 82 C 46 64, 74 64, 74 82 Z" fill="#EF4444" stroke="#EF4444" stroke-width="1.5"/>
<!-- Bulb inside -->
<circle cx="60" cy="77" r="4.5" fill="#FFFFFF"/>
<!-- Metallic Base -->
<rect x="42" y="82" width="36" height="6" rx="1.5" fill="#64748B"/>
</g>
<!-- Centered SOS Alarm Texts safely inside circular active area -->
<text x="60" y="138" fill="#EF4444" font-family="system-ui, sans-serif" font-size="11" font-weight="bold" text-anchor="middle">🆘 EMIT SOS</text>
<text x="60" y="165" fill="#FFFFFF" font-family="system-ui, sans-serif" font-size="10" text-anchor="middle">BAND TRIGGERED</text>
</svg>
</div>
</div>
<div class="card-ops">
<b>按键操作:</b>
长按 SOS 键 5 秒解除报警;或接收到主机的远程撤防指令自动解除。
</div>
</div>
</div>
</div>
</body>
</html>