添加token

This commit is contained in:
licuizhu 2024-05-27 16:17:02 +08:00
parent 4c876e5ac3
commit 1063d79d50
5 changed files with 57 additions and 24 deletions

View File

@ -1,10 +1,11 @@
import { request } from '@umijs/max';
import loginStore from '../store/login.store';
// 获取登陆人
export function getCurrentUser( data ) {
export function getCurrentUser() {
let token = loginStore.token
return request('/api/user/getCurrentUser', {
method: 'get',
data: data
method: 'get'
});
}

View File

@ -18,3 +18,25 @@ export const layout = () => {
},
};
};
// 配置请求header
import { RequestConfig } from '@umijs/max';
export const request: RequestConfig = {
requestInterceptors: [
(url, options) => {
const token = localStorage.getItem('authToken'); // 从某处获取你的认证token例如localStorage
if (token) {
const headers = {
Authorization: `Bearer ${token}`,
...options.headers,
};
return {
url: url,
options: { ...options, headers },
};
}
return { url, options };
},
],
};

View File

@ -7,7 +7,7 @@ import loginStore from '../../store/login.store';
import '../../index.less';
function Header (e) {
let token = loginStore.token;
let setToken = loginStore;
let navigate = useNavigate();
let logout = () => {
passwordLogout().then((e) => {
@ -20,14 +20,15 @@ function Header (e) {
}
useEffect(() =>{
getCurrentUser().then((e) => {
const d = e.data;
token.username = d && d.username;
if (e.success) {
setToken.setAuthName(e.data.username);
}
})
})
return (
<div id='header'>
<div className='header-left'><span className='user-name'>{token.username}</span></div>
<div className='header-left'><span className='user-name'>{setToken.authName}</span></div>
<div className='headder-right'>
<span className='login-out' onClick={logout}></span>
</div>

View File

@ -8,22 +8,14 @@ function Login (e) {
let navigate = useNavigate();
const [form] = Form.useForm();
let onFinish = async (values) => {
// let setToken = loginStore.setToken;
// try {
// await setToken({username: values.username, password: values.password})
// navigate('/', {replace: true});
// message.success('登录成功')
// } catch {
// message.error('登录失败')
// }
passwordLogin({phone: values.phone, password: values.password}).then((e) => {
if (!e.success) {
message.error(e.message);
} else {
let setToken = loginStore.setToken;
setToken(e.data);
let setToken = loginStore;
setToken.setAuthName(e.data.username);
setToken.setToken(e.data.token)
navigate('/home');
// document.cookie.save('username', 'wyd');
}
})
};

View File

@ -2,17 +2,34 @@ import { makeAutoObservable } from "mobx";
import { http } from "../utils/http";
import { setToken, getToken } from "../utils";
class LoginStore {
token = {};
token = localStorage.getItem('authToken') || null;
authName = localStorage.getItem('authName') || null;
constructor () {
makeAutoObservable(this)
}
// setToken = async ({username, password}) => {
// const res = await http.get('/api/user/login?username=' + username + '&password=' + password)
// this.token = res.data
// setToken(this.token)
// }
// token
get isLoggedIn() {
return !!this.token;
}
setToken = (data) => {
this.token = data;
localStorage.setItem('authToken', data);
}
clearToken() {
this.token = null;
localStorage.removeItem('authToken');
}
// 登录名
get authName() {
return !!this.authName;
}
setAuthName = (data) => {
this.authName = data;
localStorage.setItem('authName', data);
}
clearAuthName() {
this.authName = null;
localStorage.removeItem('authName');
}
}
const loginStore = new LoginStore();