Skip to content

User 前台 API 文档

dujiao-shop 公开 API 一览,供你做自定义前端 / 移动端 / 小程序接入。

完整 OpenAPI / Swagger 还在整理中。本页是高频接口的速查表。所有路径以 /api/v1/ 开头,默认监听 localhost:8080

公开接口 (无需登录)

MethodPath用途
GET/api/v1/public/config站点配置(名称 / 货币 / 启用的支付通道等)
GET/api/v1/public/products商品列表(分页 / 分类筛选 / 搜索)
GET/api/v1/public/products/:slug商品详情
GET/api/v1/public/posts文章列表
GET/api/v1/public/posts/:slug文章详情
GET/api/v1/public/bannersBanner 列表
GET/api/v1/public/categories分类列表
GET/api/v1/public/captcha/image图形验证码(base64)
GET/api/v1/public/member-levels会员等级展示

游客下单 (无需注册,凭 guest_token 查订单)

MethodPath用途
POST/api/v1/guest/orders创建游客订单
GET/api/v1/guest/orders/:order_no查游客订单(带 Authorization: Bearer <guest_token>)

guest_token 在创建订单的响应里返回,有效期跟订单生命周期一致,丢了用 email 找回。

注册 / 登录

MethodPath用途
POST/api/v1/auth/register注册(邮箱 + 验证码)
POST/api/v1/auth/login登录(邮箱密码)
POST/api/v1/auth/email/send-code发邮箱验证码
POST/api/v1/auth/password/forgot找回密码
POST/api/v1/auth/refresh刷新 token
POST/api/v1/auth/login/totp2FA 校验(若用户启用了 TOTP)

已登录用户 (前缀同上,需 Authorization: Bearer <user_jwt>)

MethodPath用途
GET/api/v1/me当前用户信息
PUT/api/v1/me/profile改昵称 / 头像
PUT/api/v1/me/password改密码
GET/api/v1/me/login-logs登录历史
GET/api/v1/orders我的订单列表
POST/api/v1/orders创建订单
GET/api/v1/orders/:order_no订单详情(含卡密)
GET/api/v1/wallet/balance钱包余额
POST/api/v1/wallet/recharge充值订单
GET/api/v1/wallet/transactions钱包流水
POST/api/v1/gift-cards/redeem兑换礼品卡
GET/api/v1/coupons/check校验优惠码可用性

支付回调 (公网,各支付商访问)

MethodPath用途
GET/POST/api/v1/payments/callback?provider=...&id=...支付商异步通知

详见 支付配置与回调指南

通用响应格式

json
{
  "status_code": 0,             // 0 = success, 非 0 = 业务错误
  "msg": "success",
  "data": { ... },              // 业务数据
  "request_id": "uuid"          // 排查用
}

错误:

json
{
  "status_code": 401,           // HTTP 状态码同步,也可以业务码不同
  "msg": "邮箱或密码错误",
  "data": null,
  "request_id": "uuid"
}

curl 示例

bash
# 站点配置
curl https://your.com/api/v1/public/config | jq

# 登录
curl -X POST https://your.com/api/v1/auth/login \
  -H 'Content-Type: application/json' \
  -d '{"email":"test@example.com","password":"yourpw"}'

# 用拿到的 token 查订单
TOKEN=eyJhbGc...
curl https://your.com/api/v1/orders \
  -H "Authorization: Bearer $TOKEN" | jq

CORS

默认允许 *。生产环境改 config.ymlcors.allowed_origins 限定你的域名。

MIT License