- **文件管理**: - 支持文件上传、解析和删除。 - 限制支持格式(txt, md, docx, pdf),最大 10MB。 - 提供前端上传区、文件列表及后端解析服务。 - **技能管理**: - 新增技能的创建、更新及删除功能。 - 支持分配自定义提示词和工具权限。 - 提供技能列表及分组工具选择交互界面。 同时调整相关 API 和前端组件,优化协作体验。
This commit is contained in:
39
frontend/src/api/files.ts
Normal file
39
frontend/src/api/files.ts
Normal file
@@ -0,0 +1,39 @@
|
||||
import { http } from './client'
|
||||
|
||||
export interface NovelFile {
|
||||
id: number
|
||||
novel_id: number
|
||||
filename: string
|
||||
file_size: number
|
||||
mime_type: string
|
||||
text_length: number
|
||||
created_at: string
|
||||
}
|
||||
|
||||
export interface FileList {
|
||||
items: NovelFile[]
|
||||
total: number
|
||||
}
|
||||
|
||||
/** 上传文件 */
|
||||
export async function uploadFile(novelId: number, file: File): Promise<NovelFile> {
|
||||
const form = new FormData()
|
||||
form.append('file', file)
|
||||
const { data } = await http.post<NovelFile>(
|
||||
`/novels/${novelId}/files`,
|
||||
form,
|
||||
{ headers: { 'Content-Type': 'multipart/form-data' }, timeout: 60000 },
|
||||
)
|
||||
return data
|
||||
}
|
||||
|
||||
/** 列出文件 */
|
||||
export async function listFiles(novelId: number): Promise<FileList> {
|
||||
const { data } = await http.get<FileList>(`/novels/${novelId}/files`)
|
||||
return data
|
||||
}
|
||||
|
||||
/** 删除文件 */
|
||||
export async function deleteFile(novelId: number, fileId: number): Promise<void> {
|
||||
await http.delete(`/novels/${novelId}/files/${fileId}`)
|
||||
}
|
||||
Reference in New Issue
Block a user