user.ts 737 B

123456789101112131415161718192021222324252627282930313233
  1. import axios from 'axios';
  2. import type { RouteRecordNormalized } from 'vue-router';
  3. import { UserState } from '@/store/modules/user/types';
  4. export interface LoginData {
  5. username: string;
  6. password: string;
  7. }
  8. export interface LoginRes {
  9. accessId: string;
  10. accessKey: string;
  11. accessTicket: string;
  12. clientIp: string;
  13. create_time: number;
  14. expiresIn: string;
  15. }
  16. export function login(data: LoginData) {
  17. return axios.post<LoginRes>('/api/user/login', data);
  18. }
  19. export function logout() {
  20. return axios.post<LoginRes>('/api/user/logout');
  21. }
  22. export function getUserInfo() {
  23. return axios.post<UserState>('/api/user/info');
  24. }
  25. export function getMenuList() {
  26. return axios.post<RouteRecordNormalized[]>('/api/user/menu');
  27. }