import { http } from '@/api/request' import type { User } from '@/types/system' import type { PageQuery, PageResult } from '@/types/api' import type { AxiosRequestConfig } from 'axios' export function listUser( params?: PageQuery & Partial & { deptId?: number }, config?: AxiosRequestConfig ): Promise> { return http.get('/system/user/list', { params, ...config }) } export function getUser(id: number): Promise { return http.get(`/system/user/${id}`) } export function addUser(data: Partial): Promise { return http.post('/system/user', data) } export function updateUser(data: Partial): Promise { return http.put('/system/user', data) } export function deleteUser(id: number): Promise { return http.delete(`/system/user/${id}`) } export function assignUserRoles(id: number, roleIds: number[]): Promise { return http.put(`/system/user/${id}/roles`, { roleIds }) } export function bindWeCom(id: number, data: { wecomUserId?: string; wecomRemindEnabled?: number }): Promise { return http.put(`/system/user/${id}/wecom`, data) }