概述

拾光潮汐 JSON API 提供 24 个滨海城市的潮汐数据、赶海评级、日出日落时刻等结构化数据,供第三方应用(小程序、App 等)调用。

API 为静态 JSON 端点,由 Hugo 构建时生成,托管于边缘 CDN,无速率限制。


端点

1. 城市索引 API

获取 24 个城市列表及各自本周摘要。

端点: GET /city-index.json

响应示例:

{
  "api_version": "1.0",
  "title": "拾光潮汐",
  "description": "捡拾潮汐间的时光——赶海·海钓·日出日落·城市情报",
  "base_url": "https://shiguangchaoxi.cn/",
  "generated_at": "2026-07-23T08:00:00+08:00",
  "total_cities": 24,
  "cities": [
    {
      "slug": "qingdao",
      "name": "青岛",
      "region": "华东",
      "week": "7/20-7/26",
      "weekly_api_url": "https://shiguangchaoxi.cn/qingdao/weekly/",
      "summary": "本周青岛大潮在周一、周二和周日,赶海最佳窗口在清晨退潮时段……"
    }
  ]
}

响应字段:

字段类型说明
api_versionstringAPI 版本号
titlestring站点标题
descriptionstring站点描述
base_urlstring站点根 URL
generated_atstring生成时间(ISO 8601)
total_citiesinteger城市总数
citiesarray城市列表
cities[].slugstring城市拼音标识(用于周报端点)
cities[].namestring城市中文名
cities[].regionstring所属区域(华北/华东/华南/海南)
cities[].weekstring当前周起止日期
cities[].weekly_api_urlstring该城市周报 JSON 端点 URL
cities[].summarystring本周潮汐概况文字描述

2. 城市周报 API

获取指定城市本周 7 天的完整潮汐、赶海评级、天气数据。

端点: GET /{slug}/weekly-guide-{date}/index.json

示例:GET /qingdao/weekly-guide-0720-0726/index.json

响应示例:

{
  "api_version": "1.0",
  "generated_at": "2026-07-23T08:00:00+08:00",
  "city": "qingdao",
  "city_name": "青岛",
  "week": "7/20-7/26",
  "page_url": "https://shiguangchaoxi.cn/qingdao/weekly-guide-0720-0726/",
  "days": [
    {
      "date": "7/20",
      "day_name": "周一",
      "tide_type": "大潮·活汛",
      "low_tide": "03:30 / 15:50",
      "low_height": "0.8m / 1.1m",
      "high_tide": "09:40 / 21:55",
      "high_height": "4.8m / 4.5m",
      "best_time": "00:30-03:30 / 12:50-15:50",
      "rating": "🔥",
      "note": "早潮赶海绝佳,红岛蛤蜊肥"
    }
  ],
  "spots": [
    "红岛蛤蜊滩",
    "栈桥礁石区",
    "石老人潮间带",
    "金沙滩赶海园",
    "唐岛湾湿地"
  ],
  "sunrise_sunset": [
    { "date": "7/20", "sunrise": "04:55", "sunset": "19:12" }
  ],
  "summary": "本周青岛大潮在周一、周二和周日……"
}

响应字段:

字段类型说明
api_versionstringAPI 版本号
generated_atstring生成时间
citystring城市拼音标识
city_namestring城市中文名
weekstring本周起止日期(M/D-M/D)
page_urlstring对应 HTML 页面链接
daysarray7 天逐日数据
days[].datestring日期(M/D)
days[].day_namestring星期几
days[].tide_typestring潮汐类型
days[].low_tidestring低潮时刻
days[].low_heightstring低潮潮高
days[].high_tidestring高潮时刻
days[].high_heightstring高潮潮高
days[].best_timestring最佳赶海窗口
days[].ratingstring赶海评级(🔥/✅/⚠️/❌)
days[].notestring当日备注
days[].weatherobject天气数据(可选)
days[].weather.temp_maxnumber最高温(°C)
days[].weather.temp_minnumber最低温(°C)
days[].weather.precip_probinteger降水概率(%)
days[].weather.wind_beaufortinteger风力(蒲福风级)
days[].weather.weather_textstring天气描述
spotsarray推荐赶海点列表
sunrise_sunsetarray日出日落时刻
summarystring本周潮汐概况

评级对照表

评级含义建议
🔥爆赶级大潮活汛,滩涂大面积露出,强烈推荐
推荐级中潮活汛,可赶海,收获尚可
⚠️可玩级小潮或天气不佳,勉强可去
劝退级小潮死汛或恶劣天气,不建议

使用说明

缓存策略

JSON 端点由 Hugo 构建时生成,建议客户端设置合理的缓存时间:

  • 城市索引Cache-Control: max-age=3600(1 小时),数据每日更新
  • 城市周报Cache-Control: max-age=7200(2 小时)

速率限制

API 为静态文件,托管于 CDN,无速率限制。但建议客户端合理设置缓存,避免对源站造成不必要压力。

版本策略

  • api_version 字段标注当前 API 版本
  • 新增字段向后兼容,不破坏现有结构
  • 重大变更将提前通知(通过 Newsletter 或首页公告)

常见问题

Q: 为什么某天的 weather 字段为空? A: 天气数据由外部气象 API 拉取,仅在构建时已获取到的日期填充。若天气 API 未返回某日数据,则 weather 字段不会出现在该日。

Q: 数据更新频率? A: 每周日/周一更新下周潮汐数据。天气数据每日更新。

Q: 支持 HTTPS 吗? A: 是,所有端点均通过 HTTPS 提供。 (内容由AI生成,仅供参考)