API 概览
统一后端:pk-order-hub
所有站点共用一套后端,不需要为每个域名单独部署。
techconsult.site ──┐
technologyconsult.org ──┤──▶ pk-order-hub :4000 ──▶ MongoDB shop_api
newdomain.pk(新站) ──┘多租户机制
后端通过以下方式识别站点,自动隔离订单数据:
优先级:
- 请求头
x-domain(推荐,明确指定) Origin请求头Host请求头(去掉 www.)
js
// 前端下单时必须带上 x-domain
fetch('/api/orders', {
headers: {
'Content-Type': 'application/json',
'x-domain': 'techconsult.site', // ← 必填
},
body: JSON.stringify(payload)
})线上地址
| 站点 | API Base URL |
|---|---|
| techconsult.site | https://api.techconsult.site |
| technologyconsult.org | https://api.technologyconsult.org |
| 新域名 | https://api.{domain} |
所有流量经 Cloudflare Tunnel 反代到服务器 127.0.0.1:4000。
本地开发
env
# .env.local
VITE_ORDER_API_BASE=http://localhost:4000不设置时自动推导为 https://api.{brand.domain}。
接口一览
| 方法 | 路径 | 权限 | 说明 |
|---|---|---|---|
GET | /health | 公开 | 健康检查 |
POST | /api/orders | 公开 | 前端下单 |
GET | /api/orders/:orderNo | 公开 | 查单个订单状态 |
POST | /api/auth/login | 公开 | 管理员登录 |
GET | /api/orders | JWT | 订单列表(分页+过滤) |
GET | /api/orders/detail/:orderNo | JWT | 按订单号查详情(不限域名) |
PATCH | /api/orders/:id/status | JWT | 更新订单状态 |