MarkStackAI 的公开导航页不仅仅是一个书签链接列表——它是你的个人信息仪表盘。通过内置的世界时钟和金融行情小组件,你可以在每次打开导航页时一目了然地获取关键信息,无需切换到其他应用或网站。
世界时钟
如果你和海外同事协作、关注全球新闻或有跨时区的日程安排,世界时钟是导航页上最实用的组件之一。
基本功能
导航页顶部的世界时钟区域会展示你配置的多个城市时间,每个城市卡片包含以下信息:
- 城市名称 — 如「北京」「纽约」「东京」
- 当前时间 — 24 小时制显示,格式为 HH:MM:SS,每秒实时更新
- 日/夜标识 — 根据当地时间判断是白天还是夜晚,用太阳和月亮图标直观标识。早上 6 点到晚上 6 点为白天(太阳),其余时间为夜晚(月亮)
- 日期信息 — 当某个城市的日期与你的本地日期不同时,会显示日期差异提醒
时间计算完全在前端完成,使用浏览器内置的 Intl.DateTimeFormat API,根据每个城市配置的 IANA 时区标识(如 America/New_York、Asia/Tokyo)精确转换。这意味着时间精度取决于你的设备时钟,不依赖外部 API 调用,即使在离线状态下也能正常工作。
12 个预设城市
在导航管理后台的「世界时钟设置」区块中,系统预设了 12 个常用城市,你可以一键添加:
- 北美:纽约(America/New_York)、洛杉矶(America/Los_Angeles)、温哥华(America/Vancouver)
- 亚洲:北京(Asia/Shanghai)、东京(Asia/Tokyo)、首尔(Asia/Seoul)、新加坡(Asia/Singapore)、迪拜(Asia/Dubai)
- 欧洲:伦敦(Europe/London)、巴黎(Europe/Paris)、柏林(Europe/Berlin)
- 大洋洲:悉尼(Australia/Sydney)
自定义城市
如果预设城市无法满足你的需求,可以手动添加任何 IANA 时区的城市。你只需要填写两个字段:
- 城市名称 — 自定义显示名称,如「慕尼黑」「孟买」「圣保罗」
- IANA 时区 — 标准时区标识符,如
Europe/Berlin、Asia/Kolkata、America/Sao_Paulo
IANA 时区数据库包含了全球 400+ 个时区标识,几乎覆盖了地球上所有有人居住的区域。你可以在 维基百科时区列表 中查找所需的时区代码。
可见性控制
每个已添加的城市都有一个可见性开关。你可以暂时隐藏某个城市的时钟而不删除它。例如,出差期间临时添加目的地城市,回来后隐藏它但保留配置,下次再去时直接打开即可。
金融行情数据
MarkStackAI 的导航页可以实时展示股票指数、贵金属和加密货币的价格行情。数据通过后端代理获取,避免了前端直接调用外部 API 的跨域限制。
股票与指数
系统默认配置了 7 个热门美股标的:
- 指数:纳斯达克综合指数(^IXIC)、标普 500 指数(^GSPC)
- 科技股:苹果(AAPL)、微软(MSFT)、谷歌(GOOGL)、特斯拉(TSLA)、英伟达(NVDA)
每个标的的卡片展示当前价格(美元)和涨跌幅百分比。涨为绿色箭头向上,跌为红色箭头向下,一目了然。
数据来源为 Yahoo Finance v8 chart API,后端通过 httpx 异步请求获取,并自动处理双域名轮换(query1.finance.yahoo.com 和 query2.finance.yahoo.com)、Semaphore 并发限制(最多 3 个并发请求)以及请求间延迟,避免触发 Yahoo Finance 的速率限制。
贵金属报价
默认配置黄金(GC=F)和白银(SI=F)两个贵金属标的,显示美元/盎司的实时价格和涨跌幅。同样通过 Yahoo Finance API 获取数据。
加密货币行情
加密货币数据来自 CoinGecko 免费 API,通过 /api/v3/simple/price 端点一次请求批量获取所有加密货币的价格和 24 小时涨跌幅,无需 API key。
默认配置 5 个主流加密货币:
- 比特币(BTC)、以太坊(ETH)、瑞波币(XRP)、狗狗币(DOGE)、Solana(SOL)
前端展示时使用了智能价格格式化函数 formatCryptoPrice,根据价格级别自动适配小数位数:价格大于 1000 时使用逗号分隔的整数格式,1~1000 之间显示两位小数,0.01~1 之间显示四位小数,更小的价格显示六位小数。
60 秒自动刷新
后端缓存周期和前端刷新间隔均设置为 60 秒。这意味着导航页上的金融数据每分钟自动更新一次,接近实时但不会对外部 API 造成过大压力。
后端使用内存缓存机制:第一次请求会实际调用外部 API,60 秒内的后续请求直接返回缓存数据。当你添加或删除金融标的时,缓存会自动清除以确保下次请求获取最新配置。
超时保护:为防止外部 API 慢响应或不可达时拖垮整个后端,金融数据获取设置了 12 秒总体超时和 8 秒单请求超时。如果某个标的获取失败,不会影响其他标的的正常展示。
后台管理配置
所有小组件的管理都集中在导航管理页面(NavManageView)的底部区域。
金融行情管理
金融行情管理使用三个 Tab 切换:股票/指数、贵金属、数字货币。每个 Tab 的标题旁都有一个计数徽标,显示当前该类别下已添加的标的数量。
每个 Tab 下提供:
- 预设标的快速添加 — 10 只常见股票、4 个贵金属品种、10 个加密货币,点击即添加
- 自定义标的添加 — 输入 Yahoo Finance symbol(如
AMZN)或 CoinGecko ID(如cardano)和显示名称即可添加 - 可见性切换 — 每个标的都有显示/隐藏开关
- 删除 — 移除不再需要的标的
所有更改实时生效,前端导航页下次刷新时即可看到更新后的金融行情。
世界时钟和金融行情小组件将你的导航页从简单的书签集合升级为个人信息中心——每次打开浏览器,你关心的时间和市场数据就在眼前。
← 返回博客列表