diff --git a/src/feature/auth/authSlice.ts b/src/feature/auth/authSlice.ts
index f1ab2a0..607a6fd 100644
--- a/src/feature/auth/authSlice.ts
+++ b/src/feature/auth/authSlice.ts
@@ -1,11 +1,13 @@
 import { createAsyncThunk, createSlice, type PayloadAction } from "@reduxjs/toolkit";
 import type { AuthState } from "../../store/types";
-import type { LoginRequest } from "../../api/type";
-import authAPI from "../../api/authApi";
+import type { LoginRequest } from "../../api/Auth/type";
+import AuthAPI from "../../api/Auth/AuthApi";
 
+// 获取本地存储的 token
+const storedToken = localStorage.getItem('token');
 
 const initialState: AuthState = {
-  token: '',
+  token: storedToken || '',
   loading: false,
   isAuth: false,
   error: ''
@@ -19,7 +21,7 @@
   'auth/login',
   async (loginRequest: LoginRequest, { rejectWithValue }) => {
     try {
-      const response = await authAPI.login(loginRequest);
+      const response = await AuthAPI.login(loginRequest);
       if(response.data.code == 0) {
         return {token: response.data.data};
       }
@@ -40,7 +42,8 @@
   'auth/refresh',
   async (oldToken: string, { rejectWithValue }) => {
     try {
-      const response = await authAPI.refreshToken(oldToken);
+      const response = await AuthAPI.refreshToken(oldToken);
+      console.log(response);
       if(response.data.code == 0)
         return {token: response.data.data};
       else 
@@ -94,5 +97,6 @@
     },
     
 });
-  
+
+export const { logout } = authSlice.actions;
 export default authSlice.reducer;
\ No newline at end of file
