diff --git a/frontend/app/web-gold/src/api/forecast.js b/frontend/app/web-gold/src/api/forecast.js new file mode 100644 index 0000000000..bf19faf032 --- /dev/null +++ b/frontend/app/web-gold/src/api/forecast.js @@ -0,0 +1,75 @@ +/** + * Forecast 文案改写 API + */ +import { fetchEventSource } from '@microsoft/fetch-event-source' +import tokenManager from '@gold/utils/token-manager' +import { API_BASE } from '@gold/config/api' + +const BASE_URL = `${API_BASE.APP_TIK}` + +/** + * 流式文案改写(SSE) + * @param {Object} options - 请求配置 + * @param {number} options.agentId - 智能体ID + * @param {string} options.userText - 用户输入文案 + * @param {number} [options.level] - 改写级别/强度 + * @param {string} [options.modelType] - 模型类型:forecast_standard/forecast_meiju + * @param {AbortController} [options.ctrl] - 取消控制器 + * @param {Function} options.onMessage - 消息回调 + * @param {Function} [options.onError] - 错误回调 + * @param {Function} [options.onClose] - 关闭回调 + */ +export async function rewriteStream(options) { + const { + agentId, + userText, + level = 50, + modelType = 'forecast_standard', + ctrl, + onMessage, + onError, + onClose + } = options || {} + + const token = tokenManager.getAccessToken() + + return fetchEventSource(`${BASE_URL}/dify/forecast/rewrite`, { + method: 'post', + headers: { + 'Content-Type': 'application/json', + 'Authorization': `Bearer ${token}`, + 'tenant-id': import.meta.env?.VITE_TENANT_ID + }, + openWhenHidden: true, + body: JSON.stringify({ + agentId, + userText, + level, + modelType + }), + onmessage: (event) => { + if (typeof onMessage === 'function') { + try { + const data = JSON.parse(event.data) + // 解析 CommonResult 包装 + const result = data.code === 0 ? data.data : data + onMessage(result) + } catch (e) { + console.error('解析 SSE 数据失败:', e) + } + } + }, + onerror: (err) => { + if (typeof onError === 'function') { + onError(err) + } + throw err // 不重试 + }, + onclose: () => { + if (typeof onClose === 'function') { + onClose() + } + }, + signal: ctrl ? ctrl.signal : undefined + }) +} diff --git a/frontend/app/web-gold/src/views/trends/Forecast.vue b/frontend/app/web-gold/src/views/trends/Forecast.vue index 66a6afda4b..f718dd4650 100644 --- a/frontend/app/web-gold/src/views/trends/Forecast.vue +++ b/frontend/app/web-gold/src/views/trends/Forecast.vue @@ -1,11 +1,10 @@ @@ -413,26 +414,26 @@ onMounted(() => { 综合 - 最热 - 最新 + 最多点赞 + 最新发布
不限 - 今天 - 本周 - 半年 + 最近一天 + 最近一周 + 最近半年
不限 - <1分钟 + 1分钟以内 1-5分钟 - >5分钟 + 5分钟以上
@@ -464,7 +465,7 @@ onMounted(() => {
@@ -535,16 +536,6 @@ onMounted(() => {
- -
- - -
-
@@ -566,21 +557,75 @@ onMounted(() => {
- + + +
+ {{ agent.name }} + {{ agent.categoryName }} +
+
+
+
+ + +
+ +
+ + +
+
+ + +
+
+ + {{ topicDetails.level }}% +
+
+ +
+ 保守 + 激进 +
+