fix(dashboard): fix vuetify theme deprecation, sse cors, and update i18n texts

This commit is contained in:
LIghtJUNction
2026-04-04 18:51:13 +08:00
parent 0b07409016
commit 4588543364
9 changed files with 126 additions and 133 deletions

View File

@@ -140,7 +140,7 @@ export default {
Authorization: token ? `Bearer ${token}` : "",
},
heartbeatTimeout: 300000,
withCredentials: true,
});
this.eventSource.onopen = () => {
@@ -352,7 +352,7 @@ export default {
}
.fullscreen-btn {
color: rgba(255, 255, 255, 0.7) !important; /* 提高在深色背景下的对比度 */
color: rgba(var(--v-theme-on-surface), 0.7) !important;
}
:deep(.console-log-line) {

View File

@@ -10,7 +10,8 @@
"theme": {
"light": "Light Mode",
"dark": "Dark Mode"
}
},
"logout": "Logout"
},
"updateDialog": {
"title": "Update AstrBot",
@@ -90,7 +91,7 @@
"passwordHint": "At least 12 characters, including uppercase, lowercase letters, and digits",
"confirmPasswordHint": "Please enter new password again to confirm",
"usernameHint": "Leave blank to keep current username",
"defaultCredentials": "The default username and password are astrbot. Please change them immediately after logging in to ensure security."
"defaultCredentials": "The first user to log in automatically becomes the administrator. Passwords can be reset via the CLI tool if forgotten."
},
"validation": {
"passwordRequired": "Please enter password",

View File

@@ -2,7 +2,7 @@
"login": "Login",
"username": "Username",
"password": "Password",
"defaultHint": "Default credentials: astrbot / astrbot",
"defaultHint": "The first user to log in automatically becomes the administrator. Passwords can be reset via the CLI tool if forgotten.",
"autoTheme": "Auto switch theme",
"addPreset": "Add preset",
"shareLink": "Share config link",

View File

@@ -1,112 +1,113 @@
{
"logoTitle": "Панель управления AstrBot",
"version": {
"hasNewVersion": "Доступна новая версия AstrBot!",
"dashboardHasNewVersion": "Доступна новая версия WebUI!"
"logoTitle": "Панель управления AstrBot",
"version": {
"hasNewVersion": "Доступна новая версия AstrBot!",
"dashboardHasNewVersion": "Доступна новая версия WebUI!"
},
"buttons": {
"update": "Обновить",
"account": "Аккаунт",
"theme": {
"light": "Светлая тема",
"dark": "Темная тема"
},
"buttons": {
"update": "Обновить",
"account": "Аккаунт",
"theme": {
"light": "Светлая тема",
"dark": "Темная тема"
}
"logout": "Выйти"
},
"updateDialog": {
"title": "Обновить AstrBot",
"currentVersion": "Текущая версия",
"status": {
"checking": "Проверка обновлений...",
"switching": "Переключение версии...",
"updating": "Обновление..."
},
"updateDialog": {
"title": "Обновить AstrBot",
"currentVersion": "Текущая версия",
"status": {
"checking": "Проверка обновлений...",
"switching": "Переключение версии...",
"updating": "Обновление..."
},
"tabs": {
"release": "😊 Релиз"
},
"updateToLatest": "Обновить до последней версии",
"preRelease": "Предварительная версия",
"preReleaseWarning": {
"title": "Внимание: предварительная версия",
"description": "Версии с меткой Pre-release могут содержать неизвестные ошибки. Не рекомендуется использовать в рабочих средах. Если вы обнаружили ошибку, пожалуйста, сообщите о ней в ",
"issueLink": "GitHub Issues"
},
"tip": "💡 ПОДСКАЗКА: ",
"tipContinue": "По умолчанию при переключении версии загружаются соответствующие файлы WebUI. Код WebUI находится в директории dashboard, вы можете собрать его самостоятельно с помощью npm.",
"dockerTip": "При переключении версии будет предпринята попытка обновить как основной процесс бота, так и панель управления. Если вы используете Docker, вы также можете обновить образ или использовать",
"dockerTipLink": "watchtower",
"dockerTipContinue": "для автоматического мониторинга и обновления.",
"table": {
"tag": "Тег",
"publishDate": "Дата публикации",
"content": "Содержание",
"sourceUrl": "Исходный код",
"actions": "Действия",
"view": "Просмотр",
"switch": "Переключить"
},
"releaseNotes": {
"title": "Журнал изменений"
},
"redirectConfirm": {
"title": "Переход по ссылке",
"message": "Вы будете перенаправлены на страницу GitHub Releases. Продолжить?",
"latestLabel": "Последняя версия",
"targetVersion": "Целевая версия:",
"currentVersion": "Текущая версия:",
"guideTitle": "Рекомендации после перехода:",
"guideStep1": "Загрузите пакет, соответствующий архитектуре вашей системы.",
"guideStep2": "После завершения установки перезапустите AstrBot.",
"guideStep3": "Если вы используете Docker, отдайте приоритет обновлению через образ."
},
"desktopApp": {
"title": "Обновить десктопное приложение",
"message": "Проверка и обновление десктопной версии AstrBot.",
"currentVersion": "Текущая версия:",
"latestVersion": "Последняя версия:",
"checking": "Проверка обновлений десктопного приложения...",
"hasNewVersion": "Найдена новая версия. Нажмите для подтверждения обновления.",
"isLatest": "Установлена последняя версия",
"installing": "Загрузка и установка обновления... Приложение будет перезапущено автоматически.",
"checkFailed": "Ошибка проверки обновлений. Попробуйте позже.",
"installFailed": "Ошибка обновления. Попробуйте позже."
},
"dashboardUpdate": {
"title": "Обновить только панель управления",
"currentVersion": "Текущая версия",
"hasNewVersion": "Доступна новая версия!",
"isLatest": "Установлена последняя версия.",
"downloadAndUpdate": "Скачать и обновить"
}
"tabs": {
"release": "😊 Релиз"
},
"accountDialog": {
"title": "Изменить аккаунт",
"securityWarning": "Безопасность: Пожалуйста, смените пароль для защиты аккаунта",
"securityWarningLegacy": "Новая версия AstrBot улучшила безопасность. Пожалуйста, измените пароль.",
"form": {
"currentPassword": "Текущий пароль",
"newPassword": "Новый пароль",
"confirmPassword": "Подтвердите новый пароль",
"newUsername": "Новое имя пользователя (опционально)",
"passwordHint": "Не менее 12 символов, включая заглавные и строчные буквы, а также цифры",
"confirmPasswordHint": "Введите новый пароль еще раз",
"usernameHint": "Оставьте пустым, если не хотите менять имя пользователя",
"defaultCredentials": "Имя пользователя и пароль по умолчанию — astrbot. Пожалуйста, измените их сразу после входа для обеспечения безопасности."
},
"validation": {
"passwordRequired": "Введите пароль",
"passwordMinLength": "Пароль должен быть не менее 12 символов",
"passwordUppercase": "Пароль должен содержать хотя бы одну заглавную букву",
"passwordLowercase": ароль должен содержать хотя бы одну строчную букву",
"passwordDigit": "Пароль должен содержать хотя бы одну цифру",
"passwordMatch": "Паролы не совпадают",
"usernameMinLength": "Имя пользователя должно быть не менее 3 символов"
},
"actions": {
"save": "Сохранить изменения",
"cancel": "Отмена"
},
"messages": {
"updateFailed": "Ошибка обновления, попробуйте еще раз"
}
"updateToLatest": "Обновить до последней версии",
"preRelease": "Предварительная версия",
"preReleaseWarning": {
"title": "Внимание: предварительная версия",
"description": "Версии с меткой Pre-release могут содержать неизвестные ошибки. Не рекомендуется использовать в рабочих средах. Если вы обнаружили ошибку, пожалуйста, сообщите о ней в ",
"issueLink": "GitHub Issues"
},
"tip": "💡 ПОДСКАЗКА: ",
"tipContinue": "По умолчанию при переключении версии загружаются соответствующие файлы WebUI. Код WebUI находится в директории dashboard, вы можете собрать его самостоятельно с помощью npm.",
"dockerTip": "При переключении версии будет предпринята попытка обновить как основной процесс бота, так и панель управления. Если вы используете Docker, вы также можете обновить образ или использовать",
"dockerTipLink": "watchtower",
"dockerTipContinue": "для автоматического мониторинга и обновления.",
"table": {
"tag": "Тег",
"publishDate": "Дата публикации",
"content": "Содержание",
"sourceUrl": "Исходный код",
"actions": "Действия",
"view": "Просмотр",
"switch": "Переключить"
},
"releaseNotes": {
"title": "Журнал изменений"
},
"redirectConfirm": {
"title": "Переход по ссылке",
"message": "Вы будете перенаправлены на страницу GitHub Releases. Продолжить?",
"latestLabel": "Последняя версия",
"targetVersion": "Целевая версия:",
"currentVersion": "Текущая версия:",
"guideTitle": "Рекомендации после перехода:",
"guideStep1": "Загрузите пакет, соответствующий архитектуре вашей системы.",
"guideStep2": "После завершения установки перезапустите AstrBot.",
"guideStep3": "Если вы используете Docker, отдайте приоритет обновлению через образ."
},
"desktopApp": {
"title": "Обновить десктопное приложение",
"message": "Проверка и обновление десктопной версии AstrBot.",
"currentVersion": "Текущая версия:",
"latestVersion": "Последняя версия:",
"checking": "Проверка обновлений десктопного приложения...",
"hasNewVersion": "Найдена новая версия. Нажмите для подтверждения обновления.",
"isLatest": "Установлена последняя версия",
"installing": "Загрузка и установка обновления... Приложение будет перезапущено автоматически.",
"checkFailed": "Ошибка проверки обновлений. Попробуйте позже.",
"installFailed": "Ошибка обновления. Попробуйте позже."
},
"dashboardUpdate": {
"title": "Обновить только панель управления",
"currentVersion": "Текущая версия",
"hasNewVersion": "Доступна новая версия!",
"isLatest": "Установлена последняя версия.",
"downloadAndUpdate": "Скачать и обновить"
}
},
"accountDialog": {
"title": "Изменить аккаунт",
"securityWarning": "Безопасность: Пожалуйста, смените пароль для защиты аккаунта",
"securityWarningLegacy": "Новая версия AstrBot улучшила безопасность. Пожалуйста, измените пароль.",
"form": {
"currentPassword": "Текущий пароль",
"newPassword": "Новый пароль",
"confirmPassword": "Подтвердите новый пароль",
"newUsername": "Новое имя пользователя (опционально)",
"passwordHint": "Не менее 12 символов, включая заглавные и строчные буквы, а также цифры",
"confirmPasswordHint": "Введите новый пароль еще раз",
"usernameHint": "Оставьте пустым, если не хотите менять имя пользователя",
"defaultCredentials": "Первый вошедший пользователь автоматически становится администратором. Пароль можно сбросить через командную строку."
},
"validation": {
"passwordRequired": "Введите пароль",
"passwordMinLength": "Пароль должен быть не менее 12 символов",
"passwordUppercase": "Пароль должен содержать хотя бы одну заглавную букву",
"passwordLowercase": "Пароль должен содержать хотя бы одну строчную букву",
"passwordDigit": "Пароль должен содержать хотя бы одну цифру",
"passwordMatch": "Паролы не совпадают",
"usernameMinLength": "Имя пользователя должно быть не менее 3 символов"
},
"actions": {
"save": "Сохранить изменения",
"cancel": "Отмена"
},
"messages": {
"updateFailed": "Ошибка обновления, попробуйте еще раз"
}
}
}

View File

@@ -2,7 +2,7 @@
"login": "Вход",
"username": "Имя пользователя",
"password": "Пароль",
"defaultHint": "Учетные данные по умолчанию: astrbot / astrbot",
"defaultHint": "Первый вошедший пользователь автоматически становится администратором. Пароль можно сбросить через командную строку.",
"autoTheme": "Автоматическая смена темы",
"addPreset": "Добавить пресет",
"shareLink": "Поделиться ссылкой",

View File

@@ -2,7 +2,7 @@
"logoTitle": "AstrBot 仪表盘",
"version": {
"hasNewVersion": "AstrBot 有新版本!",
"dashboardHasNewVersion": "WebUI 有新版本!"
"dashboardHasNewVersion": "AstrBot 面板有新版本!"
},
"buttons": {
"update": "更新",
@@ -10,7 +10,8 @@
"theme": {
"light": "浅色模式",
"dark": "深色模式"
}
},
"logout": "退出登录"
},
"updateDialog": {
"title": "更新 AstrBot",
@@ -31,7 +32,7 @@
"issueLink": "GitHub Issues"
},
"tip": "💡 TIP: ",
"tipContinue": "默认在切换版本时会下载对应版本的 WebUI 文件。WebUI 代码位于项目的 dashboard 目录,您可使用 npm 自行构建。",
"tipContinue": "默认在切换版本时会下载对应版本的面板文件。面板代码位于项目的 dashboard 目录,您可使用 npm 自行构建。",
"dockerTip": "切换版本时,会同时尝试更新机器人主程序和管理面板。如果您正在使用 Docker 部署,也可以重新拉取镜像或者使用",
"dockerTipLink": "watchtower",
"dockerTipContinue": "来自动监控拉取。",
@@ -90,7 +91,7 @@
"passwordHint": "长度至少 12 位,且包含大写字母、小写字母和数字",
"confirmPasswordHint": "请再次输入新密码以确认",
"usernameHint": "留空表示不修改用户名",
"defaultCredentials": "默认用户名和密码为 astrbot请在登录后立即修改以确保安全。"
"defaultCredentials": "首次登录的用户将自动成为管理员。如需修改或重置密码,请使用终端命令行工具。"
},
"validation": {
"passwordRequired": "请输入密码",

View File

@@ -2,7 +2,7 @@
"login": "登录",
"username": "用户名",
"password": "密码",
"defaultHint": "默认用户名和密码为 astrbot请在登录后立即修改以确保安全。",
"defaultHint": "首次登录的用户将自动成为管理员。如需修改或重置密码,请使用终端命令行工具。",
"autoTheme": "自动切换主题",
"addPreset": "添加预设",
"shareLink": "分享配置链接",
@@ -11,7 +11,7 @@
"linkCopied": "链接已复制到剪贴板",
"linkCopyFailed": "复制链接失败",
"logo": {
"title": "AstrBot WebUI",
"title": "AstrBot 面板",
"subtitle": "欢迎使用"
},
"theme": {

View File

@@ -165,8 +165,8 @@
"description": "沙箱环境驱动器"
},
"bwrap_rw_binds": {
"description": "Bubblewrap 额外读写挂载目录",
"hint": "Bubblewrap 沙箱额外的读写挂载目录(回车添加,可添加多个。默认 /tmp, /var/tmp 已经是读写。"
"description": "Bubblewrap 读写挂载目录",
"hint": "额外的读写挂载目录(回车添加,可添加多个。默认 /tmp, /var/tmp 已经是读写,整个宿主机系统默认是只读挂载于沙箱内的相同位置)。"
},
"bwrap_ro_binds": {
"description": "Bubblewrap 额外只读挂载目录",
@@ -203,10 +203,6 @@
"shipyard_max_sessions": {
"description": "Shipyard Ship 会话复用上限",
"hint": "决定了一个实例承载的最大会话数量。"
},
"bwrap_rw_binds": {
"description": "Bubblewrap 读写挂载目录",
"hint": "额外的读写挂载目录(回车添加,可添加多个。默认 /tmp, /var/tmp 已经是读写,整个宿主机系统默认是只读挂载于沙箱内的相同位置)。"
}
}
}
@@ -1044,8 +1040,8 @@
"dashboard": {
"ssl": {
"enable": {
"description": "启用 WebUI HTTPS",
"hint": "启用后,WebUI 将直接使用 HTTPS 提供服务。"
"description": "启用 AstrBot 面板 HTTPS",
"hint": "启用后,AstrBot 面板 将直接使用 HTTPS 提供服务。"
},
"cert_file": {
"description": "SSL 证书文件路径",

View File

@@ -47,13 +47,7 @@ async function mountApp(app: any, pinia: any, waitForRouter = true) {
// 挂载后同步 Vuetify 主题
const customizer = useCustomizerStore(pinia);
// @ts-ignore
if (typeof vuetify.theme.change === "function") {
// @ts-ignore
vuetify.theme.change(customizer.uiTheme);
} else {
vuetify.theme.global.name.value = customizer.uiTheme;
}
vuetify.theme.change(customizer.uiTheme);
const storedPrimary = localStorage.getItem("themePrimary");
const storedSecondary = localStorage.getItem("themeSecondary");
if (storedPrimary || storedSecondary) {