Skip to content
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
11 changes: 11 additions & 0 deletions src/content/dev/theme.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -153,6 +153,16 @@ socket.onmessage = (event) => {
显示「N 天后到期」「已过期」用它,不要拿 `expires_at` 按浏览器的时钟自己算。hub 按自己所在时区的日期给
在线节点顺延到期日;访客在别的时区时,自己算会让在线节点在顺延之前显示几个小时的「已过期」。

## 离线时长

每个节点还带一个 `last_seen_ago`:按 hub 的时钟算的、距最后一次上报的秒数,从未上报过为 `null`。

节点离线(`online` 为 `false`)时,显示「离线 N 分」用它,不要拿 `last_seen` 去减浏览器的时钟。访客的时钟
不准时(双系统在东八区常见快或慢 8 小时),自己算会把刚离线的节点显示成离线 8 小时,或者算出负数。

在线节点也带这个值。刚重连、还没上报的节点 `online` 为 `true`,值是断开前那次上报至今的秒数,所以离线时长
只在 `online` 为 `false` 时显示。

## 价格与付款周期

`currency` 是货币代码,交给 `Intl.NumberFormat` 显示。hub 只检查它是三个大写字母,不核对代码是否真的存在,
Expand Down Expand Up @@ -481,6 +491,7 @@ iOS 会把透明的地方填成黑色,这张图要用不透明的底色。
| `currency` 的格式检查 | 1.3.1 及更早 | 存下的值可能不是三个字母,`Intl` 会抛错,要兜住 |
| 站点图标 | 1.3.2 及更早 | `/favicon.svg`、`/apple-touch-icon.png` 总是主题自带的那个 |
| `/api/ws?gzip` | 1.3.2 及更早 | 忽略参数,推文本帧 |
| `last_seen_ago` | 1.3.2 及更早 | 拿 `last_seen` 和浏览器时钟自己算,`last_seen` 为 0 是从未上报;`null` 同样是从未上报,和没有这个 key 分开判断 |

`expires_in` 为 `null` 表示没有到期日,要和「没有这个 key」分开判断:

Expand Down
Loading