获取单条导航菜单的完整树结构(分组、分类及每类下的应用卡片)。
获取导航菜单结构
GET /api/open/nav/menus/:pathSlug
该接口返回单条导航菜单的 完整树结构:侧边栏分组、分类及每类下的 应用卡片,与站内 /nav/... 页一致。
pathSlug 为注册表中该菜单的 URL 段(如 web3-core-tools),通常从 GET /api/open/nav/groups 返回的 navs[].href 中解析(/nav/ 后的第一段)。
请求地址
GET /api/open/nav/menus/:pathSlug
路径参数
| 参数 | 类型 | 说明 |
|---|---|---|
pathSlug | string | 菜单 slug,须为已注册菜单(如 web3-core-tools) |
查询参数
| 参数 | 类型 | 是否必传 | 说明 |
|---|---|---|---|
locale | string | 否 | 标题、分类名、卡片文案语言 |
返回体
200 OK,application/json,NavStructure 结构:
| 字段 | 类型 | 说明 |
|---|---|---|
menuSlug | string | 菜单 slug |
title | string | 菜单标题 |
description | string | undefined | 菜单描述 |
ogImage | string | undefined | 分享图 URL |
groups | object[] | 分组列表,每项为 NavGroupResolved |
standalone | object[] | 未归入分组的独立分类/链接,结构同 groups[].items |
blogSlugs | string[] | 可选,关联的博客 slug 列表 |
NavGroupResolved
| 字段 | 类型 | 说明 |
|---|---|---|
id | string | 分组 id |
name | string | 分组名称 |
slug | string | 分组 slug |
items | object[] | 该分组下的分类/链接列表(NavCategoryWithCards) |
NavCategoryWithCards
| 字段 | 类型 | 说明 |
|---|---|---|
id | string | 分类/链接 id |
name | string | 分类名称 |
slug | string | 分类 slug |
type | string | category 或 link |
description | string | undefined | 描述 |
cards | object[] | 该分类下的应用卡片(NavCard) |
NavCard
| 字段 | 类型 | 说明 |
|---|---|---|
id | string | 卡片 id |
title | string | 标题 |
description | string | undefined | 描述 |
link | string | 外链或站内路径 |
image | string | null | 缩略图 URL |
错误码
| HTTP 状态 | 场景 |
|---|---|
404 | 未知或未注册的 pathSlug |
429 | 命中 open API 限流 |
500 | 服务器内部错误 |
请求示例
curl -s "https://www.web3base.ai/api/open/nav/menus/web3-core-tools?locale=zh-hans" | jq返回示例(节选)
{
"menuSlug": "web3-core-tools",
"title": "Web3 核心工具",
"description": "钱包、多链、Solana 等",
"groups": [
{
"id": "grp-1",
"name": "钱包",
"slug": "wallet",
"items": [
{
"id": "cat-btc",
"name": "BTC 钱包",
"slug": "btc-wallet",
"type": "category",
"cards": [
{
"id": "card-1",
"title": "某钱包",
"description": "描述",
"link": "https://...",
"image": null
}
]
}
]
}
],
"standalone": [],
"blogSlugs": []
}