diff --git a/package-lock.json b/package-lock.json
index 49158bf..33a7006 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -13,6 +13,7 @@
         "@tailwindcss/forms": "^0.5.7",
         "antd": "^5.16.1",
         "axios": "^1.6.8",
+        "js-cookie": "^3.0.5",
         "next": "14.1.3",
         "postcss": "8.4.31",
         "react": "^18",
@@ -22,6 +23,7 @@
         "tailwindcss": "3.3.3"
       },
       "devDependencies": {
+        "@types/js-cookie": "^3.0.6",
         "@types/node": "^20",
         "@types/react": "^18",
         "@types/react-big-calendar": "^1.8.9",
@@ -1537,6 +1539,12 @@
       "integrity": "sha512-p9eZ2X9B80iKiTW4ukVj8B4K6q9/+xFtQ5MGYA5HWToY9nL4EkhV9+6ftT2VHpVMEZb5Tv00Iel516bVdO+yRw==",
       "dev": true
     },
+    "node_modules/@types/js-cookie": {
+      "version": "3.0.6",
+      "resolved": "https://registry.npmmirror.com/@types/js-cookie/-/js-cookie-3.0.6.tgz",
+      "integrity": "sha512-wkw9yd1kEXOPnvEeEV1Go1MmxtBJL0RR79aOTAApecWFVu7w0NNXNqhcWgvw2YgZDYadliXkl14pa3WXw5jlCQ==",
+      "dev": true
+    },
     "node_modules/@types/json-schema": {
       "version": "7.0.15",
       "resolved": "https://registry.npmmirror.com/@types/json-schema/-/json-schema-7.0.15.tgz",
@@ -4529,6 +4537,14 @@
       "integrity": "sha512-8wb9Yw966OSxApiCt0K3yNJL8pnNeIv+OEq2YMidz4FKP6nonSRoOXc80iXY4JaN2FC11B9qsNmDsm+ZOfMROA==",
       "dev": true
     },
+    "node_modules/js-cookie": {
+      "version": "3.0.5",
+      "resolved": "https://registry.npmmirror.com/js-cookie/-/js-cookie-3.0.5.tgz",
+      "integrity": "sha512-cEiJEAEoIbWfCZYKWhVwFuvPX1gETRYPw6LlaTKoxD3s2AkXzkCjnp6h0V77ozyqj0jakteJ4YqDJT830+lVGw==",
+      "engines": {
+        "node": ">=14"
+      }
+    },
     "node_modules/js-tokens": {
       "version": "4.0.0",
       "resolved": "https://registry.npmmirror.com/js-tokens/-/js-tokens-4.0.0.tgz",
diff --git a/package.json b/package.json
index 14aa4e2..f9e0e29 100644
--- a/package.json
+++ b/package.json
@@ -14,6 +14,7 @@
     "@tailwindcss/forms": "^0.5.7",
     "antd": "^5.16.1",
     "axios": "^1.6.8",
+    "js-cookie": "^3.0.5",
     "next": "14.1.3",
     "postcss": "8.4.31",
     "react": "^18",
@@ -23,6 +24,7 @@
     "tailwindcss": "3.3.3"
   },
   "devDependencies": {
+    "@types/js-cookie": "^3.0.6",
     "@types/node": "^20",
     "@types/react": "^18",
     "@types/react-big-calendar": "^1.8.9",
diff --git a/src/app/login/page.tsx b/src/app/login/page.tsx
index 47475de..ba279aa 100644
--- a/src/app/login/page.tsx
+++ b/src/app/login/page.tsx
@@ -19,7 +19,8 @@ import type {CSSProperties} from 'react';
 import {useState} from 'react';
 import {LoginObject} from "@/lib/login/definitions";
 import {httpReq} from "@/utils/axiosReq";
-
+import Cookies from 'js-cookie';
+import { useRouter } from 'next/navigation'
 type LoginType = 'phone' | 'account';
 
 const iconStyles: CSSProperties = {
@@ -32,6 +33,7 @@ const iconStyles: CSSProperties = {
 const Page = () => {
     const [loginType, setLoginType] = useState<LoginType>('phone');
     const {token} = theme.useToken();
+    const router = useRouter()
     return (
         <div
             style={{
@@ -57,22 +59,6 @@ const Page = () => {
                         backgroundColor: 'rgba(255,255,255,0.25)',
                         backdropFilter: 'blur(4px)',
                     },
-                    // title: '活动标题,可配置图片',
-                    // subTitle: '活动介绍说明文字',
-                    // action: (
-                    // action: (
-                    //     <Button
-                    //         size="large"
-                    //         style={{
-                    //             borderRadius: 20,
-                    //             background: token.colorBgElevated,
-                    //             color: token.colorPrimary,
-                    //             width: 120,
-                    //         }}
-                    //     >
-                    //         去看看
-                    //     </Button>
-                    // ),
                 }}
                 onFinish={(formData:LoginObject)=>{
                     console.log("登录信息:"+formData.username+";"+formData.password)
@@ -80,9 +66,17 @@ const Page = () => {
                         username: formData.username,
                         password: formData.password
                     }).then(response=>{
-                        console.log(response)
-                        response.status;
-                        response.data;
+                        console.log(response);
+                        if(response.data.status.code===200){
+                            // localStorage.removeItem("platform-security")
+                            localStorage.setItem('platform-security',response.data.data)
+                            // 删除名为 'platform-security' 的Cookie
+                            // Cookies.remove('platform-security');
+                            // 设置一个有效期为7天的Cookie
+                            Cookies.set('platform-security', response.data.data, { expires: 7 });
+                            // 登录成功,跳转到首页或者回调
+                            router.push('/task/project')
+                        };
                     })
                 }}
                 actions={
diff --git a/src/utils/axiosReq.ts b/src/utils/axiosReq.ts
index 93e3562..6e97db9 100644
--- a/src/utils/axiosReq.ts
+++ b/src/utils/axiosReq.ts
@@ -15,4 +15,32 @@ export const httpReq = axios.create({
 const cancelTokenSource: CancelTokenSource = axios.CancelToken.source();
 
 httpReq.defaults.headers.common['Accept'] = 'application/json';
-httpReq.interceptors.request.use()
\ No newline at end of file
+httpReq.interceptors.request.use((config) => {
+        const token = localStorage.getItem('platform-security'); // 从本地存储中获取 token
+        if (token) {
+            // config.headers.Authorization = `Bearer ${token}`;
+            config.headers.Authorization = `${token}`;
+        }
+        return config;
+    },
+    (error) => {
+        return Promise.reject(error);
+    })
+httpReq.interceptors.response.use(
+    (response) => {
+        // http请求最外层
+        if (response.status >= 500) {
+            console.log("系统异常")
+        } else if (response.status >= 400 && response.status <= 500) {
+            console.log("无权限")
+        }
+        return response;
+    },
+    (error) => {
+        if (error.response && error.response.status === 401) {
+            localStorage.removeItem('authToken');
+            window.location.href = '/login';
+        }
+        return Promise.reject(error);
+    }
+);
\ No newline at end of file