import request from './request' // --- 类型定义 --- export interface ImageCategory { id: string type_name: string parent_id: string remark?: string children?: ImageCategory[] created_time: string updated_time: string } export interface ImageItem { id: string image_name: string image_url: string image_type: string description?: string category_name?: string creator_name?: string created_by: string updated_by?: string created_time: string updated_time: string } export interface ImageQueryParams { category_id?: string page?: number page_size?: number } export interface ApiResponse { code: number message: string data: T timestamp: string } export interface PageResult { list: T[] total: number page: number page_size: number } // --- API 方法 --- const prefix = '/api/v1/images' export const imageApi = { // --- 分类管理 --- // 获取全部分类树 getCategories(): Promise> { return request.get(`${prefix}/categories`) }, // 新增分类 addCategory(data: Partial): Promise> { return request.post(`${prefix}/categories`, data) }, // 更新分类 updateCategory(id: string, data: Partial): Promise> { return request.put(`${prefix}/categories/${id}`, data) }, // 删除分类 deleteCategory(id: string): Promise> { return request.delete(`${prefix}/categories/${id}`) }, // --- 图片管理 --- // 获取图片列表 getList(params: ImageQueryParams): Promise>> { return request.get(prefix, { params }) }, // 保存图片信息 add(data: Partial): Promise> { return request.post(prefix, data) }, // 删除图片 delete(id: string): Promise> { return request.delete(`${prefix}/${id}`) }, // 获取上传链接 getUploadUrl(filename: string, contentType: string): Promise> { return request.post(`${prefix}/upload-url`, { filename, content_type: contentType }) } }