基础信息
基础URL:http://localhost:5000
默认端口:5000
数据库: MySQL
跨域支持:已启用 CORS

健康检查接口
URL:/api/health
方法:GET
描述:检查服务器和数据库连接状态
响应:
{
"status": "ok",
"message": "Flask服务器运行正常",
"database": "connected",
"diagrams_count": 5,
"timestamp": "2024-01-01 12:00:00"
}

图表管理接口
1、获取所有图表列表
URL:/api/diagrams
方法:GET
响应:
[
{
"id": 1,
"title": "示例图表",
"created_at": "2024-01-01 10:00:00",
"updated_at": "2024-01-01 12:00:00"
}
]

2、获取特定图表
URL:/api/diagrams/{diagram_id}
方法:GET
参数diagram_id (路径参数)
响应:
{
"id": 1,
"title": "示例图表",
"xml_data": "...",
"created_at": "2024-01-01 10:00:00",
"updated_at": "2024-01-01 12:00:00"
}

3、创建新图表
URL:/api/diagrams
方法:POST
请求体:
{
"title": "新图表",
"xml_data": "..."
}
响应:
{
"id": 2,
"title": "新图表",
"message": "图表创建成功"
}

4、更新图表
URL:/api/diagrams/{diagram_id}
方法:PUT
参数:diagram_id(路径参数)
请求体:
{
"title": "更新后的标题",
"xml_data": "..."
}
响应:
{
"message": "图表更新成功"
}

5、 删除图表
URL:/api/diagrams/{diagram_id}
方法:DELETE
参数:diagram_id(路径参数)
响应:
{
"message": "图表删除成功"
}

图表导出接口
1、基础导出
URL:/api/diagrams/{diagram_id}/export
方法:POST
参数:diagram_id(路径参数)
请求体:
{
"format": "png",
"xml_data": "..."
}
响应:
{
"message": "导出PNG格式成功",
"format": "png",
"filename": "图表名称.png",
"diagram_id": 1,
"title": "图表名称"
}

2、增强导出
URL:/api/diagrams/{diagram_id}/export-enhanced
方法:POST
参数:diagram_id(路径参数)
请求体:
{
"format": "png",
"xml_data": "...",
"title": "自定义文件名"
}
响应:
{
"success": true,
"message": "PNG格式导出请求已接收",
"format": "png",
"filename": "自定义文件名.png",
"diagram_id": 1,
"title": "自定义文件名"
}

图表分享接口
1、创建分享链接
URL:/api/diagrams/{diagram_id}/share
方法:POST
参数:diagram_id(路径参数)
请求体:
{
"expiration": 24
}
响应:
{
"share_url": "http://localhost:8080/share/token123",
"expires_in": "24小时",
"expires_at": "2024-01-02 12:00:00",
"token": "token123",
"diagram_id": 1,
"title": "图表名称"
}

2、获取分享的图表
URL:/api/share/{token}
方法:GET
参数:token(路径参数)
响应:
{
"id": 1,
"title": "图表名称",
"xml_data": "...",
"created_at": "2024-01-01 10:00:00",
"updated_at": "2024-01-01 12:00:00",
"expires_at": "2024-01-02 12:00:00",
"is_shared": true
}

数据库表结构
diagrams 表(图表表)
字段名 类型 说明
id INT AUTO_INCREMENT 主键ID
title VARCHAR(255) 图表标题
xml_data LONGTEXT 图表XML数据
created_at TIMESTAMP 创建时间
updated_at TIMESTAMP 更新时间
diagram_shares 表(图表分享表)
字段名 类型 说明
id INT AUTO_INCREMENT 主键ID
diagram_id INT 图表ID(外键)
share_token VARCHAR(32) 分享令牌
expires_at TIMESTAMP 过期时间
created_at TIMESTAMP 创建时间

启动说明

  1. 确保MySQL数据库运行且配置正确
  2. 运行应用:python app.py
  3. 应用将自动初始化数据库表
  4. 访问 http://localhost:5000 验证服务运行

注意事项

  1. 所有时间格式为 YYYY-MM-DD HH:MM:SS
  2. XML数据使用LONGTEXT类型存储,支持大型图表
  3. 分享链接默认24小时过期
  4. 删除图表时会自动删除相关的分享记录
posted on 2025-12-12 14:50  rename_ID  阅读(0)  评论(0)    收藏  举报