104 lines
3.5 KiB
Markdown
104 lines
3.5 KiB
Markdown
# 📋 点击"执行一次"的完整流程说明
|
||
|
||
## 🔄 **当前实现的流程**
|
||
|
||
### **1. 前端触发 (InfoReporter.vue)**
|
||
```javascript
|
||
// 用户点击任务卡片右上角三点菜单中的"执行一次"
|
||
@click.stop="executeOnce(task)"
|
||
```
|
||
|
||
### **2. 数据准备阶段**
|
||
```javascript
|
||
const executeOnce = async (task: any) => {
|
||
// 1. 关闭三点菜单
|
||
activeTaskMenu.value = null
|
||
|
||
// 2. 获取数据源的长文本内容
|
||
const sourceContents = await getSourceContents(task.sourcesConfig)
|
||
|
||
// 3. 准备传递给其他团队的完整数据
|
||
const requestData = {
|
||
task_id: task.id,
|
||
requirement: task.requirement, // 用户输入的需求
|
||
source_contents: sourceContents, // 数据源对应的长文本段
|
||
web_search_enabled: task.sourcesConfig?.webSearchEnabled || false
|
||
}
|
||
}
|
||
```
|
||
|
||
### **3. 数据源内容获取 (getSourceContents)**
|
||
```javascript
|
||
const getSourceContents = async (sourcesConfig: any) => {
|
||
const sourceContents = []
|
||
|
||
for (const source of sourcesConfig.presetSources) {
|
||
// TODO: 实际应该调用刘老师的数据库API
|
||
// const response = await fetch(`/api/sources/${source.id}/content`)
|
||
// const content = await response.text()
|
||
|
||
// 现在使用模拟的长文本数据
|
||
let content = ''
|
||
switch (source.category) {
|
||
case 'wechat':
|
||
content = '# 微信企微群聊记录...' // 模拟聊天记录
|
||
case 'wechatOfficial':
|
||
content = '# 公众号文章内容...' // 模拟公众号文章
|
||
case 'web':
|
||
content = '# 网页内容...' // 模拟网页抓取内容
|
||
// ... 其他数据源类型
|
||
}
|
||
|
||
sourceContents.push({
|
||
source_id: source.id,
|
||
source_name: source.name,
|
||
source_type: source.category,
|
||
content: content.trim() // 类似Ext4文档这样的长文本
|
||
})
|
||
}
|
||
|
||
return sourceContents
|
||
}
|
||
```
|
||
|
||
### **4. 传递给其他团队的数据格式**
|
||
```json
|
||
{
|
||
"task_id": 123,
|
||
"requirement": "关注对象:OpenAI\n信息侧重点:产品发布动态和功能更新\n要求:总结全面、客观、准确",
|
||
"source_contents": [
|
||
{
|
||
"source_id": "wechat-AI技术群",
|
||
"source_name": "AI技术群",
|
||
"source_type": "wechat",
|
||
"content": "# 微信企微群聊记录 - AI技术群\n\n[2025-09-19 09:00] 张三: 大家好,今天我们来讨论一下AI技术的最新发展\n[2025-09-19 09:02] 李四: OpenAI最近发布了新的GPT模型,性能提升很大\n...(几千字的聊天记录)"
|
||
},
|
||
{
|
||
"source_id": "web-openai.com",
|
||
"source_name": "OpenAI官网",
|
||
"source_type": "web",
|
||
"content": "# OpenAI官方发布:GPT-4 Turbo正式上线\n\n发布时间:2025年9月19日\n\n### 主要更新内容\n\nOpenAI今天宣布GPT-4 Turbo正式向所有用户开放...\n(几千字的网页内容)"
|
||
}
|
||
],
|
||
"web_search_enabled": true
|
||
}
|
||
```
|
||
|
||
## 🎯 **关键点说明**
|
||
|
||
1. **数据源长文本**: 类似Ext4文档,每个数据源都会有几千到几万字的详细内容
|
||
2. **用户需求**: 用户在创建任务时输入的具体要求和关注点
|
||
3. **多数据源支持**: 可以同时处理多个不同类型的数据源
|
||
4. **异步处理**: 获取数据源内容和调用API都是异步的
|
||
|
||
## ⚠️ **待替换的API调用点**
|
||
|
||
```javascript
|
||
// TODO: 未来需要替换为刘老师的数据库API
|
||
// 示例:
|
||
// const response = await fetch(`/api/sources/${source.id}/content`)
|
||
// const content = await response.text()
|
||
```
|
||
|
||
现在点击"执行一次"时,系统会准备好完整的数据(用户需求 + 数据源长文本),然后传递给其他同学的报告生成API!
|