user.ts 1.1 KB

1234567891011121314151617181920212223242526272829303132333435
  1. import { http } from '@/api/request'
  2. import type { User } from '@/types/system'
  3. import type { PageQuery, PageResult } from '@/types/api'
  4. import type { AxiosRequestConfig } from 'axios'
  5. export function listUser(
  6. params?: PageQuery & Partial<User> & { deptId?: number },
  7. config?: AxiosRequestConfig
  8. ): Promise<PageResult<User>> {
  9. return http.get('/system/user/list', { params, ...config })
  10. }
  11. export function getUser(id: number): Promise<User> {
  12. return http.get(`/system/user/${id}`)
  13. }
  14. export function addUser(data: Partial<User>): Promise<void> {
  15. return http.post('/system/user', data)
  16. }
  17. export function updateUser(data: Partial<User>): Promise<void> {
  18. return http.put('/system/user', data)
  19. }
  20. export function deleteUser(id: number): Promise<void> {
  21. return http.delete(`/system/user/${id}`)
  22. }
  23. export function assignUserRoles(id: number, roleIds: number[]): Promise<void> {
  24. return http.put(`/system/user/${id}/roles`, { roleIds })
  25. }
  26. export function bindWeCom(id: number, data: { wecomUserId?: string; wecomRemindEnabled?: number }): Promise<void> {
  27. return http.put(`/system/user/${id}/wecom`, data)
  28. }