Merge remote-tracking branch 'guoruqiang/main' into pr482-merge
# Conflicts: # README.md # web/src/components/HeaderBar.js # web/src/components/SiderBar.js
This commit is contained in:
@@ -64,6 +64,7 @@
|
|||||||
13. 🎵 添加 [Suno API](https://github.com/Suno-API/Suno-API)接口支持,[对接文档](Suno.md)
|
13. 🎵 添加 [Suno API](https://github.com/Suno-API/Suno-API)接口支持,[对接文档](Suno.md)
|
||||||
14. 🔄 支持Rerank模型,目前兼容Cohere和Jina,可接入Dify,[对接文档](Rerank.md)
|
14. 🔄 支持Rerank模型,目前兼容Cohere和Jina,可接入Dify,[对接文档](Rerank.md)
|
||||||
15. ⚡ **[OpenAI Realtime API](https://platform.openai.com/docs/guides/realtime/integration)** - 支持OpenAI的Realtime API,支持Azure渠道
|
15. ⚡ **[OpenAI Realtime API](https://platform.openai.com/docs/guides/realtime/integration)** - 支持OpenAI的Realtime API,支持Azure渠道
|
||||||
|
16. 支持使用路由/chat2link 进入聊天界面
|
||||||
|
|
||||||
## 模型支持
|
## 模型支持
|
||||||
此版本额外支持以下模型:
|
此版本额外支持以下模型:
|
||||||
|
|||||||
@@ -14,6 +14,7 @@ import {
|
|||||||
IconHelpCircle,
|
IconHelpCircle,
|
||||||
IconHome,
|
IconHome,
|
||||||
IconHomeStroked, IconIndentLeft,
|
IconHomeStroked, IconIndentLeft,
|
||||||
|
IconComment,
|
||||||
IconKey, IconMenu,
|
IconKey, IconMenu,
|
||||||
IconNoteMoneyStroked,
|
IconNoteMoneyStroked,
|
||||||
IconPriceTag,
|
IconPriceTag,
|
||||||
@@ -87,12 +88,19 @@ const HeaderBar = () => {
|
|||||||
useEffect(() => {
|
useEffect(() => {
|
||||||
if (theme === 'dark') {
|
if (theme === 'dark') {
|
||||||
document.body.setAttribute('theme-mode', 'dark');
|
document.body.setAttribute('theme-mode', 'dark');
|
||||||
|
} else {
|
||||||
|
document.body.removeAttribute('theme-mode');
|
||||||
|
}
|
||||||
|
// 发送当前主题模式给子页面
|
||||||
|
const iframe = document.querySelector('iframe');
|
||||||
|
if (iframe) {
|
||||||
|
iframe.contentWindow.postMessage({ themeMode: theme }, '*');
|
||||||
}
|
}
|
||||||
|
|
||||||
if (isNewYear) {
|
if (isNewYear) {
|
||||||
console.log('Happy New Year!');
|
console.log('Happy New Year!');
|
||||||
}
|
}
|
||||||
}, []);
|
}, [theme]);
|
||||||
|
|
||||||
useEffect(() => {
|
useEffect(() => {
|
||||||
const handleLanguageChanged = (lng) => {
|
const handleLanguageChanged = (lng) => {
|
||||||
@@ -125,6 +133,7 @@ const HeaderBar = () => {
|
|||||||
pricing: '/pricing',
|
pricing: '/pricing',
|
||||||
detail: '/detail',
|
detail: '/detail',
|
||||||
home: '/',
|
home: '/',
|
||||||
|
chat: '/chat',
|
||||||
};
|
};
|
||||||
return (
|
return (
|
||||||
<div onClick={(e) => {
|
<div onClick={(e) => {
|
||||||
@@ -205,13 +214,13 @@ const HeaderBar = () => {
|
|||||||
position='bottomRight'
|
position='bottomRight'
|
||||||
render={
|
render={
|
||||||
<Dropdown.Menu>
|
<Dropdown.Menu>
|
||||||
<Dropdown.Item
|
<Dropdown.Item
|
||||||
onClick={() => handleLanguageChange('zh')}
|
onClick={() => handleLanguageChange('zh')}
|
||||||
type={currentLang === 'zh' ? 'primary' : 'tertiary'}
|
type={currentLang === 'zh' ? 'primary' : 'tertiary'}
|
||||||
>
|
>
|
||||||
中文
|
中文
|
||||||
</Dropdown.Item>
|
</Dropdown.Item>
|
||||||
<Dropdown.Item
|
<Dropdown.Item
|
||||||
onClick={() => handleLanguageChange('en')}
|
onClick={() => handleLanguageChange('en')}
|
||||||
type={currentLang === 'en' ? 'primary' : 'tertiary'}
|
type={currentLang === 'en' ? 'primary' : 'tertiary'}
|
||||||
>
|
>
|
||||||
@@ -220,8 +229,8 @@ const HeaderBar = () => {
|
|||||||
</Dropdown.Menu>
|
</Dropdown.Menu>
|
||||||
}
|
}
|
||||||
>
|
>
|
||||||
<Nav.Item
|
<Nav.Item
|
||||||
itemKey={'language'}
|
itemKey={'language'}
|
||||||
icon={<IconLanguage />}
|
icon={<IconLanguage />}
|
||||||
/>
|
/>
|
||||||
</Dropdown>
|
</Dropdown>
|
||||||
|
|||||||
@@ -39,6 +39,19 @@ const Home = () => {
|
|||||||
}
|
}
|
||||||
setHomePageContent(content);
|
setHomePageContent(content);
|
||||||
localStorage.setItem('home_page_content', content);
|
localStorage.setItem('home_page_content', content);
|
||||||
|
|
||||||
|
// 如果内容是 URL,则发送主题模式
|
||||||
|
if (data.startsWith('https://')) {
|
||||||
|
const iframe = document.querySelector('iframe');
|
||||||
|
if (iframe) {
|
||||||
|
const theme = localStorage.getItem('theme-mode') || 'light';
|
||||||
|
// 测试是否正确传递theme-mode给iframe
|
||||||
|
// console.log('Sending theme-mode to iframe:', theme);
|
||||||
|
iframe.onload = () => {
|
||||||
|
iframe.contentWindow.postMessage({ themeMode: theme }, '*');
|
||||||
|
};
|
||||||
|
}
|
||||||
|
}
|
||||||
} else {
|
} else {
|
||||||
showError(message);
|
showError(message);
|
||||||
setHomePageContent('加载首页内容失败...');
|
setHomePageContent('加载首页内容失败...');
|
||||||
|
|||||||
Reference in New Issue
Block a user