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
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
|