snippet.ts 1.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081
  1. import request from './request'
  2. export interface Snippet {
  3. id: string
  4. collection_name: string
  5. doc_name: string
  6. code: string
  7. content: string
  8. char_count: number
  9. meta_info: string
  10. metadata: any // 新增 metadata 字段,通常是 JSON 对象
  11. parent_id?: string // 可能有 parent_id
  12. status: string
  13. created_at: string
  14. updated_at: string
  15. tag_list?: string[] // 标签列表
  16. }
  17. export interface SnippetParams {
  18. page?: number
  19. page_size?: number
  20. kb?: string
  21. keyword?: string
  22. status?: string
  23. }
  24. export interface CreateSnippetData {
  25. collection_name: string
  26. doc_name: string
  27. content: string
  28. meta_info?: string
  29. custom_fields?: Record<string, any> // 用户自定义字段值
  30. }
  31. export interface UpdateSnippetData {
  32. collection_name: string
  33. doc_name?: string
  34. content: string
  35. custom_fields?: Record<string, any>
  36. }
  37. export const getSnippets = (params: SnippetParams) => {
  38. return request({
  39. url: '/api/v1/document/snippet',
  40. method: 'get',
  41. params
  42. })
  43. }
  44. export const getSnippetDetail = (kb: string, id: string) => {
  45. return request({
  46. url: '/api/v1/document/snippet/detail',
  47. method: 'get',
  48. params: { kb, id }
  49. })
  50. }
  51. export const createSnippet = (data: CreateSnippetData) => {
  52. return request({
  53. url: '/api/v1/document/snippet',
  54. method: 'post',
  55. data
  56. })
  57. }
  58. export const updateSnippet = (id: string, data: UpdateSnippetData) => {
  59. return request({
  60. url: '/api/v1/document/snippet/' + id,
  61. method: 'post',
  62. data
  63. })
  64. }
  65. export const deleteSnippet = (id: string, kb: string) => {
  66. return request({
  67. url: '/api/v1/document/snippet/' + id + '/delete',
  68. method: 'post',
  69. params: { kb }
  70. })
  71. }