feat: 支持动态修改管理后台站点标题

- 从本地存储读取自定义标题,替代硬编码默认标题
- 在布局组件中提供更新标题的方法并注入到设置页面
- 修改站点标题时同步更新本地存储和页面标题
This commit is contained in:
anghunk
2026-02-05 16:18:10 +08:00
parent 5a0ecdaa91
commit 2a8d73dff9
3 changed files with 26 additions and 5 deletions

View File

@@ -179,6 +179,7 @@ import packageJson from "../../../package.json";
const DOMAIN_STORAGE_KEY = "cwd_admin_domain_filter";
const API_BASE_URL_KEY = "cwd_admin_api_base_url";
const SITE_TITLE_KEY = "cwd_admin_site_title";
const router = useRouter();
const route = useRoute();
@@ -191,7 +192,7 @@ const apiVersion = ref("");
const checkedApiBaseUrl = ref("");
const apiVersionError = ref("");
const versionModalVisible = ref(false);
const layoutTitle = ref("CWD 评论系统");
const layoutTitle = ref(localStorage.getItem(SITE_TITLE_KEY) || "CWD 评论系统");
const themeTitle = computed(() => {
if (theme.value === "light") return "明亮模式";
@@ -255,16 +256,29 @@ async function loadVersion() {
}
}
function updateTitle(newTitle: string) {
layoutTitle.value = newTitle;
localStorage.setItem(SITE_TITLE_KEY, newTitle);
const pageTitle = route.meta.title;
if (pageTitle) {
document.title = `${pageTitle} - ${newTitle}`;
} else {
document.title = newTitle;
}
}
async function loadDisplaySettings() {
try {
const res = await fetchAdminDisplaySettings();
layoutTitle.value = res.layoutTitle || "CWD 评论系统";
const title = res.layoutTitle || "CWD 评论系统";
updateTitle(title);
} catch {
layoutTitle.value = "CWD 评论系统";
// 忽略错误,保持当前值或默认值
}
}
provide("domainFilter", domainFilter);
provide("updateSiteTitle", updateTitle);
onMounted(() => {
loadDomains();