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.
 

56 lines
1.5 KiB

import { IPageResult } from '@/global'
import { IUser, IUserInfo } from '@/types/user'
import request from '../request.ts'
import { LoginRequest, LoginResponse } from '@/types/login'
import { createCURD } from '@/service/base.ts'
import { IMenu } from '@/types/menus'
import { IRole } from '@/types/roles'
import { IDepartment } from '@/types/department'
const systemServ = {
dept: {
...createCURD<any, IDepartment>('/sys/dept'),
tree: () => {
return request.get<{ tree: IDepartment }>('/sys/dept/tree')
}
},
menus: {
...createCURD<any, IMenu>('/sys/menu')
},
login: (data: LoginRequest) => {
return request.post<LoginResponse>('/sys/login', data)
},
logout:()=>{
//
},
user: {
...createCURD<any, IUser>('/sys/user'),
current: () => {
return request.get<IUserInfo>('/sys/user/info')
},
menus: () => {
return request.get<IPageResult<IMenu[]>>('/sys/user/menus')
},
resetPassword: (id: number) => {
return request.post<any>(`/sys/user/reset/password`, { id })
}
},
role: {
...createCURD<any, IRole>('/sys/role')
},
logs: {
login: {
...createCURD<any, ILoginLog>('/sys/log/login'),
clear: (params: {
start: string,
end: string
}) => {
return request.post<any>('/sys/log/login/clear', params)
}
}
}
}
export default systemServ