Skip to content
On this page

IconResolver 对应表

Wristo 表盘设计 · 开发对接文档 · IconResolver 对应表

最常用的五大类:天气、电量、蓝牙/GPS、活动/步数、心率区间


🧩 Wristo IconResolver 对应表

(Weather / Battery / Connectivity / Activity / Heart Rate)

用途:

  • Wristo 引擎根据数据值动态选择图标
  • 后端、前端、Monkey C 三端通用
  • 可放入 IconResolver 表或 JSON 配置
  • 命名均符合你现有体系:{category}_{semantic}_{variant}

1. Weather IconResolver

天气是图标系统中映射关系最复杂的一类,这里提供标准版(OpenWeather → Wristo)。

1.1 天气编号映射(OpenWeather 代码)

OpenWeather含义Wristo 图标 Code
01d晴天(日)weather_sunny_day
01n晴天(夜)weather_sunny_night
02d少云(日)weather_cloudy_day
02n少云(夜)weather_cloudy_night
03d / 03n多云weather_cloud
04d / 04n阴天weather_overcast
09d / 09n小雨weather_rain_light
10d中雨(日)weather_rain_day
10n中雨(夜)weather_rain_night
11d / 11n雷雨weather_thunder
13d / 13nweather_snow
50d / 50nweather_fog

2. Battery IconResolver

电量是最常用的动态图标之一,用区间匹配即可。

2.1 电量区间映射表

(你的黑金表盘、电量条都常用这一套)

区间(%)Wristo 图标 Code
0–5battery_0
6–20battery_20
21–40battery_40
41–60battery_60
61–80battery_80
81–100battery_100

3. Connectivity(蓝牙 / GPS / 手机连接)

3.1 蓝牙状态

状态Wristo 图标 Code
已连接bluetooth_on
未连接bluetooth_off
连接中bluetooth_search

3.2 GPS 状态

状态Wristo 图标 Code
GPS 可用gps_on
GPS 搜星中gps_search
GPS 关闭gps_off

3.3 手机连接(Garmin Connect)

状态Wristo 图标 Code
已连接phone_connected
未连接phone_disconnected

4. Activity / Steps(活动 & 步数成就)

4.1 步数进度(Progress → 图标)

进度(达成率)Wristo 图标 Code
0–24%steps_0
25–49%steps_25
50–74%steps_50
75–99%steps_75
100%steps_100

4.2 Move Bar(久坐提醒)

状态Wristo 图标 Code
清空movebar_clear
红条 1 格movebar_1
红条 2 格movebar_2
红条 3 格movebar_3
红条 4 格(满)movebar_full

5. Heart Rate Zone(心率区间)

区间Garmin 区间Wristo 图标 Code
Zone 1热身区hr_zone_1
Zone 2脂肪燃烧hr_zone_2
Zone 3有氧hr_zone_3
Zone 4阈值区hr_zone_4
Zone 5冲刺区hr_zone_5

6. IconResolver —— 可落地 JSON 模板

(可直接进后端表 / Monkey C 资源包)

json
{
  "weather.condition": {
    "01d": "weather_sunny_day",
    "01n": "weather_sunny_night",
    "02d": "weather_cloudy_day",
    "02n": "weather_cloudy_night",
    "03d": "weather_cloud",
    "04d": "weather_overcast",
    "09d": "weather_rain_light",
    "10d": "weather_rain_day",
    "10n": "weather_rain_night",
    "11d": "weather_thunder",
    "11n": "weather_thunder",
    "13d": "weather_snow",
    "13n": "weather_snow",
    "50d": "weather_fog",
    "50n": "weather_fog"
  },

  "battery.level": [
    { "range": [0, 5], "icon": "battery_0" },
    { "range": [6, 20], "icon": "battery_20" },
    { "range": [21, 40], "icon": "battery_40" },
    { "range": [41, 60], "icon": "battery_60" },
    { "range": [61, 80], "icon": "battery_80" },
    { "range": [81, 100], "icon": "battery_100" }
  ],

  "connect.bluetooth": {
    "on": "bluetooth_on",
    "off": "bluetooth_off",
    "search": "bluetooth_search"
  },

  "connect.gps": {
    "on": "gps_on",
    "off": "gps_off",
    "search": "gps_search"
  },

  "steps.progress": [
    { "range": [0, 24], "icon": "steps_0" },
    { "range": [25, 49], "icon": "steps_25" },
    { "range": [50, 74], "icon": "steps_50" },
    { "range": [75, 99], "icon": "steps_75" },
    { "range": [100, 100], "icon": "steps_100" }
  ],

  "heartrate.zone": {
    "1": "hr_zone_1",
    "2": "hr_zone_2",
    "3": "hr_zone_3",
    "4": "hr_zone_4",
    "5": "hr_zone_5"
  }
}

7. 可选:建立数据库表字段(建议)

如果你要写进 MySQL:

字段示例说明
id1主键
resolver_typebattery.level解析器类型
matcher0-5 / “01d” / "on"匹配条件
icon_codebattery_0映射图标
description电量 0–5%可选备注

我也可以替你生成完整 SQL 建表语句 + Seed 数据


如果你愿意,我还能继续为你补充: ✔ 天气(高阶版:风速 / 降水概率 / 紫外线)压力 / Body Battery / 体能等级睡眠阶段图标血氧(SpO2)区间图标更细粒度的天气映射(100+ 条)

你想继续扩展哪一类?