模块说明
bootstrap 是客户端冷启动的第一个调用:一次拿到站点信息、系统参数、功能开关、导航结构、语言包指纹与缓存版本号。返回的 version 是整套启动数据的指纹,客户端应整体缓存本次响应,下一次启动先比对 version 再决定是否全量刷新。
鉴权级别:可选(匿名可调;带令牌时会话身份可用于后续页面,但对本接口内容无影响)。
接口一览
| 方法 | URL | 鉴权 | 说明 |
|---|---|---|---|
| GET | /api/bootstrap |
可选 | 获取启动期公共数据 |
请求
无参数。
GET /api/bootstrap
响应
{
"code": "OK",
"message": "",
"data": {
"site": { "site_name": "...", "site_url": "...", "language": "zh_cn", "...": "站点配置项" },
"param": { "...": "系统参数(分页尺寸、注册方式等)" },
"data": { "...": "公共基础数据" },
"features": { "user": true, "goods": true, "ai": false, "...": "功能模块开关" },
"user_level_has_data": true,
"nav_list": [ { "name": "...", "url": "...", "children": [] } ],
"lang_v": "abcdef123456...(语言包内容指纹)",
"version": "3f8c2e...(启动数据整体指纹 md5)"
},
"errors": {},
"request_id": "9f2a5c8e1b3d7f40"
}
| 字段 | 说明 |
|---|---|
site |
站点配置(名称、地址、语言等 site.* 配置全量) |
param |
系统参数(param.* 配置) |
data |
公共基础数据(由后台数据服务汇总) |
features |
功能模块开关(features.*),客户端据此隐藏未启用模块入口 |
user_level_has_data |
会员模块已启用且存在会员等级数据 |
nav_list |
顶部导航树(含子级),小程序端形态 |
lang_v |
语言包指纹:与 lang 接口内容同源,变化说明译文有更新 |
version |
site + param + features + lang_v 的 md5;任一项变化都会翻转 |
客户端使用约定
- 启动时调用本接口,按
version做本地缓存键;version未变则直接使用本地缓存; lang_v变化时才重新拉取lang接口(见《多语言包 lang》);features是能力门禁:未启用的模块,其接口可能不可用,客户端应隐藏对应入口;nav_list为小程序导航形态,通用 Web 客户端可将其作为"站点菜单"数据源使用,也可以自行配置前端路由。
注意事项
- 本接口数据量较大且低频变化,建议配合客户端本地存储(localStorage 等)做长缓存;
- 不要在前端解析
version的构成,只做"相等/不等"判断即可。