|
|
@@ -1,38 +1,176 @@
|
|
|
<!DOCTYPE html>
|
|
|
<html lang="zh-CN">
|
|
|
+
|
|
|
<head>
|
|
|
<meta charset="UTF-8">
|
|
|
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
|
|
<title>蜀道安全AI系统 - API接口文档</title>
|
|
|
<style>
|
|
|
- * { margin: 0; padding: 0; box-sizing: border-box; }
|
|
|
- body { font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif; background: #fafafa; color: #3b4151; }
|
|
|
- .header { background: linear-gradient(135deg, #1f8a70 0%, #2d5a4a 100%); color: white; padding: 20px 30px; }
|
|
|
- .header h1 { font-size: 28px; margin-bottom: 5px; }
|
|
|
- .header p { opacity: 0.9; font-size: 14px; }
|
|
|
- .container { max-width: 1800px; margin: 0 auto; padding: 20px; }
|
|
|
- .api-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 15px; }
|
|
|
- .api-card { background: white; border-radius: 8px; box-shadow: 0 1px 3px rgba(0,0,0,0.12); overflow: hidden; }
|
|
|
- .api-card-header { padding: 12px 15px; display: flex; align-items: center; gap: 10px; border-bottom: 1px solid #eee; }
|
|
|
- .method { padding: 4px 10px; border-radius: 4px; font-size: 11px; font-weight: 700; color: white; text-transform: uppercase; }
|
|
|
- .method.get { background: #61affe; }
|
|
|
- .method.post { background: #49cc90; }
|
|
|
- .api-path { font-family: monospace; font-size: 13px; color: #3b4151; word-break: break-all; }
|
|
|
- .api-card-body { padding: 12px 15px; }
|
|
|
- .api-title { font-size: 14px; font-weight: 600; color: #3b4151; margin-bottom: 8px; }
|
|
|
- .api-desc { font-size: 12px; color: #6b7280; line-height: 1.5; margin-bottom: 10px; }
|
|
|
- .params-title { font-size: 11px; font-weight: 600; color: #1f8a70; margin-bottom: 5px; text-transform: uppercase; }
|
|
|
- .param-item { font-size: 11px; color: #4b5563; padding: 3px 0; border-bottom: 1px dashed #e5e7eb; }
|
|
|
- .param-item:last-child { border-bottom: none; }
|
|
|
- .param-name { font-family: monospace; color: #1f8a70; font-weight: 500; }
|
|
|
- .param-type { color: #9ca3af; font-size: 10px; }
|
|
|
- .section-title { font-size: 18px; font-weight: 600; color: #1f8a70; margin: 25px 0 15px; padding-bottom: 8px; border-bottom: 2px solid #1f8a70; }
|
|
|
- .tag { display: inline-block; padding: 2px 6px; background: #e0f2f1; color: #1f8a70; border-radius: 3px; font-size: 10px; margin-right: 5px; }
|
|
|
- .response-tag { background: #fef3c7; color: #92400e; }
|
|
|
- @media (max-width: 1200px) { .api-grid { grid-template-columns: repeat(2, 1fr); } }
|
|
|
- @media (max-width: 768px) { .api-grid { grid-template-columns: 1fr; } }
|
|
|
+ * {
|
|
|
+ margin: 0;
|
|
|
+ padding: 0;
|
|
|
+ box-sizing: border-box;
|
|
|
+ }
|
|
|
+
|
|
|
+ body {
|
|
|
+ font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
|
|
|
+ background: #fafafa;
|
|
|
+ color: #3b4151;
|
|
|
+ }
|
|
|
+
|
|
|
+ .header {
|
|
|
+ background: linear-gradient(135deg, #1f8a70 0%, #2d5a4a 100%);
|
|
|
+ color: white;
|
|
|
+ padding: 20px 30px;
|
|
|
+ }
|
|
|
+
|
|
|
+ .header h1 {
|
|
|
+ font-size: 28px;
|
|
|
+ margin-bottom: 5px;
|
|
|
+ }
|
|
|
+
|
|
|
+ .header p {
|
|
|
+ opacity: 0.9;
|
|
|
+ font-size: 14px;
|
|
|
+ }
|
|
|
+
|
|
|
+ .container {
|
|
|
+ max-width: 1800px;
|
|
|
+ margin: 0 auto;
|
|
|
+ padding: 20px;
|
|
|
+ }
|
|
|
+
|
|
|
+ .api-grid {
|
|
|
+ display: grid;
|
|
|
+ grid-template-columns: repeat(3, 1fr);
|
|
|
+ gap: 15px;
|
|
|
+ }
|
|
|
+
|
|
|
+ .api-card {
|
|
|
+ background: white;
|
|
|
+ border-radius: 8px;
|
|
|
+ box-shadow: 0 1px 3px rgba(0, 0, 0, 0.12);
|
|
|
+ overflow: hidden;
|
|
|
+ }
|
|
|
+
|
|
|
+ .api-card-header {
|
|
|
+ padding: 12px 15px;
|
|
|
+ display: flex;
|
|
|
+ align-items: center;
|
|
|
+ gap: 10px;
|
|
|
+ border-bottom: 1px solid #eee;
|
|
|
+ }
|
|
|
+
|
|
|
+ .method {
|
|
|
+ padding: 4px 10px;
|
|
|
+ border-radius: 4px;
|
|
|
+ font-size: 11px;
|
|
|
+ font-weight: 700;
|
|
|
+ color: white;
|
|
|
+ text-transform: uppercase;
|
|
|
+ }
|
|
|
+
|
|
|
+ .method.get {
|
|
|
+ background: #61affe;
|
|
|
+ }
|
|
|
+
|
|
|
+ .method.post {
|
|
|
+ background: #49cc90;
|
|
|
+ }
|
|
|
+
|
|
|
+ .api-path {
|
|
|
+ font-family: monospace;
|
|
|
+ font-size: 13px;
|
|
|
+ color: #3b4151;
|
|
|
+ word-break: break-all;
|
|
|
+ }
|
|
|
+
|
|
|
+ .api-card-body {
|
|
|
+ padding: 12px 15px;
|
|
|
+ }
|
|
|
+
|
|
|
+ .api-title {
|
|
|
+ font-size: 14px;
|
|
|
+ font-weight: 600;
|
|
|
+ color: #3b4151;
|
|
|
+ margin-bottom: 8px;
|
|
|
+ }
|
|
|
+
|
|
|
+ .api-desc {
|
|
|
+ font-size: 12px;
|
|
|
+ color: #6b7280;
|
|
|
+ line-height: 1.5;
|
|
|
+ margin-bottom: 10px;
|
|
|
+ }
|
|
|
+
|
|
|
+ .params-title {
|
|
|
+ font-size: 11px;
|
|
|
+ font-weight: 600;
|
|
|
+ color: #1f8a70;
|
|
|
+ margin-bottom: 5px;
|
|
|
+ text-transform: uppercase;
|
|
|
+ }
|
|
|
+
|
|
|
+ .param-item {
|
|
|
+ font-size: 11px;
|
|
|
+ color: #4b5563;
|
|
|
+ padding: 3px 0;
|
|
|
+ border-bottom: 1px dashed #e5e7eb;
|
|
|
+ }
|
|
|
+
|
|
|
+ .param-item:last-child {
|
|
|
+ border-bottom: none;
|
|
|
+ }
|
|
|
+
|
|
|
+ .param-name {
|
|
|
+ font-family: monospace;
|
|
|
+ color: #1f8a70;
|
|
|
+ font-weight: 500;
|
|
|
+ }
|
|
|
+
|
|
|
+ .param-type {
|
|
|
+ color: #9ca3af;
|
|
|
+ font-size: 10px;
|
|
|
+ }
|
|
|
+
|
|
|
+ .section-title {
|
|
|
+ font-size: 18px;
|
|
|
+ font-weight: 600;
|
|
|
+ color: #1f8a70;
|
|
|
+ margin: 25px 0 15px;
|
|
|
+ padding-bottom: 8px;
|
|
|
+ border-bottom: 2px solid #1f8a70;
|
|
|
+ }
|
|
|
+
|
|
|
+ .tag {
|
|
|
+ display: inline-block;
|
|
|
+ padding: 2px 6px;
|
|
|
+ background: #e0f2f1;
|
|
|
+ color: #1f8a70;
|
|
|
+ border-radius: 3px;
|
|
|
+ font-size: 10px;
|
|
|
+ margin-right: 5px;
|
|
|
+ }
|
|
|
+
|
|
|
+ .response-tag {
|
|
|
+ background: #fef3c7;
|
|
|
+ color: #92400e;
|
|
|
+ }
|
|
|
+
|
|
|
+ @media (max-width: 1200px) {
|
|
|
+ .api-grid {
|
|
|
+ grid-template-columns: repeat(2, 1fr);
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ @media (max-width: 768px) {
|
|
|
+ .api-grid {
|
|
|
+ grid-template-columns: 1fr;
|
|
|
+ }
|
|
|
+ }
|
|
|
</style>
|
|
|
</head>
|
|
|
+
|
|
|
<body>
|
|
|
<div class="header">
|
|
|
<h1>🛡️ 蜀道安全AI系统 API文档</h1>
|
|
|
@@ -52,8 +190,10 @@
|
|
|
<div class="api-title">本地登录</div>
|
|
|
<div class="api-desc">用户名密码登录,返回JWT Token(需配置enable_local_login=true)</div>
|
|
|
<div class="params-title">请求参数 (Body JSON)</div>
|
|
|
- <div class="param-item"><span class="param-name">username</span> <span class="param-type">string</span> - 用户名</div>
|
|
|
- <div class="param-item"><span class="param-name">password</span> <span class="param-type">string</span> - 密码</div>
|
|
|
+ <div class="param-item"><span class="param-name">username</span> <span
|
|
|
+ class="param-type">string</span> - 用户名</div>
|
|
|
+ <div class="param-item"><span class="param-name">password</span> <span
|
|
|
+ class="param-type">string</span> - 密码</div>
|
|
|
<div class="params-title" style="margin-top:8px">响应</div>
|
|
|
<div class="param-item"><span class="tag response-tag">200</span> token, userInfo</div>
|
|
|
</div>
|
|
|
@@ -72,10 +212,14 @@
|
|
|
<div class="api-title">发送DeepSeek消息</div>
|
|
|
<div class="api-desc">发送消息到AI模型,支持安全培训PPT生成、AI写作等业务类型</div>
|
|
|
<div class="params-title">请求参数 (Body JSON)</div>
|
|
|
- <div class="param-item"><span class="param-name">message</span> <span class="param-type">string</span> - 用户消息</div>
|
|
|
- <div class="param-item"><span class="param-name">ai_conversation_id</span> <span class="param-type">uint64</span> - 对话ID(可选)</div>
|
|
|
- <div class="param-item"><span class="param-name">business_type</span> <span class="param-type">int</span> - 业务类型(1:安全培训,2:AI写作)</div>
|
|
|
- <div class="param-item"><span class="param-name">exam_name</span> <span class="param-type">string</span> - 考试名称(可选)</div>
|
|
|
+ <div class="param-item"><span class="param-name">message</span> <span
|
|
|
+ class="param-type">string</span> - 用户消息</div>
|
|
|
+ <div class="param-item"><span class="param-name">ai_conversation_id</span> <span
|
|
|
+ class="param-type">uint64</span> - 对话ID(可选)</div>
|
|
|
+ <div class="param-item"><span class="param-name">business_type</span> <span
|
|
|
+ class="param-type">int</span> - 业务类型(1:安全培训,2:AI写作)</div>
|
|
|
+ <div class="param-item"><span class="param-name">exam_name</span> <span
|
|
|
+ class="param-type">string</span> - 考试名称(可选)</div>
|
|
|
</div>
|
|
|
</div>
|
|
|
<div class="api-card">
|
|
|
@@ -87,8 +231,10 @@
|
|
|
<div class="api-title">流式聊天 (SSE)</div>
|
|
|
<div class="api-desc">流式输出AI回复,支持RAG检索增强生成</div>
|
|
|
<div class="params-title">请求参数 (Body JSON)</div>
|
|
|
- <div class="param-item"><span class="param-name">message</span> <span class="param-type">string</span> - 用户消息</div>
|
|
|
- <div class="param-item"><span class="param-name">model</span> <span class="param-type">string</span> - 模型名称(可选)</div>
|
|
|
+ <div class="param-item"><span class="param-name">message</span> <span
|
|
|
+ class="param-type">string</span> - 用户消息</div>
|
|
|
+ <div class="param-item"><span class="param-name">model</span> <span class="param-type">string</span>
|
|
|
+ - 模型名称(可选)</div>
|
|
|
<div class="params-title" style="margin-top:8px">响应</div>
|
|
|
<div class="param-item"><span class="tag">SSE</span> text/event-stream</div>
|
|
|
</div>
|
|
|
@@ -102,10 +248,14 @@
|
|
|
<div class="api-title">流式聊天(数据库集成)</div>
|
|
|
<div class="api-desc">流式聊天并自动保存对话记录到数据库</div>
|
|
|
<div class="params-title">请求参数 (Body JSON)</div>
|
|
|
- <div class="param-item"><span class="param-name">message</span> <span class="param-type">string</span> - 用户消息</div>
|
|
|
- <div class="param-item"><span class="param-name">ai_conversation_id</span> <span class="param-type">uint64</span> - 对话ID</div>
|
|
|
- <div class="param-item"><span class="param-name">business_type</span> <span class="param-type">int</span> - 业务类型</div>
|
|
|
- <div class="param-item"><span class="param-name">online_search_content</span> <span class="param-type">string</span> - 联网搜索内容</div>
|
|
|
+ <div class="param-item"><span class="param-name">message</span> <span
|
|
|
+ class="param-type">string</span> - 用户消息</div>
|
|
|
+ <div class="param-item"><span class="param-name">ai_conversation_id</span> <span
|
|
|
+ class="param-type">uint64</span> - 对话ID</div>
|
|
|
+ <div class="param-item"><span class="param-name">business_type</span> <span
|
|
|
+ class="param-type">int</span> - 业务类型</div>
|
|
|
+ <div class="param-item"><span class="param-name">online_search_content</span> <span
|
|
|
+ class="param-type">string</span> - 联网搜索内容</div>
|
|
|
</div>
|
|
|
</div>
|
|
|
<div class="api-card">
|
|
|
@@ -129,7 +279,8 @@
|
|
|
<div class="api-title">删除对话</div>
|
|
|
<div class="api-desc">删除指定的AI对话</div>
|
|
|
<div class="params-title">请求参数 (Body JSON)</div>
|
|
|
- <div class="param-item"><span class="param-name">ai_conversation_id</span> <span class="param-type">uint64</span> - 对话ID</div>
|
|
|
+ <div class="param-item"><span class="param-name">ai_conversation_id</span> <span
|
|
|
+ class="param-type">uint64</span> - 对话ID</div>
|
|
|
</div>
|
|
|
</div>
|
|
|
<div class="api-card">
|
|
|
@@ -141,7 +292,8 @@
|
|
|
<div class="api-title">删除历史记录</div>
|
|
|
<div class="api-desc">删除指定的历史记录</div>
|
|
|
<div class="params-title">请求参数 (Body JSON)</div>
|
|
|
- <div class="param-item"><span class="param-name">id</span> <span class="param-type">uint64</span> - 记录ID</div>
|
|
|
+ <div class="param-item"><span class="param-name">id</span> <span class="param-type">uint64</span> -
|
|
|
+ 记录ID</div>
|
|
|
</div>
|
|
|
</div>
|
|
|
<div class="api-card">
|
|
|
@@ -153,7 +305,8 @@
|
|
|
<div class="api-title">意图识别</div>
|
|
|
<div class="api-desc">识别用户输入的意图类型</div>
|
|
|
<div class="params-title">请求参数 (Body JSON)</div>
|
|
|
- <div class="param-item"><span class="param-name">message</span> <span class="param-type">string</span> - 用户消息</div>
|
|
|
+ <div class="param-item"><span class="param-name">message</span> <span
|
|
|
+ class="param-type">string</span> - 用户消息</div>
|
|
|
</div>
|
|
|
</div>
|
|
|
<div class="api-card">
|
|
|
@@ -165,7 +318,8 @@
|
|
|
<div class="api-title">获取ChromaDB文档</div>
|
|
|
<div class="api-desc">从向量数据库检索相关文档并生成回答</div>
|
|
|
<div class="params-title">请求参数 (Query)</div>
|
|
|
- <div class="param-item"><span class="param-name">query</span> <span class="param-type">string</span> - 查询内容</div>
|
|
|
+ <div class="param-item"><span class="param-name">query</span> <span class="param-type">string</span>
|
|
|
+ - 查询内容</div>
|
|
|
</div>
|
|
|
</div>
|
|
|
<div class="api-card">
|
|
|
@@ -177,7 +331,8 @@
|
|
|
<div class="api-title">猜你想问</div>
|
|
|
<div class="api-desc">根据上下文推荐相关问题</div>
|
|
|
<div class="params-title">请求参数 (Body JSON)</div>
|
|
|
- <div class="param-item"><span class="param-name">context</span> <span class="param-type">string</span> - 上下文内容</div>
|
|
|
+ <div class="param-item"><span class="param-name">context</span> <span
|
|
|
+ class="param-type">string</span> - 上下文内容</div>
|
|
|
</div>
|
|
|
</div>
|
|
|
<div class="api-card">
|
|
|
@@ -189,7 +344,8 @@
|
|
|
<div class="api-title">用户输入推荐问题</div>
|
|
|
<div class="api-desc">用户输入时实时返回推荐问题</div>
|
|
|
<div class="params-title">请求参数 (Query)</div>
|
|
|
- <div class="param-item"><span class="param-name">input</span> <span class="param-type">string</span> - 用户输入内容</div>
|
|
|
+ <div class="param-item"><span class="param-name">input</span> <span class="param-type">string</span>
|
|
|
+ - 用户输入内容</div>
|
|
|
</div>
|
|
|
</div>
|
|
|
<div class="api-card">
|
|
|
@@ -201,7 +357,8 @@
|
|
|
<div class="api-title">联网搜索</div>
|
|
|
<div class="api-desc">执行联网搜索获取实时信息</div>
|
|
|
<div class="params-title">请求参数 (Query)</div>
|
|
|
- <div class="param-item"><span class="param-name">query</span> <span class="param-type">string</span> - 搜索关键词</div>
|
|
|
+ <div class="param-item"><span class="param-name">query</span> <span class="param-type">string</span>
|
|
|
+ - 搜索关键词</div>
|
|
|
</div>
|
|
|
</div>
|
|
|
<div class="api-card">
|
|
|
@@ -213,8 +370,10 @@
|
|
|
<div class="api-title">保存联网搜索结果</div>
|
|
|
<div class="api-desc">将联网搜索结果存入AIMessage表</div>
|
|
|
<div class="params-title">请求参数 (Body JSON)</div>
|
|
|
- <div class="param-item"><span class="param-name">content</span> <span class="param-type">string</span> - 搜索结果内容</div>
|
|
|
- <div class="param-item"><span class="param-name">ai_message_id</span> <span class="param-type">uint64</span> - 消息ID</div>
|
|
|
+ <div class="param-item"><span class="param-name">content</span> <span
|
|
|
+ class="param-type">string</span> - 搜索结果内容</div>
|
|
|
+ <div class="param-item"><span class="param-name">ai_message_id</span> <span
|
|
|
+ class="param-type">uint64</span> - 消息ID</div>
|
|
|
</div>
|
|
|
</div>
|
|
|
</div>
|
|
|
@@ -231,7 +390,8 @@
|
|
|
<div class="api-title">生成考试提示词</div>
|
|
|
<div class="api-desc">根据考试配置生成AI提示词</div>
|
|
|
<div class="params-title">请求参数 (Body JSON)</div>
|
|
|
- <div class="param-item"><span class="param-name">exam_config</span> <span class="param-type">object</span> - 考试配置对象</div>
|
|
|
+ <div class="param-item"><span class="param-name">exam_config</span> <span
|
|
|
+ class="param-type">object</span> - 考试配置对象</div>
|
|
|
</div>
|
|
|
</div>
|
|
|
<div class="api-card">
|
|
|
@@ -243,8 +403,10 @@
|
|
|
<div class="api-title">单题生成提示词</div>
|
|
|
<div class="api-desc">为单个题目重新生成提示词</div>
|
|
|
<div class="params-title">请求参数 (Body JSON)</div>
|
|
|
- <div class="param-item"><span class="param-name">question_type</span> <span class="param-type">string</span> - 题目类型</div>
|
|
|
- <div class="param-item"><span class="param-name">context</span> <span class="param-type">string</span> - 上下文</div>
|
|
|
+ <div class="param-item"><span class="param-name">question_type</span> <span
|
|
|
+ class="param-type">string</span> - 题目类型</div>
|
|
|
+ <div class="param-item"><span class="param-name">context</span> <span
|
|
|
+ class="param-type">string</span> - 上下文</div>
|
|
|
</div>
|
|
|
</div>
|
|
|
<div class="api-card">
|
|
|
@@ -256,8 +418,10 @@
|
|
|
<div class="api-title">修改考试题目</div>
|
|
|
<div class="api-desc">修改已生成的考试题目内容</div>
|
|
|
<div class="params-title">请求参数 (Body JSON)</div>
|
|
|
- <div class="param-item"><span class="param-name">ai_conversation_id</span> <span class="param-type">uint64</span> - 对话ID</div>
|
|
|
- <div class="param-item"><span class="param-name">content</span> <span class="param-type">string</span> - 新内容</div>
|
|
|
+ <div class="param-item"><span class="param-name">ai_conversation_id</span> <span
|
|
|
+ class="param-type">uint64</span> - 对话ID</div>
|
|
|
+ <div class="param-item"><span class="param-name">content</span> <span
|
|
|
+ class="param-type">string</span> - 新内容</div>
|
|
|
</div>
|
|
|
</div>
|
|
|
<div class="api-card">
|
|
|
@@ -269,7 +433,8 @@
|
|
|
<div class="api-title">重新生成单题</div>
|
|
|
<div class="api-desc">重新生成指定的单个考试题目</div>
|
|
|
<div class="params-title">请求参数 (Body JSON)</div>
|
|
|
- <div class="param-item"><span class="param-name">question_id</span> <span class="param-type">uint64</span> - 题目ID</div>
|
|
|
+ <div class="param-item"><span class="param-name">question_id</span> <span
|
|
|
+ class="param-type">uint64</span> - 题目ID</div>
|
|
|
</div>
|
|
|
</div>
|
|
|
</div>
|
|
|
@@ -286,9 +451,12 @@
|
|
|
<div class="api-title">隐患识别</div>
|
|
|
<div class="api-desc">使用YOLO模型识别图片中的安全隐患,返回标注后的图片</div>
|
|
|
<div class="params-title">请求参数 (Body JSON)</div>
|
|
|
- <div class="param-item"><span class="param-name">scene_name</span> <span class="param-type">string</span> - 场景名称(模型类型)</div>
|
|
|
- <div class="param-item"><span class="param-name">image</span> <span class="param-type">string</span> - 图片OSS链接</div>
|
|
|
- <div class="param-item"><span class="param-name">date</span> <span class="param-type">string</span> - 日期</div>
|
|
|
+ <div class="param-item"><span class="param-name">scene_name</span> <span
|
|
|
+ class="param-type">string</span> - 场景名称(模型类型)</div>
|
|
|
+ <div class="param-item"><span class="param-name">image</span> <span class="param-type">string</span>
|
|
|
+ - 图片OSS链接</div>
|
|
|
+ <div class="param-item"><span class="param-name">date</span> <span class="param-type">string</span>
|
|
|
+ - 日期</div>
|
|
|
</div>
|
|
|
</div>
|
|
|
<div class="api-card">
|
|
|
@@ -300,10 +468,14 @@
|
|
|
<div class="api-title">保存步骤</div>
|
|
|
<div class="api-desc">保存PPT生成步骤、JSON文件和封面图</div>
|
|
|
<div class="params-title">请求参数 (Body JSON)</div>
|
|
|
- <div class="param-item"><span class="param-name">ai_conversation_id</span> <span class="param-type">uint64</span> - 对话ID</div>
|
|
|
- <div class="param-item"><span class="param-name">step</span> <span class="param-type">int</span> - 步骤编号</div>
|
|
|
- <div class="param-item"><span class="param-name">ppt_json_url</span> <span class="param-type">string</span> - PPT JSON URL</div>
|
|
|
- <div class="param-item"><span class="param-name">cover_image</span> <span class="param-type">string</span> - 封面图URL</div>
|
|
|
+ <div class="param-item"><span class="param-name">ai_conversation_id</span> <span
|
|
|
+ class="param-type">uint64</span> - 对话ID</div>
|
|
|
+ <div class="param-item"><span class="param-name">step</span> <span class="param-type">int</span> -
|
|
|
+ 步骤编号</div>
|
|
|
+ <div class="param-item"><span class="param-name">ppt_json_url</span> <span
|
|
|
+ class="param-type">string</span> - PPT JSON URL</div>
|
|
|
+ <div class="param-item"><span class="param-name">cover_image</span> <span
|
|
|
+ class="param-type">string</span> - 封面图URL</div>
|
|
|
</div>
|
|
|
</div>
|
|
|
<div class="api-card">
|
|
|
@@ -327,7 +499,8 @@
|
|
|
<div class="api-title">获取识别记录详情</div>
|
|
|
<div class="api-desc">获取指定识别记录的详细信息</div>
|
|
|
<div class="params-title">请求参数 (Query)</div>
|
|
|
- <div class="param-item"><span class="param-name">recognition_record_id</span> <span class="param-type">int64</span> - 记录ID</div>
|
|
|
+ <div class="param-item"><span class="param-name">recognition_record_id</span> <span
|
|
|
+ class="param-type">int64</span> - 记录ID</div>
|
|
|
</div>
|
|
|
</div>
|
|
|
<div class="api-card">
|
|
|
@@ -339,7 +512,8 @@
|
|
|
<div class="api-title">删除识别记录</div>
|
|
|
<div class="api-desc">删除指定的隐患识别历史记录</div>
|
|
|
<div class="params-title">请求参数 (Body JSON)</div>
|
|
|
- <div class="param-item"><span class="param-name">id</span> <span class="param-type">uint64</span> - 记录ID</div>
|
|
|
+ <div class="param-item"><span class="param-name">id</span> <span class="param-type">uint64</span> -
|
|
|
+ 记录ID</div>
|
|
|
</div>
|
|
|
</div>
|
|
|
<div class="api-card">
|
|
|
@@ -351,11 +525,16 @@
|
|
|
<div class="api-title">提交点评</div>
|
|
|
<div class="api-desc">用户对识别结果提交点评反馈</div>
|
|
|
<div class="params-title">请求参数 (Body JSON)</div>
|
|
|
- <div class="param-item"><span class="param-name">id</span> <span class="param-type">uint</span> - 记录ID</div>
|
|
|
- <div class="param-item"><span class="param-name">scene_match</span> <span class="param-type">int</span> - 场景匹配度</div>
|
|
|
- <div class="param-item"><span class="param-name">tip_accuracy</span> <span class="param-type">int</span> - 提示准确度</div>
|
|
|
- <div class="param-item"><span class="param-name">effect_evaluation</span> <span class="param-type">int</span> - 效果评价</div>
|
|
|
- <div class="param-item"><span class="param-name">user_remark</span> <span class="param-type">string</span> - 用户备注</div>
|
|
|
+ <div class="param-item"><span class="param-name">id</span> <span class="param-type">uint</span> -
|
|
|
+ 记录ID</div>
|
|
|
+ <div class="param-item"><span class="param-name">scene_match</span> <span
|
|
|
+ class="param-type">int</span> - 场景匹配度</div>
|
|
|
+ <div class="param-item"><span class="param-name">tip_accuracy</span> <span
|
|
|
+ class="param-type">int</span> - 提示准确度</div>
|
|
|
+ <div class="param-item"><span class="param-name">effect_evaluation</span> <span
|
|
|
+ class="param-type">int</span> - 效果评价</div>
|
|
|
+ <div class="param-item"><span class="param-name">user_remark</span> <span
|
|
|
+ class="param-type">string</span> - 用户备注</div>
|
|
|
</div>
|
|
|
</div>
|
|
|
<div class="api-card">
|
|
|
@@ -379,7 +558,8 @@
|
|
|
<div class="api-title">获取三级场景示例图</div>
|
|
|
<div class="api-desc">获取隐患识别三级场景的正确和错误示例图</div>
|
|
|
<div class="params-title">请求参数 (Query)</div>
|
|
|
- <div class="param-item"><span class="param-name">third_scene_name</span> <span class="param-type">string</span> - 三级场景名称</div>
|
|
|
+ <div class="param-item"><span class="param-name">third_scene_name</span> <span
|
|
|
+ class="param-type">string</span> - 三级场景名称</div>
|
|
|
</div>
|
|
|
</div>
|
|
|
</div>
|
|
|
@@ -410,7 +590,8 @@
|
|
|
<div class="api-title">上传图片</div>
|
|
|
<div class="api-desc">上传图片到OSS,自动压缩到200KB以下</div>
|
|
|
<div class="params-title">请求参数 (FormData)</div>
|
|
|
- <div class="param-item"><span class="param-name">image</span> <span class="param-type">file</span> - 图片文件(≤10MB)</div>
|
|
|
+ <div class="param-item"><span class="param-name">image</span> <span class="param-type">file</span> -
|
|
|
+ 图片文件(≤10MB)</div>
|
|
|
<div class="params-title" style="margin-top:8px">响应</div>
|
|
|
<div class="param-item"><span class="param-name">fileUrl</span> - 代理访问URL</div>
|
|
|
<div class="param-item"><span class="param-name">fileName</span> - 文件名</div>
|
|
|
@@ -426,7 +607,8 @@
|
|
|
<div class="api-title">上传PPT JSON文件</div>
|
|
|
<div class="api-desc">上传PPT配置JSON文件到OSS</div>
|
|
|
<div class="params-title">请求参数 (FormData)</div>
|
|
|
- <div class="param-item"><span class="param-name">json</span> <span class="param-type">file</span> - JSON文件(≤50MB)</div>
|
|
|
+ <div class="param-item"><span class="param-name">json</span> <span class="param-type">file</span> -
|
|
|
+ JSON文件(≤50MB)</div>
|
|
|
<div class="params-title" style="margin-top:8px">响应</div>
|
|
|
<div class="param-item"><span class="param-name">fileUrl</span> - 代理访问URL</div>
|
|
|
</div>
|
|
|
@@ -440,7 +622,8 @@
|
|
|
<div class="api-title">OSS代理解析</div>
|
|
|
<div class="api-desc">代理转发OSS URL请求,解密并获取文件内容</div>
|
|
|
<div class="params-title">请求参数 (Query)</div>
|
|
|
- <div class="param-item"><span class="param-name">url</span> <span class="param-type">string</span> - 加密的OSS URL</div>
|
|
|
+ <div class="param-item"><span class="param-name">url</span> <span class="param-type">string</span> -
|
|
|
+ 加密的OSS URL</div>
|
|
|
</div>
|
|
|
</div>
|
|
|
</div>
|
|
|
@@ -457,7 +640,8 @@
|
|
|
<div class="api-title">获取推荐问题</div>
|
|
|
<div class="api-desc">随机返回推荐问题列表</div>
|
|
|
<div class="params-title">请求参数 (Query)</div>
|
|
|
- <div class="param-item"><span class="param-name">limit</span> <span class="param-type">int</span> - 数量(默认5)</div>
|
|
|
+ <div class="param-item"><span class="param-name">limit</span> <span class="param-type">int</span> -
|
|
|
+ 数量(默认5)</div>
|
|
|
</div>
|
|
|
</div>
|
|
|
<div class="api-card">
|
|
|
@@ -469,7 +653,8 @@
|
|
|
<div class="api-title">获取功能卡片</div>
|
|
|
<div class="api-desc">随机返回4条功能卡片</div>
|
|
|
<div class="params-title">请求参数 (Query)</div>
|
|
|
- <div class="param-item"><span class="param-name">function_type</span> <span class="param-type">int</span> - 类型(0:AI问答,1:安全培训)</div>
|
|
|
+ <div class="param-item"><span class="param-name">function_type</span> <span
|
|
|
+ class="param-type">int</span> - 类型(0:AI助手,1:安全培训)</div>
|
|
|
</div>
|
|
|
</div>
|
|
|
<div class="api-card">
|
|
|
@@ -481,7 +666,8 @@
|
|
|
<div class="api-title">获取热点问题</div>
|
|
|
<div class="api-desc">随机返回4条热点问题</div>
|
|
|
<div class="params-title">请求参数 (Query)</div>
|
|
|
- <div class="param-item"><span class="param-name">question_type</span> <span class="param-type">int</span> - 类型(0:AI问答,1:安全培训)</div>
|
|
|
+ <div class="param-item"><span class="param-name">question_type</span> <span
|
|
|
+ class="param-type">int</span> - 类型(0:AI助手,1:安全培训)</div>
|
|
|
</div>
|
|
|
</div>
|
|
|
<div class="api-card">
|
|
|
@@ -493,8 +679,10 @@
|
|
|
<div class="api-title">提交意见反馈</div>
|
|
|
<div class="api-desc">用户提交意见反馈信息</div>
|
|
|
<div class="params-title">请求参数 (Body JSON)</div>
|
|
|
- <div class="param-item"><span class="param-name">content</span> <span class="param-type">string</span> - 反馈内容</div>
|
|
|
- <div class="param-item"><span class="param-name">contact</span> <span class="param-type">string</span> - 联系方式</div>
|
|
|
+ <div class="param-item"><span class="param-name">content</span> <span
|
|
|
+ class="param-type">string</span> - 反馈内容</div>
|
|
|
+ <div class="param-item"><span class="param-name">contact</span> <span
|
|
|
+ class="param-type">string</span> - 联系方式</div>
|
|
|
</div>
|
|
|
</div>
|
|
|
<div class="api-card">
|
|
|
@@ -506,8 +694,10 @@
|
|
|
<div class="api-title">点赞/踩</div>
|
|
|
<div class="api-desc">对AI回复进行点赞或踩的反馈</div>
|
|
|
<div class="params-title">请求参数 (Body JSON)</div>
|
|
|
- <div class="param-item"><span class="param-name">id</span> <span class="param-type">uint</span> - 消息ID</div>
|
|
|
- <div class="param-item"><span class="param-name">user_feedback</span> <span class="param-type">int</span> - 反馈(1:赞,-1:踩)</div>
|
|
|
+ <div class="param-item"><span class="param-name">id</span> <span class="param-type">uint</span> -
|
|
|
+ 消息ID</div>
|
|
|
+ <div class="param-item"><span class="param-name">user_feedback</span> <span
|
|
|
+ class="param-type">int</span> - 反馈(1:赞,-1:踩)</div>
|
|
|
</div>
|
|
|
</div>
|
|
|
<div class="api-card">
|
|
|
@@ -536,10 +726,14 @@
|
|
|
<div class="api-title">获取政策文件列表</div>
|
|
|
<div class="api-desc">分页获取政策文件列表,支持类型筛选和搜索</div>
|
|
|
<div class="params-title">请求参数 (Query)</div>
|
|
|
- <div class="param-item"><span class="param-name">policy_type</span> <span class="param-type">int</span> - 政策类型(0:全部)</div>
|
|
|
- <div class="param-item"><span class="param-name">search</span> <span class="param-type">string</span> - 搜索关键词</div>
|
|
|
- <div class="param-item"><span class="param-name">page</span> <span class="param-type">int</span> - 页码</div>
|
|
|
- <div class="param-item"><span class="param-name">pageSize</span> <span class="param-type">int</span> - 每页数量</div>
|
|
|
+ <div class="param-item"><span class="param-name">policy_type</span> <span
|
|
|
+ class="param-type">int</span> - 政策类型(0:全部)</div>
|
|
|
+ <div class="param-item"><span class="param-name">search</span> <span
|
|
|
+ class="param-type">string</span> - 搜索关键词</div>
|
|
|
+ <div class="param-item"><span class="param-name">page</span> <span class="param-type">int</span> -
|
|
|
+ 页码</div>
|
|
|
+ <div class="param-item"><span class="param-name">pageSize</span> <span class="param-type">int</span>
|
|
|
+ - 每页数量</div>
|
|
|
</div>
|
|
|
</div>
|
|
|
<div class="api-card">
|
|
|
@@ -551,8 +745,10 @@
|
|
|
<div class="api-title">下载文件</div>
|
|
|
<div class="api-desc">从OSS链接下载文件并返回给前端</div>
|
|
|
<div class="params-title">请求参数 (Query)</div>
|
|
|
- <div class="param-item"><span class="param-name">pdf_oss_download_link</span> <span class="param-type">string</span> - OSS下载链接</div>
|
|
|
- <div class="param-item"><span class="param-name">file_name</span> <span class="param-type">string</span> - 自定义文件名(可选)</div>
|
|
|
+ <div class="param-item"><span class="param-name">pdf_oss_download_link</span> <span
|
|
|
+ class="param-type">string</span> - OSS下载链接</div>
|
|
|
+ <div class="param-item"><span class="param-name">file_name</span> <span
|
|
|
+ class="param-type">string</span> - 自定义文件名(可选)</div>
|
|
|
</div>
|
|
|
</div>
|
|
|
<div class="api-card">
|
|
|
@@ -564,8 +760,10 @@
|
|
|
<div class="api-title">政策文件统计</div>
|
|
|
<div class="api-desc">政策文件查看和下载次数+1</div>
|
|
|
<div class="params-title">请求参数 (Body JSON)</div>
|
|
|
- <div class="param-item"><span class="param-name">policy_file_id</span> <span class="param-type">int</span> - 政策文件ID</div>
|
|
|
- <div class="param-item"><span class="param-name">action_type</span> <span class="param-type">int</span> - 操作类型(1:查看,2:下载)</div>
|
|
|
+ <div class="param-item"><span class="param-name">policy_file_id</span> <span
|
|
|
+ class="param-type">int</span> - 政策文件ID</div>
|
|
|
+ <div class="param-item"><span class="param-name">action_type</span> <span
|
|
|
+ class="param-type">int</span> - 操作类型(1:查看,2:下载)</div>
|
|
|
</div>
|
|
|
</div>
|
|
|
<div class="api-card">
|
|
|
@@ -577,7 +775,8 @@
|
|
|
<div class="api-title">获取文件链接</div>
|
|
|
<div class="api-desc">根据文件名从数据库查找对应的OSS链接</div>
|
|
|
<div class="params-title">请求参数 (Query)</div>
|
|
|
- <div class="param-item"><span class="param-name">file_name</span> <span class="param-type">string</span> - 文件名</div>
|
|
|
+ <div class="param-item"><span class="param-name">file_name</span> <span
|
|
|
+ class="param-type">string</span> - 文件名</div>
|
|
|
</div>
|
|
|
</div>
|
|
|
<div class="api-card">
|
|
|
@@ -589,8 +788,10 @@
|
|
|
<div class="api-title">知识库高级搜索</div>
|
|
|
<div class="api-desc">从ChromaDB向量数据库进行高级文件搜索</div>
|
|
|
<div class="params-title">请求参数 (Query)</div>
|
|
|
- <div class="param-item"><span class="param-name">query_str</span> <span class="param-type">string</span> - 查询字符串</div>
|
|
|
- <div class="param-item"><span class="param-name">n_results</span> <span class="param-type">int</span> - 结果数量(默认50)</div>
|
|
|
+ <div class="param-item"><span class="param-name">query_str</span> <span
|
|
|
+ class="param-type">string</span> - 查询字符串</div>
|
|
|
+ <div class="param-item"><span class="param-name">n_results</span> <span
|
|
|
+ class="param-type">int</span> - 结果数量(默认50)</div>
|
|
|
</div>
|
|
|
</div>
|
|
|
<div class="api-card">
|
|
|
@@ -602,8 +803,10 @@
|
|
|
<div class="api-title">保存PPT大纲</div>
|
|
|
<div class="api-desc">保存AI生成的PPT大纲内容</div>
|
|
|
<div class="params-title">请求参数 (Body JSON)</div>
|
|
|
- <div class="param-item"><span class="param-name">ai_conversation_id</span> <span class="param-type">uint64</span> - 对话ID</div>
|
|
|
- <div class="param-item"><span class="param-name">outline</span> <span class="param-type">string</span> - 大纲内容</div>
|
|
|
+ <div class="param-item"><span class="param-name">ai_conversation_id</span> <span
|
|
|
+ class="param-type">uint64</span> - 对话ID</div>
|
|
|
+ <div class="param-item"><span class="param-name">outline</span> <span
|
|
|
+ class="param-type">string</span> - 大纲内容</div>
|
|
|
</div>
|
|
|
</div>
|
|
|
<div class="api-card">
|
|
|
@@ -615,8 +818,10 @@
|
|
|
<div class="api-title">保存编辑文档</div>
|
|
|
<div class="api-desc">AI写作保存编辑后的文档内容</div>
|
|
|
<div class="params-title">请求参数 (Body JSON)</div>
|
|
|
- <div class="param-item"><span class="param-name">ai_message_id</span> <span class="param-type">uint64</span> - 消息ID</div>
|
|
|
- <div class="param-item"><span class="param-name">content</span> <span class="param-type">string</span> - 文档内容</div>
|
|
|
+ <div class="param-item"><span class="param-name">ai_message_id</span> <span
|
|
|
+ class="param-type">uint64</span> - 消息ID</div>
|
|
|
+ <div class="param-item"><span class="param-name">content</span> <span
|
|
|
+ class="param-type">string</span> - 文档内容</div>
|
|
|
</div>
|
|
|
</div>
|
|
|
</div>
|
|
|
@@ -647,8 +852,10 @@
|
|
|
<div class="api-title">消费积分</div>
|
|
|
<div class="api-desc">消费积分下载文件(每次10积分)</div>
|
|
|
<div class="params-title">请求参数 (Body JSON)</div>
|
|
|
- <div class="param-item"><span class="param-name">file_name</span> <span class="param-type">string</span> - 文件名</div>
|
|
|
- <div class="param-item"><span class="param-name">file_url</span> <span class="param-type">string</span> - 文件URL</div>
|
|
|
+ <div class="param-item"><span class="param-name">file_name</span> <span
|
|
|
+ class="param-type">string</span> - 文件名</div>
|
|
|
+ <div class="param-item"><span class="param-name">file_url</span> <span
|
|
|
+ class="param-type">string</span> - 文件URL</div>
|
|
|
<div class="params-title" style="margin-top:8px">响应</div>
|
|
|
<div class="param-item"><span class="param-name">new_balance</span> - 新余额</div>
|
|
|
<div class="param-item"><span class="param-name">points_consumed</span> - 消费积分</div>
|
|
|
@@ -663,8 +870,10 @@
|
|
|
<div class="api-title">获取消费记录</div>
|
|
|
<div class="api-desc">分页获取用户的积分消费历史记录</div>
|
|
|
<div class="params-title">请求参数 (Query)</div>
|
|
|
- <div class="param-item"><span class="param-name">page</span> <span class="param-type">int</span> - 页码(默认1)</div>
|
|
|
- <div class="param-item"><span class="param-name">pageSize</span> <span class="param-type">int</span> - 每页数量(默认10)</div>
|
|
|
+ <div class="param-item"><span class="param-name">page</span> <span class="param-type">int</span> -
|
|
|
+ 页码(默认1)</div>
|
|
|
+ <div class="param-item"><span class="param-name">pageSize</span> <span class="param-type">int</span>
|
|
|
+ - 每页数量(默认10)</div>
|
|
|
</div>
|
|
|
</div>
|
|
|
</div>
|
|
|
@@ -681,9 +890,12 @@
|
|
|
<div class="api-title">记录埋点数据</div>
|
|
|
<div class="api-desc">记录用户行为埋点数据</div>
|
|
|
<div class="params-title">请求参数 (Body JSON)</div>
|
|
|
- <div class="param-item"><span class="param-name">api_path</span> <span class="param-type">string</span> - 接口路径</div>
|
|
|
- <div class="param-item"><span class="param-name">method</span> <span class="param-type">string</span> - 请求方法</div>
|
|
|
- <div class="param-item"><span class="param-name">extra_data</span> <span class="param-type">string</span> - 额外数据(可选)</div>
|
|
|
+ <div class="param-item"><span class="param-name">api_path</span> <span
|
|
|
+ class="param-type">string</span> - 接口路径</div>
|
|
|
+ <div class="param-item"><span class="param-name">method</span> <span
|
|
|
+ class="param-type">string</span> - 请求方法</div>
|
|
|
+ <div class="param-item"><span class="param-name">extra_data</span> <span
|
|
|
+ class="param-type">string</span> - 额外数据(可选)</div>
|
|
|
</div>
|
|
|
</div>
|
|
|
<div class="api-card">
|
|
|
@@ -695,10 +907,14 @@
|
|
|
<div class="api-title">获取埋点记录</div>
|
|
|
<div class="api-desc">分页获取埋点记录列表</div>
|
|
|
<div class="params-title">请求参数 (Query)</div>
|
|
|
- <div class="param-item"><span class="param-name">user_id</span> <span class="param-type">int</span> - 用户ID(可选)</div>
|
|
|
- <div class="param-item"><span class="param-name">api_path</span> <span class="param-type">string</span> - 接口路径(可选)</div>
|
|
|
- <div class="param-item"><span class="param-name">page</span> <span class="param-type">int</span> - 页码(默认1)</div>
|
|
|
- <div class="param-item"><span class="param-name">page_size</span> <span class="param-type">int</span> - 每页数量(默认20)</div>
|
|
|
+ <div class="param-item"><span class="param-name">user_id</span> <span class="param-type">int</span>
|
|
|
+ - 用户ID(可选)</div>
|
|
|
+ <div class="param-item"><span class="param-name">api_path</span> <span
|
|
|
+ class="param-type">string</span> - 接口路径(可选)</div>
|
|
|
+ <div class="param-item"><span class="param-name">page</span> <span class="param-type">int</span> -
|
|
|
+ 页码(默认1)</div>
|
|
|
+ <div class="param-item"><span class="param-name">page_size</span> <span
|
|
|
+ class="param-type">int</span> - 每页数量(默认20)</div>
|
|
|
</div>
|
|
|
</div>
|
|
|
<div class="api-card">
|
|
|
@@ -710,9 +926,12 @@
|
|
|
<div class="api-title">添加接口映射</div>
|
|
|
<div class="api-desc">添加接口路径到名称的映射关系</div>
|
|
|
<div class="params-title">请求参数 (Body JSON)</div>
|
|
|
- <div class="param-item"><span class="param-name">api_path</span> <span class="param-type">string</span> - 接口路径</div>
|
|
|
- <div class="param-item"><span class="param-name">api_name</span> <span class="param-type">string</span> - 接口名称</div>
|
|
|
- <div class="param-item"><span class="param-name">api_desc</span> <span class="param-type">string</span> - 接口描述(可选)</div>
|
|
|
+ <div class="param-item"><span class="param-name">api_path</span> <span
|
|
|
+ class="param-type">string</span> - 接口路径</div>
|
|
|
+ <div class="param-item"><span class="param-name">api_name</span> <span
|
|
|
+ class="param-type">string</span> - 接口名称</div>
|
|
|
+ <div class="param-item"><span class="param-name">api_desc</span> <span
|
|
|
+ class="param-type">string</span> - 接口描述(可选)</div>
|
|
|
</div>
|
|
|
</div>
|
|
|
<div class="api-card">
|
|
|
@@ -736,4 +955,5 @@
|
|
|
</div>
|
|
|
</div>
|
|
|
</body>
|
|
|
-</html>
|
|
|
+
|
|
|
+</html>
|