knowledge.ts 4.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144
  1. import { bluebookAiAgent } from "@/xiaolanbenlib/api/index";
  2. import Taro from "@tarojs/taro";
  3. import { getHeaders } from "@/xiaolanbenlib/module/axios.js";
  4. import JsonChunkParser from "@/utils/jsonChunkParser";
  5. import request from "@/xiaolanbenlib/module/axios.js";
  6. import type { TKnowledgeItem, TQAListItem, TKnowledgeStreamResponseData, TKnowledgeDetail } from "@/types/knowledge";
  7. import { getSimpleHeader } from "@/xiaolanbenlib/module/axios.js";
  8. import { isSuccess } from "@/utils";
  9. // 上传知识库文件
  10. export const uploadKnowledgeFile = (data:
  11. {
  12. tmpPath: string,
  13. fileName: string
  14. }
  15. ):Promise<boolean> => {
  16. return new Promise((resolve, reject)=> {
  17. Taro.uploadFile({
  18. url: `${bluebookAiAgent}api/v1/my/knowledge/upload`,
  19. filePath: data.tmpPath,
  20. name: data.fileName,
  21. formData: {
  22. file: data.fileName,
  23. },
  24. header: {
  25. ...getSimpleHeader(),
  26. },
  27. success(res) {
  28. console.log(res)
  29. resolve(isSuccess(res.statusCode))
  30. },
  31. fail(err) {
  32. console.log(err);
  33. reject(false);
  34. },
  35. });
  36. })
  37. }
  38. //我的知识库--列表
  39. export type TKnowledgeListResponse = {
  40. "data": TKnowledgeItem[],
  41. "nextId": string,
  42. "totalCount": number
  43. }
  44. export const getKnowledgeList = ({startId, pageSize = 1}: {
  45. startId?: string;
  46. pageSize: number;
  47. }) => {
  48. return request.get<TKnowledgeListResponse>(
  49. `${bluebookAiAgent}api/v1/my/knowledge/list`,
  50. { params: {startId, pageSize} }
  51. );
  52. };
  53. // 共享我的知识库至企业
  54. export const shareToEnt = (data:
  55. {
  56. "knowledgeIds": numbe|string[],
  57. "toEntId": string|number
  58. }
  59. ) => {
  60. return request.post(`${bluebookAiAgent}api/v1/my/knowledge/shareToEnt`, data)
  61. }
  62. // 我的知识库--信息流
  63. export type TKnowLedgeStreamResponse = {
  64. "data": TKnowledgeStreamResponseData[],
  65. "nextId": string,
  66. "totalCount": number
  67. }
  68. export const getMyKnowledgeStream = (data: {startId?: string, pageSize:number} ) => {
  69. return request.get<TKnowLedgeStreamResponse>(`${bluebookAiAgent}api/v1/my/knowledge/stream`, {params: data})
  70. }
  71. // 获取指定知识库项的详情信息
  72. export const getMyKnowledgeDetail = (knowledgeId: number) => {
  73. return request.get<TKnowledgeDetail>(`${bluebookAiAgent}api/v1/my/knowledge/${knowledgeId}`)
  74. }
  75. // 是否启用文档精准问答
  76. export const updateExactAnswer = (knowledgeId: number, enable: boolean) => {
  77. return request.put(`${bluebookAiAgent}api/v1/my/knowledge/${knowledgeId}/exactAnswer?enable=${enable}`)
  78. }
  79. // 删除知识库 信息流记录;流删除会同步删除相关的记录项
  80. export const deleteKnowledgeStream = (streamId: string) => {
  81. return request.delete(`${bluebookAiAgent}api/v1/my/knowledge/stream/${streamId}`,)
  82. }
  83. // 删除知识库 记录项
  84. export const deleteKnowledge = (knowledgeId: number) => {
  85. return request.delete(`${bluebookAiAgent}api/v1/my/knowledge/${knowledgeId}`,)
  86. }
  87. // 删除指定知识库的 QA 项
  88. export const deleteKnowledgeQa = (knowledgeId: number, qaId: number|string) => {
  89. return request.delete(`${bluebookAiAgent}api/v1/my/knowledge/${knowledgeId}/${qaId}`,)
  90. }
  91. export const getKnowledgeQa = (knowledgeId: number|string, qaId: number|string) => {
  92. return request.get<TQAListItem>(`${bluebookAiAgent}api/v1/my/knowledge/${knowledgeId}/${qaId}`,)
  93. }
  94. // 更新指定的知识库 QA 项
  95. export const updateKnowledgeQa = (knowledgeId: number|string, qaId: number|string, qa: TQAListItem&{qaId: string|number}) => {
  96. return request.put(`${bluebookAiAgent}api/v1/my/knowledge/${knowledgeId}/${qaId}`, qa)
  97. }
  98. // 企业知识库--列表
  99. export const getEntKnowledgeList = (data: {
  100. entId: string|number;
  101. startId?: string;
  102. pageSize: number;
  103. }) => {
  104. return request.get<TKnowledgeListResponse>(
  105. `${bluebookAiAgent}api/v1/ent/knowledge/list`,
  106. { params: data }
  107. );
  108. };
  109. // 获取指定知识库项的详情信息
  110. export const getEntKnowledgeDetail = (knowledgeId: string|number, entId: string|number) => {
  111. return request.get(`${bluebookAiAgent}api/v1/ent/knowledge/${knowledgeId}?entId=${entId}`)
  112. }
  113. // 企业知识库--信息流
  114. export const getEntKnowledgeStream = (data: {entId: string|number, startId?: string, pageSize:number} ) => {
  115. return request.get<TKnowLedgeStreamResponse>(`${bluebookAiAgent}api/v1/ent/knowledge/stream`, {params: data})
  116. }
  117. export const getEntKnowledgeQa = (knowledgeId: number|string, qaId: number|string) => {
  118. return request.get<TQAListItem>(`${bluebookAiAgent}api/v1/ent/knowledge/${knowledgeId}/${qaId}`)
  119. }