feat(ui): add classic frontend switch
Some checks failed
Publish Docker image (Multi-arch) / Build & push (amd64) (push) Has been cancelled
Publish Docker image (Multi-arch) / Build & push (arm64) (push) Has been cancelled
Publish Docker image (Multi-arch) / Create multi-arch manifests (push) Has been cancelled
Release (Linux, macOS, Windows) / Linux Release (push) Has been cancelled
Release (Linux, macOS, Windows) / macOS Release (push) Has been cancelled
Release (Linux, macOS, Windows) / Windows Release (push) Has been cancelled

This commit is contained in:
CaIon 2026-04-30 20:36:46 +08:00
parent 938dc9522b
commit dac55f0fde
No known key found for this signature in database
GPG Key ID: 0CFA613529A9921D
9 changed files with 86 additions and 0 deletions

View File

@ -82,6 +82,7 @@ const OtherSetting = () => {
About: false,
Footer: false,
CheckUpdate: false,
FrontendTheme: false,
});
const handleInputChange = async (value, e) => {
const name = e.target.id;
@ -278,6 +279,45 @@ const OtherSetting = () => {
}));
}
};
const switchToDefaultFrontend = () => {
Modal.confirm({
title: t('切换到新版前端'),
content: t('切换后页面会自动刷新,并进入新版前端。是否继续?'),
okText: t('确认切换'),
cancelText: t('取消'),
onOk: async () => {
try {
setLoadingInput((loadingInput) => ({
...loadingInput,
FrontendTheme: true,
}));
const res = await API.put('/api/option/', {
key: 'theme.frontend',
value: 'default',
});
const { success, message } = res.data;
if (!success) {
showError(message);
return;
}
showSuccess(t('已切换到新版前端,正在刷新页面'));
setTimeout(() => {
window.location.reload();
}, 600);
} catch (error) {
console.error('切换新版前端失败', error);
showError(t('切换失败,请稍后重试'));
} finally {
setLoadingInput((loadingInput) => ({
...loadingInput,
FrontendTheme: false,
}));
}
},
});
};
const getOptions = async () => {
const res = await API.get('/api/option/');
const { success, message, data } = res.data;
@ -342,6 +382,12 @@ const OtherSetting = () => {
>
{t('检查更新')}
</Button>
<Button
onClick={switchToDefaultFrontend}
loading={loadingInput['FrontendTheme']}
>
{t('切换到新版前端')}
</Button>
</Space>
</Col>
</Row>

View File

@ -928,6 +928,9 @@
"取消": "Cancel",
"取消全选": "Deselect all",
"取消选择": "Deselect",
"切换到新版前端": "Switch to new frontend",
"切换后页面会自动刷新,并进入新版前端。是否继续?": "The page will refresh and open the new frontend. Continue?",
"切换失败,请稍后重试": "Switch failed, please try again later",
"变换": "Transform",
"变更": "Change",
"变焦": "zoom",
@ -1357,6 +1360,7 @@
"已发起支付": "Payment initiated",
"已发送到 Fluent": "Sent to Fluent",
"已取消 Passkey 注册": "Passkey registration cancelled",
"已切换到新版前端,正在刷新页面": "Switched to the new frontend, refreshing page",
"已同步到渠道": "Synced to Channel",
"已启用": "Enabled",
"已启用 Passkey无需密码即可登录": "Passkey enabled, login without password",
@ -2525,6 +2529,7 @@
"确认删除该规则?": "Confirm delete this rule?",
"确认取消密码登录": "Confirm cancel password login",
"确认启用": "Confirm Enable",
"确认切换": "Confirm switch",
"确认密码": "Confirm Password",
"确认导入配置": "Confirm import configuration",
"确认延长": "Confirm Extension",

View File

@ -926,6 +926,9 @@
"取消": "Annuler",
"取消全选": "Annuler la sélection",
"取消选择": "Deselect",
"切换到新版前端": "Passer au nouveau frontend",
"切换后页面会自动刷新,并进入新版前端。是否继续?": "La page sera actualisée et ouvrira le nouveau frontend. Continuer ?",
"切换失败,请稍后重试": "Le changement a échoué, veuillez réessayer plus tard",
"变换": "Variation",
"变更": "Modification",
"变焦": "Zoom",
@ -1358,6 +1361,7 @@
"已发起支付": "Paiement initié",
"已发送到 Fluent": "Envoyé à Fluent",
"已取消 Passkey 注册": "Enregistrement du Passkey annulé",
"已切换到新版前端,正在刷新页面": "Passage au nouveau frontend effectué, actualisation de la page",
"已同步到渠道": "Synced to Channel",
"已启用": "Activé",
"已启用 Passkey无需密码即可登录": "Passkey activé. Connexion sans mot de passe disponible.",
@ -2513,6 +2517,7 @@
"确认删除该规则?": "Confirm delete this rule?",
"确认取消密码登录": "Confirmer l'annulation de la connexion par mot de passe",
"确认启用": "Confirmer l'activation",
"确认切换": "Confirmer le changement",
"确认密码": "Confirmer le mot de passe",
"确认导入配置": "Confirmer l'importation de la configuration",
"确认延长": "Confirm Extension",

View File

@ -913,6 +913,9 @@
"取消": "キャンセル",
"取消全选": "すべての選択を解除",
"取消选择": "Deselect",
"切换到新版前端": "新しいフロントエンドに切り替え",
"切换后页面会自动刷新,并进入新版前端。是否继续?": "ページを更新して新しいフロントエンドを開きます。続行しますか?",
"切换失败,请稍后重试": "切り替えに失敗しました。しばらくしてからもう一度お試しください",
"变换": "バリエーション",
"变更": "変更",
"变焦": "ズーム",
@ -1337,6 +1340,7 @@
"已发起支付": "支払いを開始しました",
"已发送到 Fluent": "Fluentに送信されました",
"已取消 Passkey 注册": "Passkeyの登録がキャンセルされました",
"已切换到新版前端,正在刷新页面": "新しいフロントエンドに切り替えました。ページを更新しています",
"已同步到渠道": "Synced to Channel",
"已启用": "有効",
"已启用 Passkey无需密码即可登录": "Passkeyが有効になり、パスワードなしでログインできます",
@ -2482,6 +2486,7 @@
"确认删除该规则?": "このルールを削除しますか?",
"确认取消密码登录": "パスワードログイン無効化の確認",
"确认启用": "有効化を確認",
"确认切换": "切り替えを確認",
"确认密码": "パスワード(確認用)",
"确认导入配置": "設定インポートの確認",
"确认延长": "Confirm Extension",

View File

@ -934,6 +934,9 @@
"取消": "Отмена",
"取消全选": "Отменить выбор всех",
"取消选择": "Deselect",
"切换到新版前端": "Переключиться на новый интерфейс",
"切换后页面会自动刷新,并进入新版前端。是否继续?": "Страница обновится и откроет новый интерфейс. Продолжить?",
"切换失败,请稍后重试": "Не удалось переключиться, повторите попытку позже",
"变换": "Трансформация",
"变更": "Изменение",
"变焦": "Масштабирование",
@ -1371,6 +1374,7 @@
"已发起支付": "Оплата инициирована",
"已发送到 Fluent": "Отправлено в Fluent",
"已取消 Passkey 注册": "Регистрация Passkey отменена",
"已切换到新版前端,正在刷新页面": "Переключено на новый интерфейс, страница обновляется",
"已同步到渠道": "Synced to Channel",
"已启用": "Включено",
"已启用 Passkey无需密码即可登录": "Passkey включен, вход без пароля",
@ -2533,6 +2537,7 @@
"确认删除该规则?": "Confirm delete this rule?",
"确认取消密码登录": "Подтвердить отмену входа по паролю",
"确认启用": "Подтвердить включение",
"确认切换": "Подтвердить переключение",
"确认密码": "Подтвердить пароль",
"确认导入配置": "Подтвердить импорт конфигурации",
"确认延长": "Confirm Extension",

View File

@ -914,6 +914,9 @@
"取消": "Hủy",
"取消全选": "Bỏ chọn tất cả",
"取消选择": "Deselect",
"切换到新版前端": "Chuyển sang frontend mới",
"切换后页面会自动刷新,并进入新版前端。是否继续?": "Trang sẽ được làm mới và mở frontend mới. Tiếp tục?",
"切换失败,请稍后重试": "Chuyển đổi thất bại, vui lòng thử lại sau",
"变换": "Biến đổi",
"变更": "Thay đổi",
"变焦": "thu phóng",
@ -1338,6 +1341,7 @@
"已发起支付": "Đã khởi tạo thanh toán",
"已发送到 Fluent": "Đã gửi đến Fluent",
"已取消 Passkey 注册": "Đã hủy đăng ký Passkey",
"已切换到新版前端,正在刷新页面": "Đã chuyển sang frontend mới, đang làm mới trang",
"已同步到渠道": "Synced to Channel",
"已启用": "Đã bật",
"已启用 Passkey无需密码即可登录": "Đã bật Passkey, đăng nhập không cần mật khẩu",
@ -2710,6 +2714,7 @@
"确认删除该规则?": "Confirm delete this rule?",
"确认取消密码登录": "Xác nhận hủy đăng nhập mật khẩu",
"确认启用": "Xác nhận bật",
"确认切换": "Xác nhận chuyển đổi",
"确认密码": "Xác nhận mật khẩu",
"确认导入配置": "Xác nhận nhập cấu hình",
"确认延长": "Confirm Extension",

View File

@ -761,6 +761,9 @@
"分组速率配置优先级高于全局速率限制。": "分组速率配置优先级高于全局速率限制。",
"分组速率限制": "分组速率限制",
"分钟": "分钟",
"切换到新版前端": "切换到新版前端",
"切换后页面会自动刷新,并进入新版前端。是否继续?": "切换后页面会自动刷新,并进入新版前端。是否继续?",
"切换失败,请稍后重试": "切换失败,请稍后重试",
"切换为Assistant角色": "切换为Assistant角色",
"切换为System角色": "切换为System角色",
"切换为单密钥模式": "切换为单密钥模式",
@ -1307,6 +1310,7 @@
"已停止批量测试": "已停止批量测试",
"已关闭后续提醒": "已关闭后续提醒",
"已分配内存": "已分配内存",
"已切换到新版前端,正在刷新页面": "已切换到新版前端,正在刷新页面",
"已切换为Assistant角色": "已切换为Assistant角色",
"已切换为System角色": "已切换为System角色",
"已切换至最优倍率视图,每个模型使用其最低倍率分组": "已切换至最优倍率视图,每个模型使用其最低倍率分组",
@ -2482,6 +2486,7 @@
"确认删除该规则?": "确认删除该规则?",
"确认取消密码登录": "确认取消密码登录",
"确认启用": "确认启用",
"确认切换": "确认切换",
"确认密码": "确认密码",
"确认导入配置": "确认导入配置",
"确认延长": "确认延长",

View File

@ -911,6 +911,9 @@
"取消": "取消",
"取消全选": "取消全選",
"取消选择": "取消選擇",
"切换到新版前端": "切換到新版前端",
"切换后页面会自动刷新,并进入新版前端。是否继续?": "切換後頁面會自動重新整理,並進入新版前端。是否繼續?",
"切换失败,请稍后重试": "切換失敗,請稍後重試",
"变换": "變換",
"变更": "變更",
"变焦": "變焦",
@ -1334,6 +1337,7 @@
"已发起支付": "已發起支付",
"已发送到 Fluent": "已發送到 Fluent",
"已取消 Passkey 注册": "已取消 Passkey 註冊",
"已切换到新版前端,正在刷新页面": "已切換到新版前端,正在重新整理頁面",
"已同步到渠道": "已同步到管道",
"已启用": "已啟用",
"已启用 Passkey无需密码即可登录": "已啟用 Passkey無需密碼即可登錄",
@ -2492,6 +2496,7 @@
"确认删除该规则?": "確認刪除該規則?",
"确认取消密码登录": "確認取消密碼登錄",
"确认启用": "",
"确认切换": "確認切換",
"确认密码": "確認密碼",
"确认导入配置": "確認導入設定",
"确认延长": "確認延長",

View File

@ -617,6 +617,9 @@
"取消": "取消",
"取消全选": "取消全选",
"取消选择": "取消选择",
"切换到新版前端": "切换到新版前端",
"切换后页面会自动刷新,并进入新版前端。是否继续?": "切换后页面会自动刷新,并进入新版前端。是否继续?",
"切换失败,请稍后重试": "切换失败,请稍后重试",
"变换": "变换",
"变焦": "变焦",
"变量值": "变量值",
@ -903,6 +906,7 @@
"已删除消息及其回复": "已删除消息及其回复",
"已发送到 Fluent": "已发送到 Fluent",
"已取消 Passkey 注册": "已取消 Passkey 注册",
"已切换到新版前端,正在刷新页面": "已切换到新版前端,正在刷新页面",
"已同步到渠道": "已同步到渠道",
"已启用": "已启用",
"已启用 Passkey无需密码即可登录": "已启用 Passkey无需密码即可登录",
@ -1729,6 +1733,7 @@
"确认删除": "确认删除",
"确认删除模型": "确认删除模型",
"确认取消密码登录": "确认取消密码登录",
"确认切换": "确认切换",
"确认密码": "确认密码",
"确认导入配置": "确认导入配置",
"确认延长": "确认延长",