Skip to content
项目
群组
代码片段
帮助
当前项目
正在载入...
登录 / 注册
切换导航面板
R
risk-monitor
项目
项目
详情
活动
周期分析
仓库
仓库
文件
提交
分支
标签
贡献者
图表
比较
统计图
议题
0
议题
0
列表
看板
标记
里程碑
合并请求
1
合并请求
1
CI / CD
CI / CD
流水线
作业
日程
统计图
Wiki
Wiki
代码片段
代码片段
成员
成员
折叠边栏
关闭边栏
活动
图像
聊天
创建新问题
作业
提交
问题看板
Open sidebar
蔡建
risk-monitor
Commits
b46e0652
提交
b46e0652
authored
3月 24, 2026
作者:
朱政
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
feat:优化多智库分析的流式输出显示状态
上级
3f12faf6
隐藏空白字符变更
内嵌
并排
正在显示
2 个修改的文件
包含
12 行增加
和
13 行删除
+12
-13
overview.js
src/api/thinkTank/overview.js
+2
-2
index.vue
src/views/thinkTank/MultiThinkTankViewAnalysis/index.vue
+10
-11
没有找到文件。
src/api/thinkTank/overview.js
浏览文件 @
b46e0652
...
...
@@ -222,7 +222,7 @@ export async function postReportDomainViewAnalysisStream(data, handlers = {}) {
const
msg
=
JSON
.
parse
(
jsonText
)
if
(
typeof
onMessage
===
'function'
)
onMessage
(
msg
)
if
(
msg
?.
type
===
'reasoning'
&&
msg
?.
chunk
!=
null
&&
typeof
onReasoningChunk
===
'function'
)
{
const
c
=
String
(
msg
.
chunk
)
.
trim
()
const
c
=
String
(
msg
.
chunk
)
if
(
c
)
onReasoningChunk
(
c
)
}
}
catch
(
e
)
{
...
...
@@ -241,7 +241,7 @@ export async function postReportDomainViewAnalysisStream(data, handlers = {}) {
const
msg
=
JSON
.
parse
(
jsonText
)
if
(
typeof
onMessage
===
'function'
)
onMessage
(
msg
)
if
(
msg
?.
type
===
'reasoning'
&&
msg
?.
chunk
!=
null
&&
typeof
onReasoningChunk
===
'function'
)
{
const
c
=
String
(
msg
.
chunk
)
.
trim
()
const
c
=
String
(
msg
.
chunk
)
if
(
c
)
onReasoningChunk
(
c
)
}
}
catch
(
e
)
{
...
...
src/views/thinkTank/MultiThinkTankViewAnalysis/index.vue
浏览文件 @
b46e0652
...
...
@@ -187,9 +187,7 @@
</div>
</div>
<div
class=
"being-analysis-box-content"
ref=
"beingAnalysisContentRef"
>
<div
class=
"being-analysis-content-line"
v-for=
"(line, idx) in beingAnalysisChunks"
:key=
"idx"
>
{{ line }}
</div>
<div
class=
"being-analysis-content-text"
>
{{ beingAnalysisContent }}
</div>
</div>
</div>
<div
v-if=
"isAnalysisLoading"
class=
"being-analysis-image"
>
...
...
@@ -326,7 +324,7 @@ const searchPolicy = ref("");
const
isBox2
=
ref
(
true
)
const
isAnalysisLoading
=
ref
(
false
)
const
isBeingAnalysisExpanded
=
ref
(
false
)
const
beingAnalysisC
hunks
=
ref
([]
)
const
beingAnalysisC
ontent
=
ref
(
""
)
const
beingAnalysisContentRef
=
ref
(
null
)
const
activeOpinionTab
=
ref
(
'consensus'
)
const
toggleBeingAnalysisBox
=
()
=>
{
...
...
@@ -338,7 +336,7 @@ const scrollBeingAnalysisToBottom = async () => {
if
(
!
el
)
return
el
.
scrollTop
=
el
.
scrollHeight
}
watch
(()
=>
beingAnalysisC
hunks
.
value
.
length
,
async
()
=>
{
watch
(()
=>
beingAnalysisC
ontent
.
value
,
async
()
=>
{
if
(
!
isBeingAnalysisExpanded
.
value
)
return
await
scrollBeingAnalysisToBottom
()
}
)
...
...
@@ -588,7 +586,7 @@ const handleAnalysis = async () => {
isBox2
.
value
=
false
isAnalysisLoading
.
value
=
true
isBeingAnalysisExpanded
.
value
=
false
beingAnalysisC
hunks
.
value
=
[]
beingAnalysisC
ontent
.
value
=
""
domainViewAnalysisRes
.
value
=
null
// 每次进入“开始分析”默认回到共识观点,避免上次状态残留导致内容错位
activeOpinionTab
.
value
=
'consensus'
...
...
@@ -600,7 +598,7 @@ const handleBack = () => {
// 返回选择时终止“分析中”展示,恢复空态图
isAnalysisLoading
.
value
=
false
isBeingAnalysisExpanded
.
value
=
false
beingAnalysisC
hunks
.
value
=
[]
beingAnalysisC
ontent
.
value
=
""
// 返回选择时也重置,确保下次进入分析展示一致
activeOpinionTab
.
value
=
'consensus'
}
...
...
@@ -693,7 +691,7 @@ const mergeAnalysisAnswerParts = (parts) => {
const
handlePostReportDomainViewAnalysis
=
async
()
=>
{
try
{
viewpointDetailByKey
.
value
=
{
}
beingAnalysisC
hunks
.
value
=
[]
beingAnalysisC
ontent
.
value
=
""
const
selectedReports
=
selectedReportList
.
value
||
[]
const
reportEntriesRaw
=
await
Promise
.
all
(
selectedReports
.
map
(
async
(
report
)
=>
{
...
...
@@ -798,7 +796,7 @@ const handlePostReportDomainViewAnalysis = async () => {
console
.
log
(
"智库领域观点分析入参"
,
payload
)
const
res
=
await
postReportDomainViewAnalysisStream
(
payload
,
{
onReasoningChunk
:
async
(
chunk
)
=>
{
beingAnalysisC
hunks
.
value
=
[...
beingAnalysisChunks
.
value
,
chunk
]
beingAnalysisC
ontent
.
value
+=
String
(
chunk
)
await
scrollBeingAnalysisToBottom
()
}
}
)
...
...
@@ -1103,9 +1101,10 @@ onMounted(async () => {
}
}
.
being
-
analysis
-
content
-
line
{
.
being
-
analysis
-
content
-
text
{
line
-
height
:
22
px
;
white
-
space
:
nowrap
;
white
-
space
:
pre
-
wrap
;
word
-
break
:
break
-
word
;
}
.
being
-
analysis
-
image
{
...
...
编写
预览
Markdown
格式
0%
重试
或
添加新文件
添加附件
取消
您添加了
0
人
到此讨论。请谨慎行事。
请先完成此评论的编辑!
取消
请
注册
或者
登录
后发表评论