(improvement)(chat-sdk) optimize parse style (#1230)

This commit is contained in:
williamhliu
2024-06-26 10:20:17 +08:00
committed by GitHub
parent 1e5cfb51df
commit 34b76ffd53
4 changed files with 49 additions and 38 deletions

View File

@@ -40,6 +40,8 @@ const ExecuteItem: React.FC<Props> = ({
const [showMsgContentTable, setShowMsgContentTable] = useState<boolean>(false); const [showMsgContentTable, setShowMsgContentTable] = useState<boolean>(false);
const [msgContentType, setMsgContentType] = useState<MsgContentTypeEnum>(); const [msgContentType, setMsgContentType] = useState<MsgContentTypeEnum>();
const titlePrefix = queryMode === 'PLAIN_TEXT' ? '问答' : '数据';
const getNodeTip = (title: ReactNode, tip?: string) => { const getNodeTip = (title: ReactNode, tip?: string) => {
return ( return (
<> <>
@@ -56,16 +58,13 @@ const ExecuteItem: React.FC<Props> = ({
}; };
if (executeLoading) { if (executeLoading) {
if (queryMode === 'PLAIN_TEXT') { return getNodeTip(`${titlePrefix}查询中`);
return <Loading />;
}
return getNodeTip('数据查询中');
} }
if (executeTip) { if (executeTip) {
return getNodeTip( return getNodeTip(
<> <>
{titlePrefix}
{data?.queryTimeCost && isDeveloper && ( {data?.queryTimeCost && isDeveloper && (
<span className={`${prefixCls}-title-tip`}>(: {data.queryTimeCost}ms)</span> <span className={`${prefixCls}-title-tip`}>(: {data.queryTimeCost}ms)</span>
)} )}
@@ -78,10 +77,6 @@ const ExecuteItem: React.FC<Props> = ({
return null; return null;
} }
if (data.queryMode === 'PLAIN_TEXT') {
return <>{data.textResult}</>;
}
return ( return (
<> <>
<div className={`${prefixCls}-title-bar`}> <div className={`${prefixCls}-title-bar`}>
@@ -89,7 +84,7 @@ const ExecuteItem: React.FC<Props> = ({
<div className={`${prefixCls}-step-title`} style={{ width: '100%' }}> <div className={`${prefixCls}-step-title`} style={{ width: '100%' }}>
<Row style={{ width: '100%' }}> <Row style={{ width: '100%' }}>
<Col flex="1 1 auto"> <Col flex="1 1 auto">
{titlePrefix}
{data?.queryTimeCost && isDeveloper && ( {data?.queryTimeCost && isDeveloper && (
<span className={`${prefixCls}-title-tip`}>(: {data.queryTimeCost}ms)</span> <span className={`${prefixCls}-title-tip`}>(: {data.queryTimeCost}ms)</span>
)} )}
@@ -110,13 +105,18 @@ const ExecuteItem: React.FC<Props> = ({
</Row> </Row>
</div> </div>
</div> </div>
<div className={`${prefixCls}-content-container`}> <div
className={`${prefixCls}-content-container`}
style={{ borderLeft: queryMode === 'PLAIN_TEXT' ? 'none' : undefined }}
>
<Spin spinning={entitySwitchLoading}> <Spin spinning={entitySwitchLoading}>
{data.queryAuthorization?.message && ( {data.queryAuthorization?.message && (
<div className={`${prefixCls}-auth-tip`}>{data.queryAuthorization.message}</div> <div className={`${prefixCls}-auth-tip`}>{data.queryAuthorization.message}</div>
)} )}
{renderCustomExecuteNode && executeItemNode ? ( {renderCustomExecuteNode && executeItemNode ? (
executeItemNode executeItemNode
) : data?.queryMode === 'PLAIN_TEXT' ? (
data?.textResult
) : data?.queryMode === 'WEB_PAGE' ? ( ) : data?.queryMode === 'WEB_PAGE' ? (
<WebPage id={queryId!} data={data} /> <WebPage id={queryId!} data={data} />
) : ( ) : (

View File

@@ -61,10 +61,18 @@ const ParseTip: React.FC<Props> = ({
<CheckCircleFilled className={`${prefixCls}-step-icon`} /> <CheckCircleFilled className={`${prefixCls}-step-icon`} />
<div className={`${prefixCls}-step-title`}> <div className={`${prefixCls}-step-title`}>
{tipTitle} {tipTitle}
{!tipNode && <Loading />} {tipNode === undefined && <Loading />}
</div> </div>
</div> </div>
{tipNode && <div className={`${prefixCls}-content-container`}>{tipNode}</div>} {(tipNode || tipNode === null) && (
<div
className={`${prefixCls}-content-container ${
tipNode === null ? `${prefixCls}-empty-content-container` : ''
}`}
>
{tipNode}
</div>
)}
</div> </div>
); );
}; };
@@ -310,7 +318,7 @@ const ParseTip: React.FC<Props> = ({
</div> </div>
)} )}
</div>, </div>,
isSimpleMode ? <MarkDown markdown={textInfo} /> : tipNode isSimpleMode ? <MarkDown markdown={textInfo} /> : queryMode === 'PLAIN_TEXT' ? null : tipNode
); );
}; };

View File

@@ -320,7 +320,6 @@ const ChatItem: React.FC<Props> = ({
)} )}
<div className={isMobile ? `${prefixCls}-mobile-msg-card` : `${prefixCls}-msg-card`}> <div className={isMobile ? `${prefixCls}-mobile-msg-card` : `${prefixCls}-msg-card`}>
<div className={contentClass}> <div className={contentClass}>
{parseInfo?.queryMode !== 'PLAIN_TEXT' && (
<ParseTip <ParseTip
isSimpleMode={isSimpleMode} isSimpleMode={isSimpleMode}
parseLoading={parseLoading} parseLoading={parseLoading}
@@ -340,7 +339,6 @@ const ChatItem: React.FC<Props> = ({
onDateInfoChange={onDateInfoChange} onDateInfoChange={onDateInfoChange}
onRefresh={onRefresh} onRefresh={onRefresh}
/> />
)}
{executeMode && ( {executeMode && (
<> <>
{!isMobile && parseInfo?.sqlInfo && isDeveloper && !isSimpleMode && ( {!isMobile && parseInfo?.sqlInfo && isDeveloper && !isSimpleMode && (
@@ -380,7 +378,8 @@ const ChatItem: React.FC<Props> = ({
/> />
)} )}
</div> </div>
{(parseTip !== '' || (executeMode && !executeLoading)) && ( {(parseTip !== '' || (executeMode && !executeLoading)) &&
parseInfo?.queryMode !== 'PLAIN_TEXT' && (
<Tools queryId={parseInfo?.queryId || 0} scoreValue={score} /> <Tools queryId={parseInfo?.queryId || 0} scoreValue={score} />
)} )}
</div> </div>

View File

@@ -168,6 +168,10 @@
padding-bottom: 10px; padding-bottom: 10px;
} }
&-empty-content-container {
padding-bottom: 0;
}
&-auth-tip { &-auth-tip {
font-size: 13px; font-size: 13px;
color: var(--text-color-secondary); color: var(--text-color-secondary);