164 lines
3.6 KiB
TypeScript
164 lines
3.6 KiB
TypeScript
import request from '@/utils/request'
|
||
|
||
// 管理员用户接口
|
||
export interface AdminUser {
|
||
id: string
|
||
username: string
|
||
phone: string
|
||
nickname: string
|
||
avatar: string
|
||
status: number // 0=禁用,1=启用
|
||
is_super_admin: number // 0=否,1=是
|
||
last_login_at?: string
|
||
last_login_ip?: string
|
||
created_at: string
|
||
updated_at: string
|
||
}
|
||
|
||
// 创建管理员请求
|
||
export interface CreateAdminUserRequest {
|
||
username?: string
|
||
phone?: string
|
||
password: string
|
||
nickname?: string
|
||
avatar?: string
|
||
status?: number
|
||
is_super_admin?: number
|
||
}
|
||
|
||
// 更新管理员请求
|
||
export interface UpdateAdminUserRequest {
|
||
id: string
|
||
username?: string
|
||
phone?: string
|
||
password?: string // 可选,如果为空则不更新密码
|
||
nickname?: string
|
||
avatar?: string
|
||
status?: number
|
||
is_super_admin?: number
|
||
}
|
||
|
||
// 管理员列表响应
|
||
export interface AdminUserListResponse {
|
||
list: AdminUser[]
|
||
total: number
|
||
page: number
|
||
page_size: number
|
||
}
|
||
|
||
// 获取管理员列表
|
||
export const getAdminUserList = (params: {
|
||
keyword?: string
|
||
page?: number
|
||
page_size?: number
|
||
}) => {
|
||
return request.get('/admin-users/list', { params }).then((response) => {
|
||
const backendData = response.data
|
||
|
||
return {
|
||
data: {
|
||
code: 200,
|
||
message: backendData.message || '获取管理员列表成功',
|
||
data: backendData.data || {
|
||
list: [],
|
||
total: 0,
|
||
page: 1,
|
||
page_size: 10,
|
||
}
|
||
}
|
||
}
|
||
})
|
||
}
|
||
|
||
// 获取管理员详情
|
||
export const getAdminUser = (id: string) => {
|
||
return request.get('/admin-users/detail', { params: { id } }).then((response) => {
|
||
const backendData = response.data
|
||
|
||
return {
|
||
data: {
|
||
code: 200,
|
||
message: backendData.message || '获取管理员详情成功',
|
||
data: backendData.data
|
||
}
|
||
}
|
||
})
|
||
}
|
||
|
||
// 创建管理员
|
||
export const createAdminUser = (data: CreateAdminUserRequest) => {
|
||
return request.post('/admin-users/create', data).then((response) => {
|
||
const backendData = response.data
|
||
|
||
return {
|
||
data: {
|
||
code: 200,
|
||
message: backendData.message || '创建管理员成功',
|
||
data: backendData.data
|
||
}
|
||
}
|
||
})
|
||
}
|
||
|
||
// 更新管理员
|
||
export const updateAdminUser = (data: UpdateAdminUserRequest) => {
|
||
return request.post('/admin-users/update', data).then((response) => {
|
||
const backendData = response.data
|
||
|
||
return {
|
||
data: {
|
||
code: 200,
|
||
message: backendData.message || '更新管理员成功',
|
||
data: backendData.data
|
||
}
|
||
}
|
||
})
|
||
}
|
||
|
||
// 删除管理员
|
||
export const deleteAdminUser = (id: string) => {
|
||
return request.post('/admin-users/delete', {}, { params: { id } }).then((response) => {
|
||
const backendData = response.data
|
||
|
||
return {
|
||
data: {
|
||
code: 200,
|
||
message: backendData.message || '删除管理员成功'
|
||
}
|
||
}
|
||
})
|
||
}
|
||
|
||
// 获取用户角色
|
||
export const getUserRoles = (userId: string) => {
|
||
return request.get('/admin-users/roles', { params: { user_id: userId } }).then((response) => {
|
||
const backendData = response.data
|
||
|
||
return {
|
||
data: {
|
||
code: 200,
|
||
message: backendData.message || '获取用户角色成功',
|
||
data: backendData.data || []
|
||
}
|
||
}
|
||
})
|
||
}
|
||
|
||
// 设置用户角色
|
||
export const setUserRoles = (userId: string, roleIds: string[]) => {
|
||
return request.post('/admin-users/roles', {
|
||
user_id: userId,
|
||
role_ids: roleIds
|
||
}).then((response) => {
|
||
const backendData = response.data
|
||
|
||
return {
|
||
data: {
|
||
code: 200,
|
||
message: backendData.message || '设置用户角色成功'
|
||
}
|
||
}
|
||
})
|
||
}
|
||
|