diff --git a/api/deepExploration/deepExploration.js b/api/deepExploration/deepExploration.js index 800b626..ba4db57 100644 --- a/api/deepExploration/deepExploration.js +++ b/api/deepExploration/deepExploration.js @@ -74,6 +74,16 @@ export const getModel4Second = (data) => { }) } +// +export const getModeldefault = (data) => { + return http({ + method: 'POST', + url: '/api/coze/default', + data + }) +} + + //历史记录列表 diff --git a/api/tcpConnection.js b/api/tcpConnection.js index c31188e..c701ca3 100644 --- a/api/tcpConnection.js +++ b/api/tcpConnection.js @@ -6,7 +6,7 @@ */ // 引用TCP插件 -const TCPSocket = uni.requireNativePlugin('Aimer-TCPPlugin'); +// const TCPSocket = uni.requireNativePlugin('Aimer-TCPPlugin'); // const TCPSocket = uni.requireNativePlugin("Aimer-TCPPlugin"); // TCP连接配置 diff --git a/pages/deepExploration/MainForceActions.vue b/pages/deepExploration/MainForceActions.vue index 64f7ea9..b13fc2c 100644 --- a/pages/deepExploration/MainForceActions.vue +++ b/pages/deepExploration/MainForceActions.vue @@ -81,6 +81,7 @@ getModel3Second, getModel4First, getModel4Second, + getModeldefault } from '/api/deepExploration/deepExploration.js' import marked from 'marked'; // 引入 marked 库 import hljs from 'highlight.js'; @@ -162,60 +163,72 @@ const htmlContent = ref(''); const markdownContent = ref(''); + +const renderer = new marked.Renderer(); +renderer.heading = function(text, level) { + return `
${text}
`; +}; // 初始化 marked 配置(支持代码高亮) - marked.setOptions({ - highlight: (code, lang) => { - if (lang && hljs.getLanguage(lang)) { - return hljs.highlight(code, { language: lang }).value; - } - return hljs.highlightAuto(code).value; - }, - breaks: true, - gfm: true, - sanitize: true, // 过滤掉 Markdown 中的 inline style(可能导致横向溢出) - sanitizer: (html) => { - // 移除所有 style 属性,避免后端返回的 Markdown 带强制横向样式 - return html.replace(/style="[^"]*"/g, ''); - } - }); +marked.setOptions({ + renderer: new marked.Renderer(), + highlight: null, // 如果需要代码高亮,可以设置适当的函数 + langPrefix: "language-", + pedantic: false, + gfm: true, + breaks: false, + sanitize: false, + smartLists: true, + smartypants: false, + xhtml: false, +}); //点击主力追踪 const handleTrack = async () => { try { - markdownContent.value = '\n## 📊 主力解码分析:\n### 序列密码\n\tL2情绪解码。当前股票序列密码为53、0、17、158,市场情绪未出现确定性转折。\n\n### 股票温度\n\tL1情绪监控。当前股票温度为51,处于温热区,情绪积极向上,资金稳步进场。趋势健康,量价配合良好。此时应积极跟随趋势,顺势而为。\n\n### 市场温度\n\t当前市场温度为61,处于温热区,指数温和上行,技术面呈多头排列,资金有序进场,赚钱效应扩散。需警惕市场风险,以规避“甜蜜陷阱”。\n ' + markdownContent.value = '\n## 📊 主力追踪分析:\n\n### 🕵️ 主力行为\n\t1. 📊 该股庄家中长期筹码成本价格为 360.249,短期资金成本价格为 412.577。该股筹码分散,当日筹码成本价格为 444.330。\n\t2. 🔍 近日没有出现主力集中吸筹。\n\t3. 📈 近期主力持仓比例大于散户持仓比例。 当日主力持仓增加。 当日散户持仓减少。\n\n### 📊 空间维度:\n\t- 📉 预测低一值: 443.092 \n - 📈 预测高一值: 466.458\n\t- 📉 预测低二值: 447.354\n\t- 📈 预测高二值: 462.514\n\tAI智能均线空头排列,当前卖盘小于买盘\n\n### 综合作战\n\t\t\t当前股票处于安全区,牵牛绳为红色,出现蓝色推进K线。\n\t\t\t该股整体趋势相对较强,个股正处于推进上涨的关键阶段。若当前持有该股票,建议继续持有,进行持续跟踪。若当前无该股票,建议持续跟踪,等待适当时机再进行介入。\n\n---\n*该内容由AI生成,仅供参考,投资有风险,请注意甄别。*\n ' htmlContent.value = marked.parse(markdownContent.value); - loading.value = true; - // const result = await getModel1First({ - // content: searchName.value, - // language: "cn", - // marketList: "hk,cn,usa,my,sg,vi,in,gb", - // model: 1 - // }) - // console.log('result', result); - // if (result.code == 200) { - // stockCode.value = result.data.code - // stockName.value = result.data.name - // recordId.value = result.data.recordId - // parentId.value = result.data.parentId - // stockId.value = result.data.stockId - // language.value = result.data.language - // const res = await getModel1Second({ - // language: language.value, - // recordId: recordId.value, - // parentId: parentId.value, - // stockId: stockId.value, - // token: 'pCtw6AYK0EHAaIexoFHsbZjtsfEAIhcmwkCFm6uKko8VPfMvyDiODL9v9c0veic9fIpQbvT8zN4sH/Si6Q' - // }) - // if (res.code == 200) { - // markdownContent.value = res.data.markdown - // htmlContent.value = marked.parse(markdownContent.value); - // } - // console.log('res', res); - // } + loading.value = true; + // if(searchName.value){ + + // } + // const result = await getModel1First({ + // content: searchName.value, + // language: "cn", + // marketList: "hk,cn,usa,my,sg,vi,in,gb", + // model: 1 + // }) + // console.log('result', result); + // if (result.code == 200) { + // stockCode.value = result.data.code + // stockName.value = result.data.name + // recordId.value = result.data.recordId + // parentId.value = result.data.parentId + // stockId.value = result.data.stockId + // language.value = result.data.language + // }else{ + // return + // } + + + // const res = await getModel1Second({ + // language: language.value, + // recordId: recordId.value, + // parentId: parentId.value, + // stockId: stockId.value, + // token: 'pCtw6AYK0EHAaIexoFHsbZjtsfEAIhcmwkCFm6uKko8VPfMvyDiODL9v9c0veic9fIpQbvT8zN4sH/Si6Q' + // }) + // if (res.code == 200) { + // const rawMarkdown = res.data.markdown; + // const adaptedMarkdown = rawMarkdown.replace(/^### /gm, ''); // 全局替换行首的### + // markdownContent.value = adaptedMarkdown; + // // markdownContent.value = res.data.markdown + // htmlContent.value = marked.parse(markdownContent.value); + // } + // console.log('res', res); } catch { error.value = e.message || '加载失败,请重试'; - }finally{ + } finally { loading.value = false; } } @@ -234,7 +247,9 @@ const handleCapitalFlow = () => { } - +const handleDefault = async()=>{ + +} // 1. K线图配置 const opts = ref({ @@ -625,7 +640,7 @@ width: 100%; min-height: 100vh; background-color: #fff; - padding-bottom: 120rpx; + padding-bottom: 120rpx; .search { position: relative; @@ -824,47 +839,49 @@ min-height: 200rpx; padding: 20rpx 30rpx; margin-bottom: 100rpx; + ::v-deep * { - box-sizing: border-box; - width: 100% !important; // 强制所有解析后的标签占满容器宽度 - white-space: normal !important; // 取消强制不换行 - word-wrap: break-word !important; // 长词/长数字自动换行 - } - - // 标题样式(确保换行) - ::v-deep h2 { - font-size: 32rpx; - color: #333; - margin: 25rpx 0 15rpx; - line-height: 1.5; - } - - // 段落样式(核心换行控制) - ::v-deep p { - font-size: 26rpx; - color: #666; - margin: 15rpx 0; - line-height: 1.8; // 增加行高,提升可读性 - text-align: justify; // 两端对齐,避免单侧参差不齐 - } - - // 列表样式(纵向排列) - ::v-deep ul, ::v-deep ol { - margin: 15rpx 0 15rpx 30rpx; - } - - ::v-deep li { - margin: 10rpx 0; - line-height: 1.6; - } - - // 加载状态样式 - .loading { - text-align: center; - padding: 50rpx 0; - color: #666; - font-size: 26rpx; - } + box-sizing: border-box; + width: 100% !important; // 强制所有解析后的标签占满容器宽度 + white-space: normal !important; // 取消强制不换行 + word-wrap: break-word !important; // 长词/长数字自动换行 + } + + // 标题样式(确保换行) + ::v-deep h2 { + font-size: 32rpx; + color: #333; + margin: 25rpx 0 15rpx; + line-height: 1.5; + } + + // 段落样式(核心换行控制) + ::v-deep p { + font-size: 26rpx; + color: #666; + margin: 15rpx 0; + line-height: 1.8; // 增加行高,提升可读性 + text-align: justify; // 两端对齐,避免单侧参差不齐 + } + + // 列表样式(纵向排列) + ::v-deep ul, + ::v-deep ol { + margin: 15rpx 0 15rpx 30rpx; + } + + ::v-deep li { + margin: 10rpx 0; + line-height: 1.6; + } + + // 加载状态样式 + .loading { + text-align: center; + padding: 50rpx 0; + color: #666; + font-size: 26rpx; + } } } }