Commit 6c761774 by Liu

fix:增加通用模式

parent 174e2c1e
This diff was suppressed by a .gitattributes entry.
......@@ -6,6 +6,7 @@ import { LoginModal } from '../LoginModal'
import type { RootState } from '@/store'
import SendIcon from '@/assets/svg/send.svg?react'
import efficiencyIcon from '@/assets/efficiency-icon.png'
import generalIcon from '@/assets/general-icon.png'
import { type WithAuthProps, withAuth } from '@/auth/withAuth'
import { useAppSelector } from '@/store/hook'
import { fetchToolList } from '@/api/home'
......@@ -30,7 +31,7 @@ const ChatEditorBase: React.FC<ChatEditorProps & WithAuthProps> = ({ checkAuth,
const isAsking = useAppSelector((state: RootState) => state.chat.isAsking)
const [toolList, setToolList] = useState<any[]>([])
const [selectedToolId, setSelectedToolId] = useState<string | null>(null)
const [isToolBtnActive, setIsToolBtnActive] = useState<boolean>(false)
const [isToolBtnActive, setIsToolBtnActive] = useState<boolean>(true)
// 获取工具列表
const getToolList = async () => {
......@@ -111,8 +112,8 @@ const ChatEditorBase: React.FC<ChatEditorProps & WithAuthProps> = ({ checkAuth,
document.execCommand('insertText', false, text)
}
// 处理工具按钮点击
const handleToolClick = () => {
// 处理提质增效按钮点击
const handleEfficiencyClick = () => {
// 查找"提质增效"工具
const efficiencyTool = toolList.find((tool: any) => tool.toolName === '提质增效')
let currentToolId = null
......@@ -127,11 +128,18 @@ const ChatEditorBase: React.FC<ChatEditorProps & WithAuthProps> = ({ checkAuth,
currentToolId = toolList[0].toolId
}
}
// 切换工具按钮状态
const newToolBtnState = !isToolBtnActive
setIsToolBtnActive(newToolBtnState)
// 调用父组件的回调函数,传递切换后的状态和工具ID
onToolClick?.(newToolBtnState, currentToolId)
// 切换到工具模式(false 表示工具模式,会切换左侧展示)
setIsToolBtnActive(false)
// 调用父组件的回调函数,传递工具模式状态和工具ID
onToolClick?.(false, currentToolId)
}
// 处理通用模式按钮点击
const handleGeneralClick = () => {
// 切换到通用模式(true 表示通用模式,恢复默认不切换左侧)
setIsToolBtnActive(true)
// 调用父组件的回调函数,传递通用模式状态和工具ID
onToolClick?.(false, undefined)
}
useEffect(() => {
......@@ -146,10 +154,6 @@ const ChatEditorBase: React.FC<ChatEditorProps & WithAuthProps> = ({ checkAuth,
clearInterval(intervalRef.current)
}
document.removeEventListener('visibilitychange', handleVisibilityChange)
// console.log(isAsking, 'isAskingisAsking')
// if (isAsking) {
// dispatch(setIsAsking(false))
// }
}
}, [content])
......@@ -250,17 +254,30 @@ const ChatEditorBase: React.FC<ChatEditorProps & WithAuthProps> = ({ checkAuth,
</Button> */}
<Button
className={`w-[96px] h-[32px] px-3 rounded-full shadow-none text-[12px] transition-all duration-200 ${
isToolBtnActive
!isToolBtnActive
? 'bg-[#F3F7FF] border-[#F3F7FF] text-[#165DFF]'
: 'bg-white border border-[#E6E8EB] text-[#111827]'
}`}
radius="full"
variant="bordered"
startContent={<img src={efficiencyIcon} alt="提质增效" className="w-5 h-5" />}
onPress={handleToolClick}
onPress={handleEfficiencyClick}
>
提质增效
</Button>
<Button
className={`w-[96px] h-[32px] px-3 rounded-full shadow-none text-[12px] transition-all duration-200 ${
isToolBtnActive
? 'bg-[#F3F7FF] border-[#F3F7FF] text-[#165DFF]'
: 'bg-white border border-[#E6E8EB] text-[#111827]'
}`}
radius="full"
variant="bordered"
startContent={<img src={generalIcon} alt="通用模式" className="w-5 h-5" />}
onPress={handleGeneralClick}
>
通用模式
</Button>
</div>
<LoginModal onClose={handleCloseLoginModal} isOpen={isOpenLoginModal} />
</div>
......
......@@ -85,7 +85,7 @@ export const Home: React.FC = () => {
// 可以在这里添加错误处理逻辑
console.error('Failed to fetch chat records:', error)
}
finally {
finally {
setIsLoading(false)
setIsDataLoaded(true)
}
......@@ -112,8 +112,8 @@ export const Home: React.FC = () => {
// 处理工具按钮点击
const _handleToolClick = useCallback(async (isToolBtn: boolean, toolId?: string) => {
if (isToolBtn && toolId) {
// 当isToolBtn为true时,替换configType为07的数据
if (!isToolBtn && toolId) {
// 提质增效模式:只修改左侧页面内容,加载工具相关问题
// 先清空数据,确保显示空数据样式
setOtherQuestions((prev: any) => ({
...prev,
......@@ -136,8 +136,8 @@ export const Home: React.FC = () => {
setIsDataLoaded(true) // 无论成功失败都标记为已加载
}
}
else if (!isToolBtn) {
// 当isToolBtn为false时,恢复原始的configType为07的数据
else if (isToolBtn) {
// 通用模式:恢复刷新时的状态,包括左侧内容也要恢复到初始状态
setOtherQuestions(originalOtherQuestions)
setIsDataLoaded(true) // 恢复原始数据时标记为已加载
}
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment