diff --git a/apps/blogai/app/[locale]/details/[slug]/page.tsx b/apps/blogai/app/[locale]/details/[slug]/page.tsx index 607355f..e2e393f 100644 --- a/apps/blogai/app/[locale]/details/[slug]/page.tsx +++ b/apps/blogai/app/[locale]/details/[slug]/page.tsx @@ -88,6 +88,7 @@ const BlogArticleWrapper = async ({ params }: { params: { slug: string, locale: {/* */} { setLoading(true); setStatusText(source === "icon" ? "正在处理图标操作..." : "正在处理信息操作..."); + try { - await fetch("/api/stub", { + // 从 localStorage 获取用户信息 + const userData = JSON.parse(localStorage.getItem("UserData") || "null"); + + if (!userData || !userData.user_name) { + setStatusText("未登录,正在跳转登录页面..."); + window.location.href = "/login"; + return; + } + + const userName = userData.user_name; + + // 从组件 props 里的 data 中取 id + const id = data?.id; + if (!id) { + setStatusText("数据缺失:找不到组件 ID"); + return; + } + + await fetch("/api/v1/deploy/deploy", { method: "POST", headers: { "Content-Type": "application/json" }, - body: JSON.stringify({ source }) + body: JSON.stringify({ + id, + user_name: userName, + }), }); - + await new Promise((resolve) => setTimeout(resolve, 1000)); setStatusText(`操作成功:来自${source === "icon" ? "图标" : "信息区域"}`); } catch (err) { + console.error("请求出错:", err); setStatusText("操作失败"); } finally { setLoading(false); diff --git a/apps/blogai/lib/mdx-helper.ts b/apps/blogai/lib/mdx-helper.ts index f036a1c..f8d27fa 100644 --- a/apps/blogai/lib/mdx-helper.ts +++ b/apps/blogai/lib/mdx-helper.ts @@ -107,6 +107,7 @@ type Frontmatter = { }; type AIFrontmatter = { + id:string; p_name:string; title: string; date: string; @@ -281,6 +282,7 @@ export const getPostContent = async (language: string, slug: string): Promise