diff --git a/web/src/components/table/model-pricing/modal/ModelDetailSideSheet.jsx b/web/src/components/table/model-pricing/modal/ModelDetailSideSheet.jsx index e52cd5a..b7af1fe 100644 --- a/web/src/components/table/model-pricing/modal/ModelDetailSideSheet.jsx +++ b/web/src/components/table/model-pricing/modal/ModelDetailSideSheet.jsx @@ -18,8 +18,9 @@ For commercial licensing, please contact support@quantumnous.com */ import React, { useState, useEffect } from 'react'; +import { useNavigate } from 'react-router-dom'; import { SideSheet, Typography, Button } from '@douyinfe/semi-ui'; -import { IconClose } from '@douyinfe/semi-icons'; +import { IconClose, IconPlayCircle } from '@douyinfe/semi-icons'; import { API } from '../../../../helpers'; import { useIsMobile } from '../../../../hooks/common/useIsMobile'; @@ -65,6 +66,15 @@ const ModelDetailSideSheet = ({ channelVideoPriceMap = {}, }) => { const isMobile = useIsMobile(); + const navigate = useNavigate(); + + const handleExperience = () => { + const modelName = modelData?.model_name; + if (modelName) { + navigate(`/console/playground?model=${encodeURIComponent(modelName)}`); + } + }; + /** * channel_id -> 单测/运营展示 DTO(打开详情时按需拉取,不并入 /pricing) */ @@ -121,7 +131,18 @@ const ModelDetailSideSheet = ({ +
+ + +
} bodyStyle={{ padding: '0', diff --git a/web/src/pages/Playground/index.jsx b/web/src/pages/Playground/index.jsx index ae63460..3b0abdb 100644 --- a/web/src/pages/Playground/index.jsx +++ b/web/src/pages/Playground/index.jsx @@ -588,6 +588,10 @@ const Playground = () => { if (searchParams.get('expired')) { Toast.warning(t('登录过期,请重新登录!')); } + const modelParam = searchParams.get('model'); + if (modelParam) { + handleInputChange('model', modelParam); + } }, [searchParams, t]); // Playground 组件无需再监听窗口变化,isMobile 由 useIsMobile Hook 自动更新