login.ts 2.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445
  1. import type { Login } from "@/api/interface/index";
  2. import { PORT1, PORT_NONE } from "@/api/config/servicePort";
  3. import authMenuList from "@/assets/json/authMenuList.json";
  4. import authButtonList from "@/assets/json/authButtonList.json";
  5. import http from "@/api";
  6. import httpLogin from "@/api/indexLogin";
  7. import { useUserStore } from "@/stores/modules/user";
  8. /**
  9. * @name 登录模块
  10. */
  11. // 用户登录
  12. export const loginApi = (params: Login.ReqLoginForm): Promise<{ data: Login.ResLogin }> => {
  13. return httpLogin.post<Login.ResLogin>(PORT1 + `/login`, params, { loading: false }); // 正常 post json 请求 ==> application/json
  14. // return http.post<Login.ResLogin>(PORT1 + `/login`, params, { loading: false }); // 控制当前请求不显示 loading
  15. // return http.post<Login.ResLogin>(PORT1 + `/login`, {}, { params }); // post 请求携带 query 参数 ==> ?username=admin&password=123456
  16. // return http.post<Login.ResLogin>(PORT1 + `/login`, qs.stringify(params)); // post 请求携带表单参数 ==> application/x-www-form-urlencoded
  17. // return http.get<Login.ResLogin>(PORT1 + `/login?${qs.stringify(params, { arrayFormat: "repeat" })}`); // get 请求可以携带数组等复杂参数
  18. };
  19. // 获取菜单列表
  20. export const getAuthMenuListApi = (params: any = {}) => {
  21. const userStore = useUserStore();
  22. const requestParams = { ...params };
  23. const loginAccount = userStore.userInfo?.name?.trim();
  24. if (loginAccount && loginAccount.toLowerCase() === "admin") {
  25. requestParams.type = 1;
  26. } else {
  27. requestParams.type = 0;
  28. }
  29. return http.get<Menu.MenuOptions[]>(PORT1 + `/routingInfo`, requestParams, { loading: false });
  30. // 如果想让菜单变为本地数据,注释上一行代码,并引入本地 authMenuList.json 数据
  31. // return authMenuList;
  32. };
  33. // 获取按钮权限
  34. export const getAuthButtonListApi = () => {
  35. return http.get<Login.ResAuthButtons>(PORT1 + `/auth/buttons`, {}, { loading: false });
  36. // 如果想让按钮权限变为本地数据,注释上一行代码,并引入本地 authButtonList.json 数据
  37. return authButtonList;
  38. };
  39. // 用户退出登录
  40. export const logoutApi = params => {
  41. return http.post(PORT1 + `/logout`, params);
  42. };