| import React, { createContext, useContext, useState, useEffect } from 'react'; |
| export const UserContext = createContext(); |
| export const UserProvider = ({ children }) => { |
| const [user, setUser] = useState(null); |
| const [loading, setLoading] = useState(true); |
| const storedUser = localStorage.getItem('user'); |
| setUser(JSON.parse(storedUser)); |
| const defaultUser = { userId: 1, username: '测试用户' }; |
| localStorage.setItem('user', JSON.stringify(defaultUser)); |
| const saveUser = (userData) => { |
| if (userData && userData.id) { |
| localStorage.setItem('user', JSON.stringify(userData)); |
| console.error('无效的用户数据:', userData); |
| localStorage.removeItem('user'); |
| <UserContext.Provider value={{ user, saveUser, logout, loading }}> |
| export const useUser = () => { |
| const context = useContext(UserContext); |
| throw new Error('useUser must be used within a UserProvider'); |