Files
wx_service/docs/marketing/API.md
T
nepiedg 76fd425ca7 docs(marketing): 新增营销图模块文档
- docs/README.md: 文档目录补充营销图模块入口
- docs/marketing/README.md: 模块概述、代码结构、数据模型、路由表、依赖说明、管理后台
- docs/marketing/API.md: 完整 API 文档(小程序端+管理后台,含请求/响应示例)

Made-with: Cursor
2026-03-06 07:50:42 +00:00

3.8 KiB
Raw Blame History

营销图管理 - API 文档

公共说明

  • 基础路径:/api/v1
  • 鉴权方式:Authorization: Bearer <session_key>
  • 管理后台鉴权:X-Admin-Token: <admin_token>
  • 响应格式:{ "code": 200, "message": "success", "data": ... }

小程序端接口

GET /marketing/categories

获取启用的分类列表(按 sort_order DESC 排序)。

无需登录

响应示例:

{
  "code": 200,
  "message": "success",
  "data": [
    { "id": 1, "name": "节日海报", "sort_order": 10, "icon": "https://cdn.example.com/icon1.png", "status": 1 }
  ]
}

GET /marketing/templates

获取模板列表(仅启用状态,按 sort_order DESC 排序)。

无需登录

Query 参数:

参数 类型 必填 说明
category_id uint 按分类筛选
page int 页码(默认 1
page_size int 每页数量(默认 20,最大 100

响应示例:

{
  "code": 200,
  "message": "success",
  "data": {
    "templates": [
      {
        "id": 1,
        "category_id": 1,
        "title": "春节促销",
        "image_url": "https://cdn.example.com/tpl1.jpg",
        "thumbnail_url": "https://cdn.example.com/tpl1_thumb.jpg",
        "width": 1080,
        "height": 1920,
        "sort_order": 10,
        "status": 1,
        "download_count": 42,
        "category": { "id": 1, "name": "节日海报" }
      }
    ],
    "total": 1,
    "page": 1,
    "page_size": 20
  }
}

GET /marketing/templates/:id

获取模板详情。

无需登录

POST /marketing/downloads

创建下载记录。需登录

请求体:

{
  "template_id": 1,
  "logo_url": "https://cdn.example.com/user_logo.png",
  "logo_x": 0.35,
  "logo_y": 0.80,
  "logo_w": 0.30,
  "logo_h": 0.10
}
字段 类型 说明
template_id uint 模板 ID(必填)
logo_url string 用户 Logo CDN 地址
logo_x/logo_y float Logo 位置(相对比例 0~1
logo_w/logo_h float Logo 大小(相对比例 0~1

响应:返回创建的下载记录对象(含 id)。

POST /marketing/ad_callback

标记广告已完成。需登录

请求体:

{
  "download_id": 1
}

GET /marketing/downloads

获取当前用户的下载历史。需登录

Query 参数:

参数 类型 说明
page int 页码(默认 1
page_size int 每页数量(默认 20

管理后台接口

所有管理后台接口需要 X-Admin-Token 请求头。

GET /admin/marketing/categories

获取所有分类(含禁用状态)。

POST /admin/marketing/categories

创建分类。

{
  "name": "节日海报",
  "icon": "https://cdn.example.com/icon.png",
  "sort_order": 10,
  "status": 1
}

PUT /admin/marketing/categories/:id

更新分类(请求体同创建)。

DELETE /admin/marketing/categories/:id

删除分类(分类下有模板时返回 400 错误)。

GET /admin/marketing/templates

获取所有模板(含禁用状态,支持 category_idpagepage_size 参数)。

POST /admin/marketing/templates

创建模板。

{
  "category_id": 1,
  "title": "春节促销",
  "image_url": "https://cdn.example.com/tpl.jpg",
  "thumbnail_url": "https://cdn.example.com/tpl_thumb.jpg",
  "width": 1080,
  "height": 1920,
  "sort_order": 10,
  "status": 1
}

PUT /admin/marketing/templates/:id

更新模板(请求体同创建)。

DELETE /admin/marketing/templates/:id

删除模板。

GET /admin/marketing/stats

获取下载统计。

响应示例:

{
  "code": 200,
  "message": "success",
  "data": {
    "TotalDownloads": 1234,
    "TodayDownloads": 56
  }
}