| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697 |
- 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<T = any> {
- code: number
- message: string
- data: T
- timestamp: string
- }
- export interface PageResult<T> {
- list: T[]
- total: number
- page: number
- page_size: number
- }
- // --- API 方法 ---
- const prefix = '/api/v1/images'
- export const imageApi = {
- // --- 分类管理 ---
-
- // 获取全部分类树
- getCategories(): Promise<ApiResponse<ImageCategory[]>> {
- return request.get(`${prefix}/categories`)
- },
- // 新增分类
- addCategory(data: Partial<ImageCategory>): Promise<ApiResponse<{ id: string }>> {
- return request.post(`${prefix}/categories`, data)
- },
- // 更新分类
- updateCategory(id: string, data: Partial<ImageCategory>): Promise<ApiResponse<null>> {
- return request.put(`${prefix}/categories/${id}`, data)
- },
- // 删除分类
- deleteCategory(id: string): Promise<ApiResponse<null>> {
- return request.delete(`${prefix}/categories/${id}`)
- },
- // --- 图片管理 ---
- // 获取图片列表
- getList(params: ImageQueryParams): Promise<ApiResponse<PageResult<ImageItem>>> {
- return request.get(prefix, { params })
- },
- // 保存图片信息
- add(data: Partial<ImageItem>): Promise<ApiResponse<null>> {
- return request.post(prefix, data)
- },
- // 删除图片
- delete(id: string): Promise<ApiResponse<null>> {
- return request.delete(`${prefix}/${id}`)
- },
- // 获取上传链接
- getUploadUrl(filename: string, contentType: string): Promise<ApiResponse<{ upload_url: string, file_url: string, object_name: string }>> {
- return request.post(`${prefix}/upload-url`, { filename, content_type: contentType })
- }
- }
|