auth.ts 939 B

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647
  1. /**
  2. * 用户认证相关API
  3. */
  4. import { setToken, setUserInfo } from '@/utils/auth';
  5. import { post, get } from '@/utils/request';
  6. export interface LoginParams {
  7. username: string;
  8. password: string;
  9. }
  10. export interface LoginResponse {
  11. token: string;
  12. userInfo: any;
  13. }
  14. /**
  15. * 登录
  16. */
  17. export async function login(params: LoginParams): Promise<LoginResponse> {
  18. const response = await post<LoginResponse>('/login', params);
  19. setToken(response.token);
  20. setUserInfo(response.userInfo);
  21. return response;
  22. }
  23. /**
  24. * 退出登录
  25. */
  26. export async function logout(): Promise<void> {
  27. await post('/login/logout');
  28. }
  29. /**
  30. * 获取当前用户信息
  31. */
  32. export async function getCurrentUser(): Promise<any> {
  33. return get('/login/info');
  34. }
  35. /**
  36. * 修改密码
  37. */
  38. export async function changePassword(oldPassword: string, newPassword: string): Promise<void> {
  39. await post('/user/change-password', { oldPassword, newPassword });
  40. }