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.

55 lines
1.5 KiB

1 year ago
1 year ago
1 year ago
1 year ago
  1. import { IPageResult } from '@/global'
  2. import { IUser, IUserInfo } from '@/types/user'
  3. import request from '../request.ts'
  4. import { LoginRequest, LoginResponse } from '@/types/login'
  5. import { createCURD } from '@/service/base.ts'
  6. import { IMenu } from '@/types/menus'
  7. import { IRole } from '@/types/roles'
  8. import { IDepartment } from '@/types/department'
  9. const systemServ = {
  10. dept: {
  11. ...createCURD<any, IDepartment>('/sys/dept'),
  12. tree: () => {
  13. return request.get<{ tree: IDepartment }>('/sys/dept/tree')
  14. }
  15. },
  16. menus: {
  17. ...createCURD<any, IMenu>('/sys/menu')
  18. },
  19. login: (data: LoginRequest) => {
  20. return request.post<LoginResponse>('/sys/login', data)
  21. },
  22. logout:()=>{
  23. //
  24. },
  25. user: {
  26. ...createCURD<any, IUser>('/sys/user'),
  27. current: () => {
  28. return request.get<IUserInfo>('/sys/user/info')
  29. },
  30. menus: () => {
  31. return request.get<IPageResult<IMenu[]>>('/sys/user/menus')
  32. },
  33. resetPassword: (id: number) => {
  34. return request.post<any>(`/sys/user/reset/password`, { id })
  35. }
  36. },
  37. role: {
  38. ...createCURD<any, IRole>('/sys/role')
  39. },
  40. logs: {
  41. login: {
  42. ...createCURD<any, ILoginLog>('/sys/log/login'),
  43. clear: (params: {
  44. start: string,
  45. end: string
  46. }) => {
  47. return request.post<any>('/sys/log/login/clear', params)
  48. }
  49. }
  50. }
  51. }
  52. export default systemServ