feat: 添加合规

This commit is contained in:
zdl
2025-10-20 21:25:33 +08:00
parent d695f8ff7b
commit 6c96299b8f
42 changed files with 7118 additions and 289 deletions

View File

@@ -116,6 +116,8 @@ const CitationMark = ({ citationId, citation }) => {
overlayInnerStyle={{ maxWidth: 340, padding: '8px' }}
open={popoverVisible}
onOpenChange={setPopoverVisible}
zIndex={2000}
getPopupContainer={(trigger) => trigger.parentElement || document.body}
>
<sup
style={{

View File

@@ -45,46 +45,63 @@ const CitedContent = ({
return null;
}
// 判断是否显示标题栏内联模式title为空且不显示AI徽章
const showHeader = title || showAIBadge;
// 根据是否显示标题栏决定容器样式
const defaultContainerStyle = showHeader ? {
backgroundColor: '#f5f5f5',
borderRadius: 6,
padding: 16
} : {};
// 检查是否为内联模式
const isInlineMode = containerStyle?.display && containerStyle.display.includes('inline');
// 根据内联模式选择容器元素类型
const ContainerTag = isInlineMode ? 'span' : 'div';
const ContentTag = isInlineMode ? 'span' : 'div';
return (
<div
<ContainerTag
style={{
backgroundColor: '#f5f5f5',
borderRadius: 6,
padding: 16,
...defaultContainerStyle,
...containerStyle
}}
>
{/* 标题栏 */}
<Space
style={{
width: '100%',
justifyContent: 'space-between',
marginBottom: 12
}}
>
<Space>
<FileSearchOutlined style={{ color: '#1890ff', fontSize: 16 }} />
<Text strong style={{ fontSize: 14 }}>
{title}
</Text>
{/* 标题栏 - 仅在需要时显示 */}
{showHeader && (
<Space
style={{
width: '100%',
justifyContent: 'space-between',
marginBottom: 12
}}
>
<Space>
<FileSearchOutlined style={{ color: '#1890ff', fontSize: 16 }} />
<Text strong style={{ fontSize: 14 }}>
{title}
</Text>
</Space>
{showAIBadge && (
<Tag
icon={<RobotOutlined />}
color="purple"
style={{ margin: 0 }}
>
AI 生成
</Tag>
)}
</Space>
{showAIBadge && (
<Tag
icon={<RobotOutlined />}
color="purple"
style={{ margin: 0 }}
>
AI 生成
</Tag>
)}
</Space>
)}
{/* 带引用的文本内容 */}
<div style={{ lineHeight: 1.8 }}>
<ContentTag style={{ lineHeight: isInlineMode ? 'inherit' : 1.8 }}>
{processed.segments.map((segment, index) => (
<React.Fragment key={`segment-${segment.citationId}`}>
{/* 文本片段 */}
<Text style={{ fontSize: 14 }}>
<Text style={{ fontSize: 14, display: 'inline' }}>
{segment.text}
</Text>
@@ -96,12 +113,12 @@ const CitedContent = ({
{/* 在片段之间添加逗号分隔符(最后一个不加) */}
{index < processed.segments.length - 1 && (
<Text style={{ fontSize: 14 }}></Text>
<Text style={{ fontSize: 14, display: 'inline' }}></Text>
)}
</React.Fragment>
))}
</div>
</div>
</ContentTag>
</ContainerTag>
);
};