questions.js 1.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475
  1. import axios from "@/utils/request";
  2. import { fetchEventSource } from '@microsoft/fetch-event-source'
  3. // 数字人对话框
  4. export function CreateDialogue (data){
  5. return axios({
  6. url: "bjdxWeb/ai/create-dialogue",
  7. method: 'post',
  8. data
  9. })
  10. }
  11. // 发送 Stream 消息
  12. // 为什么不用 axios 呢?因为它不支持 SSE 调用
  13. export async function sendChatMessageStream (
  14. conversationId,
  15. content,
  16. contentAnswer = undefined,
  17. ctrl,
  18. enableContext,
  19. onMessage,
  20. onError,
  21. onClose
  22. ) {
  23. // 获取 token
  24. const token = localStorage.getItem('token');
  25. return fetchEventSource(import.meta.env.VITE_BASE_URL + `/bjdxWeb/ai/dialogue-send-stream`, {
  26. method: 'post',
  27. headers: {
  28. 'Content-Type': 'application/json',
  29. // 添加 token 到请求头
  30. ...(token ? { 'Authorization': `Bearer ${token}` } : {})
  31. // Authorization: `Bearer b55bd67fba3e4bb49608168f078fde63`
  32. },
  33. openWhenHidden: true,
  34. body: JSON.stringify({
  35. conversationId,
  36. content,
  37. useContext: enableContext,
  38. contentAnswer
  39. }),
  40. onmessage: onMessage,
  41. onerror: onError,
  42. onclose: onClose,
  43. signal: ctrl.signal
  44. })
  45. }
  46. // AI 图像生成状态的枚举
  47. export const AiImageStatusEnum = {
  48. IN_PROGRESS: 10, // 进行中
  49. SUCCESS: 20, // 已完成
  50. FAIL: 30 // 已失败
  51. }
  52. // 生成图片
  53. export function CreatePainting (data){
  54. return axios({
  55. url: "bjdxWeb/ai/create-painting",
  56. method: 'post',
  57. data
  58. })
  59. }
  60. // 绘画
  61. export async function PaintingGetMys(ids) {
  62. return await axios({
  63. url: "bjdxWeb/ai/painting-get-mys",
  64. method: 'get',
  65. data: {ids: ids.join(',')}
  66. })
  67. }