📸 相机日志API文档

简单、直接、实用的接口说明 - 基础URL: https://fujistyleapp.com/logs/api

GET /health

健康检查

检查API服务是否正常运行

🚀 快速测试

请求示例

curl "https://fujistyleapp.com/logs/api/health"

响应示例

200 OK
{ "success": true, "message": "Camera Log API is running", "timestamp": "2024-01-01T12:00:00.000Z", "version": "1.0.0" }
POST /camera-logs

上传相机日志

创建新的相机日志记录。所有字段都是可选的,系统会自动填充默认值。

🚀 快速测试

请求参数

字段 类型 必填 默认值 说明
camera_model string 可选 "Unknown" 相机型号
battery_level integer 可选 null 电池电量 (0-100)
connection_status boolean 可选 false 连接状态
app_version string 可选 "unknown" App版本号
issue_type string 可选 "other" 问题类型
user_name string 可选 null 用户名称
user_id string 可选 null 用户ID
is_resolved boolean 可选 false 是否已解决
json_data object 可选 null 附加JSON数据

📝 issue_type 可选值

connection_failed, setting_failed, battery_low, firmware_error, network_timeout, authentication_failed, storage_full, temperature_high, other

请求示例

完整示例

curl -X POST "https://fujistyleapp.com/logs/api/camera-logs" \ -H "Content-Type: application/json" \ -d '{ "camera_model": "Canon EOS R5", "battery_level": 78, "connection_status": true, "app_version": "1.2.3", "issue_type": "connection_failed", "user_name": "张三", "user_id": "user123", "json_data": { "error_code": "TIMEOUT", "retry_count": 3, "signal_strength": -45 } }'

最简示例(空数据也能成功)

curl -X POST "https://fujistyleapp.com/logs/api/camera-logs" \ -H "Content-Type: application/json" \ -d '{}'

基础示例

curl -X POST "https://fujistyleapp.com/logs/api/camera-logs" \ -H "Content-Type: application/json" \ -d '{ "camera_model": "Sony A7R IV", "connection_status": false, "issue_type": "battery_low" }'

响应示例

200 OK
{ "success": true, "id": 123, "message": "Camera log uploaded successfully", "processed_data": { "camera_model": "Canon EOS R5", "connection_status": true, "app_version": "1.2.3", "issue_type": "connection_failed", "user_provided_fields": 6, "auto_filled_fields": ["timestamp", "app_timestamp"] } }
GET /camera-logs

获取日志列表

分页获取相机日志记录,支持多种筛选条件

🚀 快速测试

查询参数

参数 类型 默认值 说明
pageinteger1页码
limitinteger20每页数量(最大100)
camera_modelstring-相机型号(模糊匹配)
user_namestring-用户名称(模糊匹配)
user_idstring-用户ID
issue_typestring-问题类型
connection_statusboolean-连接状态
is_resolvedinteger-解决状态(0/1)
start_datestring-开始日期(YYYY-MM-DD)
end_datestring-结束日期(YYYY-MM-DD)

请求示例

# 获取第1页,每页20条 curl "https://fujistyleapp.com/logs/api/camera-logs" # 获取Canon相机的连接失败记录 curl "https://fujistyleapp.com/logs/api/camera-logs?camera_model=Canon&connection_status=false" # 获取未解决的问题 curl "https://fujistyleapp.com/logs/api/camera-logs?is_resolved=0"

响应示例

200 OK
{ "success": true, "data": { "logs": [ { "id": 123, "camera_model": "Canon EOS R5", "battery_level": 78, "connection_status": true, "timestamp": 1735804800000, "app_version": "1.2.3", "app_timestamp": 1735804850000, "issue_type": "connection_failed", "user_name": "张三", "user_id": "user123", "is_resolved": false, "json_data": { "error_code": "TIMEOUT" }, "created_at": "2024-01-01T12:00:00Z" } ], "pagination": { "page": 1, "limit": 20, "total": 156, "pages": 8 } } }
GET /camera-logs/{id}

获取单个日志详情

根据ID获取特定日志的详细信息

请求示例

curl "https://fujistyleapp.com/logs/api/camera-logs/123"

响应示例

200 OK
{ "success": true, "data": { "id": 123, "camera_model": "Canon EOS R5", "battery_level": 78, "connection_status": true, "timestamp": 1735804800000, "app_version": "1.2.3", "app_timestamp": 1735804850000, "issue_type": "connection_failed", "user_name": "张三", "user_id": "user123", "is_resolved": false, "json_data": { "error_code": "TIMEOUT", "retry_count": 3, "signal_strength": -45 }, "created_at": "2024-01-01T12:00:00Z" } }
PATCH /camera-logs/{id}

更新日志状态

更新日志的解决状态

请求示例

curl -X PATCH "https://fujistyleapp.com/logs/api/camera-logs/123" \ -H "Content-Type: application/json" \ -d '{ "is_resolved": true, "resolved_at": 1735804900000 }'

响应示例

200 OK
{ "success": true, "message": "Log updated successfully" }
GET /camera-logs/stats

获取统计信息

获取指定时间范围内的日志统计数据

🚀 快速测试

请求示例

# 获取最近7天统计 curl "https://fujistyleapp.com/logs/api/camera-logs/stats" # 获取最近30天统计 curl "https://fujistyleapp.com/logs/api/camera-logs/stats?days=30"

响应示例

200 OK
{ "success": true, "data": { "period_days": 7, "total_records": 156, "camera_models": [ {"camera_model": "Canon EOS R5", "count": 45}, {"camera_model": "Sony A7R IV", "count": 32} ], "issue_types": [ {"issue_type": "connection_failed", "count": 89}, {"issue_type": "battery_low", "count": 23} ], "connection_stats": [ {"connection_status": "success", "count": 140, "percentage": 89.74}, {"connection_status": "failed", "count": 16, "percentage": 10.26} ] } }
POST /camera-logs/batch

批量上传日志

一次性上传多条日志记录,建议每次不超过100条

请求示例

curl -X POST "https://fujistyleapp.com/logs/api/camera-logs/batch" \ -H "Content-Type: application/json" \ -d '{ "logs": [ { "camera_model": "Canon EOS R5", "connection_status": true, "issue_type": "other" }, { "camera_model": "Sony A7R IV", "connection_status": false, "issue_type": "battery_low", "battery_level": 15 }, {} ] }'

响应示例

200 OK
{ "success": true, "message": "Processed 3 logs", "results": { "successful": 3, "failed": 0, "details": [ {"index": 0, "id": 124, "status": "success"}, {"index": 1, "id": 125, "status": "success"}, {"index": 2, "id": 126, "status": "success"} ], "errors": [] } }