Browse Source

Merge branch 'hongxilin/feature-20250924132429-大财神工作流框架' into milestone-20250924-接入大财神工作流

milestone-20250924-接入大财神工作流
no99 1 week ago
parent
commit
bf9393c4ce
  1. 359
      src/api/deepNine.js
  2. 173
      src/views/deepNine.vue

359
src/api/deepNine.js

@ -1,367 +1,16 @@
import request from "../utils/request";
const APIurl = import.meta.env.VITE_APP_API_BASE_URL;
const cozeAPIurl = import.meta.env.VITE_APP_API_BASE_CAZE_URL;
const MJAPIurl = import.meta.env.VITE_APP_MJ_API_BASE_URL;
const HWurl = import.meta.env.VITE_APP_API_BASE_HW_URL;
//各个模块权限code接口
export const pessionAPI = function (params) {
return request({
url: `${APIurl}/api/brain/privilege`,
method: "post",
data: new URLSearchParams(params),
headers: {
"Content-Type": "application/x-www-form-urlencoded",
},
});
};
//数据接口
export const dataListAPI = function (params) {
// URLSearchParams只接受全部字符串的数据
// 将传入数据转化成字符串
const StringParams = new URLSearchParams(
Object.entries(params).map(([key, value]) => [key, String(value)])
);
return request({
url: `${APIurl}/api/brain/data`,
method: "post",
data: StringParams,
headers: {
"Content-Type": "application/x-www-form-urlencoded",
},
});
};
//统计用户行为接口
export const computedUsersAPI = function (params) {
return request({
url: `${APIurl}/BrainStatistics/getStatistic`,
method: "post",
data: new URLSearchParams(params),
headers: {
"Content-Type": "application/x-www-form-urlencoded",
},
});
};
// 首次进入小财神
export const useAiGodAPI = function (params) {
return request({
url: `${APIurl}/api/ai_god/useAiGod`,
method: "post",
data: new URLSearchParams(params),
headers: {
"Content-Type": "application/x-www-form-urlencoded",
},
});
};
// 停留时间
export const updateStayTimeAPI = function (params) {
return request({
url: `${APIurl}/api/ai_god/updateStayTime`,
method: "post",
data: new URLSearchParams(params),
headers: {
"Content-Type": "application/x-www-form-urlencoded",
},
});
};
// 获取新闻接口
export const getNewsAPI = function () {
return request({
url: `${APIurl}/api/ai_god/news`,
method: "POST",
});
};
// 获取引导搜索词接口
export const getQuestionAPI = function () {
return request({
url: `${APIurl}/api/ai_god/shows`,
method: "POST",
data: new URLSearchParams({
type: "1",
num: "10",
state: "1",
}),
});
};
// 获取公告接口
export const getAnnouncementAPI = function () {
return request({
url: `${APIurl}/api/ai_god/shows`,
method: "POST",
data: new URLSearchParams({
type: "3",
num: "1",
state: "1",
}),
});
};
// 获取用户次数接口
export const getUserCountAPI = function (params) {
return request({
// 'http://39.101.133.168:8828/link/api/aiEmotion/client/getRemainNum',
url: `${APIurl}/api/aiEmotion/client/getRemainNum`,
method: "POST",
data: params,
// headers: {
// "Content-Type": "application/x-www-form-urlencoded",
// },
});
};
// 推荐问题/每日复盘/小财神简介点击事件接口
export const qsArpAamClickAPI = function (params) {
return request({
url: `${APIurl}/api/ai_god/shows/click`,
method: "POST",
data: new URLSearchParams(params),
headers: {
"Content-Type": "application/x-www-form-urlencoded",
},
});
};
// 财经新闻点击事件接口
export const newsClickAPI = function (params) {
return request({
url: `${APIurl}/api/ai_god/news/click`,
method: "POST",
data: new URLSearchParams(params),
headers: {
"Content-Type": "application/x-www-form-urlencoded",
},
});
};
// 获取回复接口
export const getReplyAPI = function (params) {
return fetch("https://api.coze.cn/v1/workflow/run", {
method: "POST",
body: JSON.stringify({
workflow_id: "7491496473373540363",
parameters: params,
}),
headers: {
"Content-Type": "application/json",
Authorization:
"Bearer pat_lK1fvhLn9LnWCRETP7yFeR6xQ0niwQdcHJ5ZqpnUk8BdiUWCraPLSzWhiQNp2zOl",
},
});
};
// 获取回复接口流式
export const getReplyStreamAPI = function (params) {
return fetch(`https://api.coze.cn/v1/workflow/stream_run`, {
method: "POST",
body: JSON.stringify({
workflow_id: "7481159261435854860",
parameters: params,
}),
headers: {
"Content-Type": "application/json",
Authorization:
"Bearer pat_lK1fvhLn9LnWCRETP7yFeR6xQ0niwQdcHJ5ZqpnUk8BdiUWCraPLSzWhiQNp2zOl",
},
});
};
// 接受音频
export const TTSAPI = function (params) {
return fetch("https://api.coze.cn/v1/workflow/run", {
method: "POST",
body: JSON.stringify({
workflow_id: "7481639836165275702",
parameters: params,
}),
headers: {
Authorization:
"Bearer pat_lK1fvhLn9LnWCRETP7yFeR6xQ0niwQdcHJ5ZqpnUk8BdiUWCraPLSzWhiQNp2zOl",
"Content-Type": "application/json",
},
});
};
// 反馈前台-用户提交反馈接口
export const addFeedbackAPI = function (params) {
return request({
url: `${APIurl}/api/ai_god/feedback/add`,
method: "POST",
data: new URLSearchParams(params),
headers: {
"Content-Type": "application/x-www-form-urlencoded",
},
});
};
// 反馈前台-查询该用户提交的全部反馈内容
export const getFeedbackAPI = function (params) {
return request({
url: `${APIurl}/api/ai_god/feedback/select`,
method: "POST",
data: new URLSearchParams(params),
headers: {
"Content-Type": "application/x-www-form-urlencoded",
},
});
};
// 公告-查询市场和股票
export const getMarketAndCodeAPI = function (params) {
return request({
url: `${APIurl}/api/ai_god/market/list`,
method: "POST",
data: new URLSearchParams(params),
headers: {
token:
"pCtw6AYK0EHAaIexoFHsbZjtsfEAIhcmwkCFm6uKko8VPfMvyDiODL9v9c0veic9fIpQbvT8zN4sH/Si6Q",
"Content-Type": "application/x-www-form-urlencoded",
},
});
};
// 登录获取次数接口
export const addUsageAPI = function (params) {
return request({
url: `${APIurl}/api/ai_god/addUsage`,
method: "POST",
data: new URLSearchParams(params),
headers: {
"Content-Type": "application/x-www-form-urlencoded",
},
});
};
// duobao11
export const dbqbFirstAPI = function (params) {
return request({
url: `${cozeAPIurl}/api/workflow/dbqbFirst`,
method: "POST",
data: params,
});
};
// duobao21
export const dbqbSecondOneAPI = function (params) {
return request({
url: `${cozeAPIurl}/api/workflow/dbqbSecondOne`,
method: "POST",
data: params,
});
};
// duobao22
export const dbqbSecondTwoAPI = function (params) {
return request({
url: `${cozeAPIurl}/api/workflow/dbqbSecondTwo`,
method: "POST",
data: params,
});
};
// duobao23
export const dbqbSecondThreeAPI = function (params) {
return request({
url: `${cozeAPIurl}/api/workflow/dbqbSecondThree`,
method: "POST",
data: params,
});
};
// duobao24
export const dbqbSecondFourAPI = function (params) {
return request({
url: `${cozeAPIurl}/api/workflow/dbqbSecondFour`,
method: "POST",
data: params,
});
};
// 历史记录 列表
export const getHistoryListAPI = function (params) {
return request({
url: `${APIurl}/api/workflow/listHistory`,
method: "POST",
data: params,
});
};
export const changeTopAPI = function (params) {
return request({
url: `${APIurl}/api/workflow/topRecord`,
method: "POST",
data: params,
headers: {
token: localStorage.getItem("localToken"),
},
});
};
export const deleteRecordAPI = function (params) {
return request({
url: `${APIurl}/api/workflow/deleteRecord`,
method: "POST",
data: params,
});
};
export const clickRecordAPI = function (params) {
return request({
url: `${APIurl}/api/workflow/clickRecord`,
method: "POST",
data: params,
});
};
// 8.18金币兑换Token start
export const showExchangeAPI = function (params) {
return request({
url: `${APIurl}/api/showExchange`,
method: "POST",
data: params,
headers: {
token: localStorage.getItem("localToken"),
},
});
};
export const godExchangeAPI = function (params) {
return request({
url: `${APIurl}/api/godExchange`,
method: "POST",
data: params,
headers: {
token: localStorage.getItem("localToken"),
},
});
};
export const exchangeAPI = function (params) {
return request({
url: `${APIurl}/api/exchange`,
method: "POST",
data: params,
});
};
export const getGoldCoinAPI = function (params) {
// 9.26深度九数据接口 start
export const getNineTurnsAPI = function (headers, params) {
return request({
url: `${HWurl}/api/haiwai/user/getGoldCoin`,
url: `${APIurl}/api/nineTurns/getNineTurns`,
method: "POST",
data: params,
});
};
export const getUserInfoAPI = function (params) {
return request({
url: `${HWurl}/api/v2/member/info`,
method: "POST",
data: params,
});
};
// 8.18金币兑换Token end
// 8.25权限控制 start
export const checkStatusAPI = function (headers, params) {
return request({
url: `${APIurl}/api/workflow/checkStatus`, method: "POST",
data: params,
headers: headers,
});
};
// 8.25权限控制 end
// 9.26深度九数据接口 end

173
src/views/deepNine.vue

@ -4,17 +4,14 @@ import { ElDialog, ElMessage } from "element-plus";
import MessageItem from "@/components/deepNine/MessageItem.vue";
import ThinkingGif from "@/components/deepNine/ThinkingGif.vue";
import {
getReplyStreamAPI,
getReplyAPI,
TTSAPI,
qsArpAamClickAPI,
dbqbFirstAPI,
dbqbSecondOneAPI,
dbqbSecondTwoAPI,
dbqbSecondThreeAPI,
dbqbSecondFourAPI,
dataListAPI,
} from "../api/deepNine";
} from "../api/AIxiaocaishen";
import { getNineTurnsAPI } from "../api/deepNine";
import { useUserStore } from "../store/userPessionCode";
import { useDeepNineStore } from "../store/deepNine";
import { useDeepNineAudioStore } from "../store/deepNineAudio";
@ -156,7 +153,6 @@ const playNextAudio = () => {
audioStore.nowSound = null;
audioStore.soundInstance = null;
isCallingPlayNext = false;
}
},
onstop: () => {
@ -406,7 +402,6 @@ const playAudio = (url) => {
};
handlePlay();
};
//
const pauseAudio = () => {
@ -668,34 +663,6 @@ const typeWriter = (text, callback) => {
}, 50); // ()
};
const fnGetData = (data) => {
const YaLiZhiChengLuoPan = data.YaLiZhiChengLuoPan;
let sz = ref(5.5); //
const yl = YaLiZhiChengLuoPan.Yali; //
const zc = YaLiZhiChengLuoPan.ZhiCheng; //
console.log("yl", yl, "zc", zc);
if (yl == "较大" && zc == "较弱") {
sz.value = 0.5; //
} else if (yl == "一般" && zc == "较弱") {
sz.value = 1.5; //
} else if (yl == "较弱" && zc == "较弱") {
sz.value = 2.5; //
} else if (yl == "较大" && zc == "较大") {
sz.value = 3.5; //
} else if (yl == "一般" && zc == "较大") {
sz.value = 4.5; //
} else if (yl == "较弱" && zc == "较大") {
sz.value = 5.5; //
} else if (yl == "较大" && zc == "一般") {
sz.value = 0.2;
} else if (yl == "一般" && zc == "一般") {
sz.value = 3;
} else if (yl == "较弱" && zc == "一般") {
sz.value = 5.8;
}
return sz.value;
};
const typingQueue = ref([]);
const isTypingInProgress = ref(false);
@ -1244,6 +1211,22 @@ watch(
try {
const env = import.meta.env.VITE_ENV;
const result9 = await getNineTurnsAPI(
{
token:
env == "development" || env == "test"
? "8Csj5VVX1UbIb4C3oxrnbZi0+fEeMx8pywnIlrmTm45Cb/EllzWACLto9J9+fCFsfdgBOvKvyY94FvqlvM0"
: "8nkj4QBV1RPIb4CzoRTnbZi0+fEeMx8pywnIlrmTxdwROKkuwWqAWu9orpkpeXVqL98DPfeonNYpHv+mucA",
},
{
market: codeData.value.market,
language: "cn",
code: codeData.value.code,
}
);
const result20 = await dataListAPI({
token:
env == "development" || env == "test"
@ -1637,75 +1620,7 @@ watch(
// type: "content1",
// content: ac1,
// });
//
if (HomePage) {
const LiuSeData = JSON.parse(JSON.stringify(toRaw(HomePage)));
const sz = fnGetData(LiuSeData);
if (sz) {
hasValidData.value = true;
console.log("hasValidData设置为:", hasValidData.value);
}
// K线
const klineMessageId1 = `kline-${Date.now()}`;
console.log("生成K线消息ID:", klineMessageId1);
addTypingTask(
{
sender: "ai",
class: "content1",
type: "content1",
kline: true,
chartData: sz,
messageId: klineMessageId1,
hasValidData: true,
klineType: 1,
},
"",
50
);
// chatStore.messages.push({
// sender: "ai",
// class: "content1",
// type: "content1",
// kline: true,
// chartData: sz,
// messageId: klineMessageId1,
// hasValidData: true,
// klineType: 1,
// });
// console.log("");
// //
// nextTick(() => {
// console.log("nextTick - ");
// console.log(":", chatStore.messages);
// // K线
// let klineIndex = -1;
// for (let i = 0; i < chatStore.messages.length; i++) {
// if (chatStore.messages[i].messageId === klineMessageId1) {
// klineIndex = i;
// break;
// }
// }
// console.log("K线:", klineIndex);
// if (klineIndex !== -1) {
// const containerId = `kline-container-${klineIndex}`;
// console.log("ID:", containerId);
// // DOM
// setTimeout(() => {
// console.log("DOM");
// KlineCanvsEcharts(containerId);
// }, 100); // DOM
// } else {
// console.warn("K线");
// }
// });
}
// K线
if (
AIGoldBull &&
@ -2620,58 +2535,6 @@ watch(
});
const HomePage = clickRecord.value.stockData.HomePage;
if (HomePage) {
const LiuSeData = JSON.parse(JSON.stringify(toRaw(HomePage)));
const sz = fnGetData(LiuSeData);
if (sz) {
hasValidData.value = true;
console.log("hasValidData设置为:", hasValidData.value);
}
// K线
const klineMessageId1 = `kline-${Date.now()}`;
console.log("生成K线消息ID:", klineMessageId1);
chatStore.messages.push({
sender: "ai",
class: "content1",
type: "content1",
kline: true,
chartData: sz,
messageId: klineMessageId1,
hasValidData: true,
klineType: 1,
});
//
nextTick(() => {
console.log("nextTick开始 - 准备渲染图表");
console.log("消息列表:", chatStore.messages);
// K线
let klineIndex = -1;
for (let i = 0; i < chatStore.messages.length; i++) {
if (chatStore.messages[i].messageId === klineMessageId1) {
klineIndex = i;
break;
}
}
console.log("找到的K线消息索引:", klineIndex);
if (klineIndex !== -1) {
const containerId = `kline-container-${klineIndex}`;
console.log("图表容器ID:", containerId);
// DOM
setTimeout(() => {
console.log("延时执行,确保DOM已渲染");
KlineCanvsEcharts(containerId);
}, 100); // DOM
} else {
console.warn("未找到K线消息");
}
});
}
const AIGoldBull = clickRecord.value.stockData.AIGoldBull;
// K线
if (

Loading…
Cancel
Save