diff --git a/src/app/layout.tsx b/src/app/layout.tsx
index 42fc323..68e7de7 100644
--- a/src/app/layout.tsx
+++ b/src/app/layout.tsx
@@ -1,31 +1,73 @@
-import type { Metadata } from "next";
-import { Geist, Geist_Mono } from "next/font/google";
-import "./globals.css";
+// app/layout.tsx
 
-const geistSans = Geist({
-  variable: "--font-geist-sans",
-  subsets: ["latin"],
-});
+import type { Metadata } from 'next';
+import { Avatar } from 'primereact/avatar';
+// 页面跳转
+import Link from 'next/link';
+// PrimeReact 依赖
+import { PrimeReactProvider } from 'primereact/api';
+import 'primeicons/primeicons.css';
+import 'primereact/resources/themes/lara-light-teal/theme.css'; // 主题
+// 全局样式
+import './globals.scss'; 
 
-const geistMono = Geist_Mono({
-  variable: "--font-geist-mono",
-  subsets: ["latin"],
-});
-
+//设置标题
 export const metadata: Metadata = {
-  title: "Create Next App",
-  description: "Generated by create next app",
+  title: 'MCPT',
+  description: 'MCPT resource Platform',
 };
 
-export default function RootLayout({
-  children,
-}: Readonly<{
-  children: React.ReactNode;
-}>) {
+// 页首工具栏
+export default function RootLayout({ children }: { children: React.ReactNode }) {
   return (
-    <html lang="en">
-      <body className={`${geistSans.variable} ${geistMono.variable}`}>
-        {children}
+    <html lang="zh">
+      <body>
+        <PrimeReactProvider>
+          <div className="container">
+            <header className="toolbar">
+              <div className="logo-name">
+                <Link href="/" className="no-underline">
+                  <img src="/logo.png" alt="Logo" className="logo" />
+                </Link>
+
+                <span className="name">MCPT</span>
+              </div>
+              <div className="tools">
+                <Link href="/classification" className="no-underline">
+                  <div className="tool-item">
+                    <i className="pi pi-search" />
+                    <span>搜索</span>
+                  </div>
+                </Link>
+
+                <Link href="/community" className="no-underline">
+                  <div className="tool-item">
+                    <i className="pi pi-users" />
+                    <span>社区</span>
+                  </div>
+                </Link>
+
+                <Link href="/classification" className="no-underline">
+                  <div className="tool-item">
+                    <i className="pi pi-tags" />
+                    <span>分类</span>
+                  </div>
+                </Link>
+
+                <Link href="/notification" className="no-underline">
+                  <div className="tool-item">
+                    <i className="pi pi-bell" />
+                    <span>通知</span>
+                  </div>
+                </Link>
+                <Link href="/user" className="no-underline">
+                  <Avatar image="/images/avatar/asiyajavayant.png" size="large" shape="circle" />
+                </Link>
+              </div>
+            </header>
+            <main className="mainContent">{children}</main>
+          </div>
+        </PrimeReactProvider>
       </body>
     </html>
   );
