feat: 可配置站点 URL 风格

- 新增 urlStyle 工具与测试:postPath/userPath/sitePagePath 统一生成链接
- 管理端新增 UrlStylePanel 设置面板,settings 服务与 handler 适配
- 全站路由链接与 JSON-LD/sitemap 切换为统一 URL 生成
- middleware 与相关组件适配
This commit is contained in:
2026-09-27 04:01:42 +08:00
parent 1d862a0dd3
commit 7a44c1f2cf
64 changed files with 1183 additions and 200 deletions

View File

@@ -1,7 +1,8 @@
import { cookies } from "next/headers";
import { redirect } from "next/navigation";
import { authCookieHeader } from "@/lib/cookies";
import { getMeCached } from "@/lib/serverData";
import { getMeCached, getPublicSettingsCached } from "@/lib/serverData";
import { userPath } from "@/lib/urlStyle";
// /settings 已融合到用户主页 /u/[id]?tab=settings
// 未登录跳登录页,登录后跳自己的主页 settings tab
@@ -11,5 +12,6 @@ export default async function SettingsRedirect() {
if (!me.user) {
redirect(`/login?redirect=${encodeURIComponent(`/settings`)}`);
}
redirect(`/u/${me.user.id}?tab=settings`);
const urlStyle = (await getPublicSettingsCached()).url_style;
redirect(`${userPath(urlStyle, me.user.id)}?tab=settings`);
}