duidui_admin_web/src/api/admin.ts
2026-03-27 10:38:12 +08:00

164 lines
3.6 KiB
TypeScript
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

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 || '设置用户角色成功'
}
}
})
}