BoldSaasify 商城前台配置接口
本参考文档覆盖商城前台(fe-boldsaasify-store)运行时与构建期从后端读取配置数据所用的全部公开接口。这些接口全部由 be-user-service 暴露,集中在 /config/* 分组下(另含 /chat/config 与 /logger/getLogger)。
- 只读公开:
/config/*全部为公开只读接口,无需登录态。 - 多租户:同一份后端服务被所有站点共用,按前台请求域名切库(见下文请求头)。
- gzip:该分组启用 gzip 压缩,
getProduct等大 JSON 响应(全语言聚合 >44KB)依赖压缩透传,避免前置 nginx 缓冲区溢出被截断。
基础地址
| 环境 | Base URL |
|---|---|
| 生产(共享后端) | https://service.boldsaasify.com |
备注
前台代码中通过 NEXT_PUBLIC_HOST 注入 base,不带尾斜杠(${HOST}/config/...)。带尾斜杠会导致双斜杠 → 后端 404 → SSG 数据不完整。
响应信封
所有接口返回统一信封结构:
{
"code": 0,
"data": { }
}
| 字段 | 说明 |
|---|---|
code | 0 表示成功;非 0(如 -1 或具体错误码)表示失败 |
data | 业务数据;失败时可能为 null 或错误提示 |
:::caution 站点隔离说明
错误码 10080 通常表示后端无法根据请求域名匹配到站点(未在中控库登记 / 后端未重启加载新站点)。此时返回空数据,前台会烤出空站。
:::
多租户请求头
后端按以下优先级解析当前站点,从而切换到对应站点的数据库:
X-Site-Domain请求头(前台 SSR fetch 显式注入)OriginReferer
前台 ssrFetch 会自动注入 X-Site-Domain。直接调试接口时,可手动带上该头指定站点,例如:
curl -s 'https://service.boldsaasify.com/config/getLanguage?locale=en' \
-H 'X-Site-Domain: boldradiant.com'
接口分组
| 分组 | 说明 |
|---|---|
| 全局 / 站点配置 | 市场、语言列表、支付、页面、安全、站点状态、SEO |
| 多语言 i18n | 语言包、按命名空间取文案 / 页面配置 |
| 商品与价格 | 商品分类、内容、详情、分页、变体、价格、路径枚举 |
| 博客 / 文章 | 博客列表 / 详情 / banner、政策文章、路径枚举 |
| 购物车 | 按 key 批量查价 |
| 其他 | 客服配置、日志 |
:::info 历史变更
- 旧
/config/getConfigList(表config_config_list)已下线并 DROP。 - 旧
/config/getGlobalSettings(整表下发 markets+language+pay)已下线,出于安全拆分为独立命名空间端点:getMarketSettings/getLanguageSettings/getPaySettings,其中 pay 端点脱敏、不下发 secret。 :::