You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

72 lines
1.9 KiB

1 year ago
8 months ago
8 months ago
1 year ago
  1. import { IPageResult } from "@/global";
  2. import request from "../request.ts";
  3. import { createCURD } from "@/service/base.ts";
  4. import { System } from "@/types";
  5. const systemServ = {
  6. dept: {
  7. ...createCURD<any, System.IDepartment>("/sys/dept"),
  8. tree: () => {
  9. return request.get<{ tree: System.IDepartment }>("/sys/dept/tree");
  10. },
  11. },
  12. menus: {
  13. ...createCURD<any, System.IMenu>("/sys/menu"),
  14. },
  15. uplogin: (data: any) => {
  16. return request.post<System.LoginResponse>("/sys/login", data);
  17. },
  18. emailCode: (data: any) => {
  19. return request.post<System.LoginResponse>("/sys/email", data);
  20. },
  21. emailLogin: (data: any) => {
  22. return request.post<System.LoginResponse>("/sys/email/login", data);
  23. },
  24. emailRegister: (data: any) => {
  25. return request.post<System.LoginResponse>("/sys/email/reg", data);
  26. },
  27. telegramCode: (data: any) => {
  28. return request.post<System.LoginResponse>("/sys/telegram", data);
  29. },
  30. telegramLogin: (data: any) => {
  31. return request.post<System.LoginResponse>("/sys/login/telegram", data);
  32. },
  33. pwdRetrieve: (data: any) => {
  34. return request.post<System.LoginResponse>("/sys/email/pws", data);
  35. },
  36. logout: () => {
  37. //
  38. },
  39. user: {
  40. ...createCURD<any, System.IUser>("/sys/user"),
  41. current: () => {
  42. return request.get<System.IUserInfo>("/sys/user/info");
  43. },
  44. menus: () => {
  45. return request.get<IPageResult<System.IMenu[]>>("/sys/user/menus");
  46. },
  47. resetPassword: (id: number) => {
  48. return request.post<any>(`/sys/user/reset/password`, { id });
  49. },
  50. },
  51. role: {
  52. ...createCURD<any, System.IRole>("/sys/role"),
  53. },
  54. logs: {
  55. login: {
  56. ...createCURD<any, ILoginLog>("/sys/log/login"),
  57. clear: (params: { start: string; end: string }) => {
  58. return request.post<any>("/sys/log/login/clear", params);
  59. },
  60. },
  61. },
  62. };
  63. export default systemServ;