提示词保存
This commit is contained in:
@@ -1,36 +1,41 @@
|
||||
import http from '@/api/http'
|
||||
/**
|
||||
* 应用层 API 服务
|
||||
* 封装应用特定的 API 调用,使用 mono 级别的服务
|
||||
*/
|
||||
|
||||
import { fetchEventSource } from '@microsoft/fetch-event-source'
|
||||
import { getAuthHeader } from '@gold/utils/token-manager'
|
||||
// 使用公共配置和 API 服务创建器
|
||||
import { TikHubService } from '@gold/api/services'
|
||||
import { API_BASE } from '@gold/config/api'
|
||||
import { createApiService } from '@gold/api/services'
|
||||
// 初始化公共 hook 的 API 服务
|
||||
import { setApiService } from '@gold/hooks/web/useVoiceText'
|
||||
|
||||
// 使用本地代理前缀 /tikhub,开发环境通过 Vite 代理到 https://api.tikhub.io
|
||||
// 注意:API_BASE.TIKHUB 不存在,应该使用 TIKHUB_APP
|
||||
const SERVER_BASE = API_BASE.TIKHUB_APP || API_BASE.TIKHUB || ''
|
||||
|
||||
// 创建公共 API 服务实例
|
||||
const apiService = createApiService({
|
||||
http,
|
||||
getAuthHeader,
|
||||
baseUrl: SERVER_BASE,
|
||||
})
|
||||
|
||||
// 设置全局 API 服务(供 useVoiceText hook 使用)
|
||||
setApiService(apiService)
|
||||
/**
|
||||
* TikHub API 基础路径
|
||||
*/
|
||||
const TIKHUB_BASE = API_BASE.TIKHUB_APP || API_BASE.TIKHUB || ''
|
||||
|
||||
/**
|
||||
* 应用层通用服务
|
||||
*/
|
||||
export const CommonService = {
|
||||
/**
|
||||
* 视频转字符(音频转文字)
|
||||
* 直接使用 mono 级别的 TikHub 服务
|
||||
*/
|
||||
videoToCharacters(data) {
|
||||
return apiService.videoToCharacters(data)
|
||||
return TikHubService.videoToCharacters(data)
|
||||
},
|
||||
|
||||
/**
|
||||
* 调用工作流
|
||||
*/
|
||||
callWorkflow(data) {
|
||||
return apiService.callWorkflow(data)
|
||||
return TikHubService.callWorkflow(data)
|
||||
},
|
||||
|
||||
// 流式调用 workflow
|
||||
callWorkflowStream: async (options) => {
|
||||
/**
|
||||
* 流式调用工作流(SSE)
|
||||
*/
|
||||
async callWorkflowStream(options) {
|
||||
const {
|
||||
data,
|
||||
ctrl,
|
||||
@@ -42,9 +47,9 @@ export const CommonService = {
|
||||
const authHeader = getAuthHeader()
|
||||
|
||||
let retryCount = 0
|
||||
const maxRetries = 0 // 禁用自动重试
|
||||
const maxRetries = 0
|
||||
|
||||
return fetchEventSource(`${SERVER_BASE}/callWorkflow`, {
|
||||
return fetchEventSource(`${TIKHUB_BASE}/callWorkflow`, {
|
||||
method: 'post',
|
||||
headers: {
|
||||
'Content-Type': 'application/json',
|
||||
@@ -57,18 +62,15 @@ export const CommonService = {
|
||||
retryCount++
|
||||
console.error('SSE错误,重试次数:', retryCount, err)
|
||||
|
||||
// 调用自定义错误处理
|
||||
if (typeof onError === 'function') {
|
||||
onError(err)
|
||||
}
|
||||
|
||||
// 超过最大重试次数,停止重连
|
||||
if (retryCount > maxRetries) {
|
||||
throw err // 抛出错误,停止自动重连
|
||||
throw err
|
||||
}
|
||||
},
|
||||
onclose: () => {
|
||||
// 调用自定义关闭处理
|
||||
if (typeof onClose === 'function') {
|
||||
onClose()
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user