发型更换H5项目 API 文档

v1.1 · 2026-02-10

1. 文档说明

本文档描述了发型更换H5项目的API接口规范,所有前后端交互都应遵循此文档。任何API变更都应先修改此文档,然后再进行代码实现。

版本历史

版本日期描述作者
v1.02026-01-18初始版本系统生成
v1.12026-02-10补充发色更换接口,修正数据格式系统更新

基本信息

2. 响应格式

成功响应

{
  "success": true,
  "data": { ... }
}

失败响应

{
  "success": false,
  "message": "错误信息"
}

3. 接口列表总览

接口路径方法功能描述
/api/hairstyles GET 获取发型列表
/api/change-hair POST 更换发型
/api/change-hair-color POST 更换头发颜色

4. 详细接口说明

4.1 获取发型列表

GET /api/hairstyles

请求参数

响应示例

{
  "success": true,
  "data": {
    "hairstyles": [
      {
        "id": "1953267161121464322",
        "name": "发型4322",
        "image_url": "https://xiangsilian.oss-cn-beijing.aliyuncs.com/hair_images/1953267161121464322.jpg"
      },
      {
        "id": "1953267288284372994",
        "name": "发型2994",
        "image_url": "https://xiangsilian.oss-cn-beijing.aliyuncs.com/hair_images/1953267288284372994.jpg"
      }
    ]
  }
}

字段说明

字段名类型描述
idString发型唯一标识符(长数字串,来源于 hairId2url.txt)
nameString发型名称(格式:"发型" + ID后4位)
image_urlString发型图片的阿里云 OSS URL

4.2 更换发型

POST /api/change-hair

请求参数 multipart/form-data

参数名类型必填描述
imageFile用户上传的图片文件(支持 png/jpg/jpeg/gif,最大 16MB)
hairstyle_idString要更换的发型ID

响应示例

{
  "success": true,
  "data": {
    "result_image": "data:image/jpeg;base64,/9j/4AAQSkZJRgABAQAAAQABAAD..."
  }
}

响应字段

字段名类型描述
result_imageString发型更换后的图片,Base64 Data URL 格式
注意事项

4.3 更换头发颜色

POST /api/change-hair-color

请求参数 multipart/form-data

参数名类型必填描述
imageFile用户上传的图片文件(支持 png/jpg/jpeg/gif,最大 16MB)
rgbStringRGB颜色值,格式为 "[R, G, B]",例如 "[255, 106, 0]"
ratioString颜色替换强度,范围 0.0 ~ 1.0,例如 "0.9"

响应示例

{
  "success": true,
  "data": {
    "result_image": "data:image/jpeg;base64,/9j/4AAQSkZJRgABAQAAAQABAAD..."
  }
}

响应字段

字段名类型描述
result_imageString发色更换后的图片,Base64 Data URL 格式
注意事项

5. 错误处理

错误响应格式

{
  "success": false,
  "message": "请上传图片"
}

错误状态码列表

状态码接口触发条件错误消息
400/api/change-hair缺少图片请上传图片
400/api/change-hair缺少发型ID请选择发型
400/api/change-hair文件类型不合法不支持的文件类型,请上传图片文件
400/api/change-hair-color缺少图片请上传图片
400/api/change-hair-color缺少颜色值请选择颜色
400/api/change-hair-color缺少替换比例请设置更换比例
400/api/change-hair-color文件类型不合法不支持的文件类型,请上传图片文件
500/api/hairstyles服务器内部错误获取发型列表失败: [错误信息]
500/api/change-hair处理失败处理图片失败: [错误信息]
500/api/change-hair-color处理失败处理图片失败: [错误信息]

6. API 变更流程

  1. 文档修改 — 先修改本 API 文档,记录变更内容、原因和影响范围
  2. 代码实现 — 根据文档修改后端 API 实现
  3. 前端适配 — 前端根据文档修改进行适配
  4. 测试验证 — 测试新 API 的功能和兼容性
  5. 部署上线 — 按计划部署变更

7. 附录

7.1 支持的图片格式

格式MIME 类型扩展名
PNGimage/png.png
JPEGimage/jpeg.jpg / .jpeg
GIFimage/gif.gif

文件大小限制:16MB

7.2 开发工具推荐

发型更换H5项目 API 文档 · v1.1 · 最后更新 2026-02-10