feat(dict): 新增字典管理API接口和类型定义

- 添加字典类型和字典数据的API接口
- 定义完整的字典相关类型定义
- 包含CRUD操作和分页查询功能
- 支持字典类型选项和数据选项查询
This commit is contained in:
Leo 2025-09-26 16:33:36 +08:00
parent c733dc5ffe
commit bf94dd07be
2 changed files with 328 additions and 0 deletions

View File

@ -0,0 +1,183 @@
/**
* API
*/
import { request } from '@/service/http'
import type {
DictDataForm,
DictDataOption,
DictDataQueryBo,
DictDataVo,
DictTypeForm,
DictTypeOption,
DictTypeQueryBo,
DictTypeVo,
PageDictDataVo,
PageDictTypeVo,
} from './types'
// 重新导出类型供外部使用
export type {
DictDataForm,
DictDataOption,
DictDataQueryBo,
DictDataSearchForm,
DictDataVo,
DictTypeForm,
DictTypeOption,
DictTypeQueryBo,
DictTypeSearchForm,
DictTypeVo,
PageDictDataVo,
PageDictTypeVo,
} from './types'
export { DictStatus, DictTag } from './types'
/** ======================= 字典类型管理 API ======================= */
/**
*
*/
export function getDictTypeList(params: DictTypeQueryBo) {
return request.Get<Service.ResponseResult<PageDictTypeVo>>('/coder/sysDictType/listPage', {
params,
})
}
/**
*
*/
export function getAllDictTypes() {
return request.Get<Service.ResponseResult<DictTypeVo[]>>('/coder/sysDictType/list')
}
/**
* ID查询字典类型详情
*/
export function getDictTypeById(id: string) {
return request.Get<Service.ResponseResult<DictTypeVo>>(`/coder/sysDictType/getById/${id}`)
}
/**
*
*/
export function addDictType(data: DictTypeForm) {
return request.Post<Service.ResponseResult<string>>('/coder/sysDictType/add', data)
}
/**
*
*/
export function updateDictType(data: DictTypeForm) {
return request.Post<Service.ResponseResult<string>>('/coder/sysDictType/update', data)
}
/**
*
*/
export function deleteDictType(id: string) {
return request.Post<Service.ResponseResult<string>>(`/coder/sysDictType/deleteById/${id}`)
}
/**
*
*/
export function batchDeleteDictType(ids: string[]) {
return request.Post<Service.ResponseResult<string>>('/coder/sysDictType/batchDelete', ids)
}
/**
*
*/
export function updateDictTypeStatus(dictId: string, dictStatus: string) {
return request.Post<Service.ResponseResult<string>>(`/coder/sysDictType/updateStatus/${dictId}/${dictStatus}`)
}
/**
*
*/
export function getDictTypeOptions() {
return request.Get<Service.ResponseResult<DictTypeOption[]>>('/coder/sysDictType/listDictType')
}
/** ======================= 字典数据管理 API ======================= */
/**
*
*/
export function getDictDataList(params: DictDataQueryBo) {
return request.Get<Service.ResponseResult<PageDictDataVo>>('/coder/sysDictData/listPage', {
params,
})
}
/**
*
*/
export function getAllDictData() {
return request.Get<Service.ResponseResult<DictDataVo[]>>('/coder/sysDictData/list')
}
/**
* ID查询字典数据详情
*/
export function getDictDataById(id: string) {
return request.Get<Service.ResponseResult<DictDataVo>>(`/coder/sysDictData/getById/${id}`)
}
/**
*
*/
export function addDictData(data: DictDataForm) {
return request.Post<Service.ResponseResult<string>>('/coder/sysDictData/add', data)
}
/**
*
*/
export function getDictDataSorted(dictType: string) {
return request.Get<Service.ResponseResult<number>>(`/coder/sysDictData/getSorted/${dictType}`)
}
/**
*
*/
export function updateDictData(data: DictDataForm) {
return request.Post<Service.ResponseResult<string>>('/coder/sysDictData/update', data)
}
/**
*
*/
export function deleteDictData(id: string) {
return request.Post<Service.ResponseResult<string>>(`/coder/sysDictData/deleteById/${id}`)
}
/**
*
*/
export function batchDeleteDictData(ids: string[]) {
return request.Post<Service.ResponseResult<string>>('/coder/sysDictData/batchDelete', ids)
}
/**
*
*/
export function updateDictDataStatus(dictId: string, dictStatus: string) {
return request.Post<Service.ResponseResult<string>>(`/coder/sysDictData/updateStatus/${dictId}/${dictStatus}`)
}
/**
*
*/
export function getDictDataByType(dictType: string) {
return request.Get<Service.ResponseResult<DictDataOption[]>>(`/coder/sysDictData/listDataByType/${dictType}`)
}
/**
* Redis
*/
export function syncDictCache() {
return request.Get<Service.ResponseResult<string>>('/coder/sysDictData/listDictCacheRedis')
}

View File

@ -0,0 +1,145 @@
/**
*
*/
/** 字典类型相关类型定义 */
// 字典类型实体
export interface DictTypeVo {
dictId: string
dictType: string
dictName: string
dictStatus: string
createBy?: string
createTime?: string
updateBy?: string
updateTime?: string
remark?: string
}
// 字典类型查询参数
export interface DictTypeQueryBo {
pageNo?: number
pageSize?: number
dictName?: string
dictType?: string
dictStatus?: string
}
// 字典类型搜索表单
export interface DictTypeSearchForm {
dictName?: string
dictType?: string
dictStatus?: string
}
// 字典类型表单
export interface DictTypeForm {
dictId?: string
dictType: string
dictName: string
dictStatus: string
remark?: string
}
/** 字典数据相关类型定义 */
// 字典数据实体
export interface DictDataVo {
dictId: string
dictLabel: string
dictValue: string
dictType: string
dictStatus: string
dictTag: string
dictColor?: string
sorted: number
createBy?: string
createTime?: string
updateBy?: string
updateTime?: string
remark?: string
}
// 字典数据查询参数
export interface DictDataQueryBo {
pageNo?: number
pageSize?: number
dictType?: string
dictLabel?: string
dictStatus?: string
}
// 字典数据搜索表单
export interface DictDataSearchForm {
dictType?: string
dictLabel?: string
dictStatus?: string
}
// 字典数据表单
export interface DictDataForm {
dictId?: string
dictLabel: string
dictValue: string
dictType: string
dictStatus: string
dictTag: string
dictColor?: string
sorted: number
remark?: string
}
/** 分页结果类型 */
// 字典类型分页结果
export interface PageDictTypeVo {
records: DictTypeVo[]
total: number
size: number
current: number
pages: number
}
// 字典数据分页结果
export interface PageDictDataVo {
records: DictDataVo[]
total: number
size: number
current: number
pages: number
}
/** 选项类型 */
// 字典类型下拉选项
export interface DictTypeOption {
dictType: string
dictName: string
}
// 字典数据选项
export interface DictDataOption {
dictLabel: string
dictValue: string
dictType: string
dictTag: string
dictColor?: string
}
/** 状态常量 */
// 字典状态枚举
export const DictStatus = {
NORMAL: '0', // 正常
DISABLED: '1', // 停用
} as const
// 字典标签类型枚举
export const DictTag = {
PRIMARY: 'primary',
SUCCESS: 'success',
INFO: 'info',
WARNING: 'warning',
ERROR: 'error',
} as const