Browse Source

合并

lihuilin/feature-20251024095243-我的
ZhangYong 4 weeks ago
parent
commit
77ecd6819f
  1. 10
      api/deepExploration/deepExploration.js
  2. 10
      package-lock.json
  3. 7
      package.json
  4. 163
      pages/deepExploration/MainForceActions.vue

10
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
})
}
//历史记录列表 //历史记录列表

10
package-lock.json

@ -8,6 +8,7 @@
"@dcloudio/uni-ui": "^1.5.11", "@dcloudio/uni-ui": "^1.5.11",
"@element-plus/icons-vue": "^2.3.2", "@element-plus/icons-vue": "^2.3.2",
"element-plus": "^2.11.5", "element-plus": "^2.11.5",
"highlight.js": "^11.11.1",
"marked": "^2.0.1", "marked": "^2.0.1",
"pinia": "^3.0.3", "pinia": "^3.0.3",
"pinia-plugin-persistedstate": "^4.5.0", "pinia-plugin-persistedstate": "^4.5.0",
@ -480,6 +481,15 @@
"license": "MIT", "license": "MIT",
"peer": true "peer": true
}, },
"node_modules/highlight.js": {
"version": "11.11.1",
"resolved": "https://registry.npmmirror.com/highlight.js/-/highlight.js-11.11.1.tgz",
"integrity": "sha512-Xwwo44whKBVCYoliBQwaPvtd/2tYFkRQtXDWj1nackaV2JPXx3L0+Jvd8/qCJ2p+ML0/XVkJ2q+Mr+UVdpJK5w==",
"license": "BSD-3-Clause",
"engines": {
"node": ">=12.0.0"
}
},
"node_modules/hookable": { "node_modules/hookable": {
"version": "5.5.3", "version": "5.5.3",
"license": "MIT" "license": "MIT"

7
package.json

@ -3,11 +3,10 @@
"@dcloudio/uni-ui": "^1.5.11", "@dcloudio/uni-ui": "^1.5.11",
"@element-plus/icons-vue": "^2.3.2", "@element-plus/icons-vue": "^2.3.2",
"element-plus": "^2.11.5", "element-plus": "^2.11.5",
"vue-i18n": "^9.14.5",
"highlight.js": "^11.11.1",
"marked": "^2.0.1", "marked": "^2.0.1",
"pinia": "^3.0.3", "pinia": "^3.0.3",
"pinia-plugin-persistedstate": "^4.5.0"
"pinia-plugin-persistedstate": "^4.5.0",
"vue-i18n": "^9.14.5"
} }
} }

163
pages/deepExploration/MainForceActions.vue

@ -47,9 +47,12 @@
<view class="txt"> <view class="txt">
<view class="txtHeader"> <view class="txtHeader">
<image src="/static/deepExploration-images/plus.png" mode="aspectFill"></image> <image src="/static/deepExploration-images/plus.png" mode="aspectFill"></image>
<text>主力追踪</text>
<text>{{navItems[currentIndex].name}}</text>
</view>
<view class="txtContent">
<view v-if="loading" class="loading">加载中...</view>
<rich-text :nodes="htmlContent"></rich-text>
</view> </view>
<view class="txtContent"></view>
</view> </view>
</view> </view>
</view> </view>
@ -78,7 +81,11 @@
getModel3Second, getModel3Second,
getModel4First, getModel4First,
getModel4Second, getModel4Second,
getModeldefault
} from '/api/deepExploration/deepExploration.js' } from '/api/deepExploration/deepExploration.js'
import marked from 'marked'; // marked
import hljs from 'highlight.js';
import 'highlight.js/styles/atom-one-dark.css'; //
// //
const type = ref('deepExploration') const type = ref('deepExploration')
@ -116,12 +123,12 @@
} else if (currentIndex.value == 3) { } else if (currentIndex.value == 3) {
console.log(index); console.log(index);
handleModel(3) handleModel(3)
}else{
} else {
uni.showToast({ uni.showToast({
title: '请选择模块',
icon: 'none',
duration: 2000
})
title: '请选择模块',
icon: 'none',
duration: 2000
})
} }
} }
@ -150,34 +157,79 @@
const recordId = ref('') const recordId = ref('')
const parentId = ref('') const parentId = ref('')
const stockId = ref('') const stockId = ref('')
const loading = ref(true);
const error = ref('');
const htmlContent = ref('');
const markdownContent = ref('');
const renderer = new marked.Renderer();
renderer.heading = function(text, level) {
return `<p>${text}</p>`;
};
// marked
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 () => { const handleTrack = async () => {
try { try {
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
})
console.log('res', res);
}
markdownContent.value = '\n## 📊 主力追踪分析:\n\n### 🕵️ 主力行为\n\t1. 📊 该股庄家中长期筹码成本价格为 360.249,短期资金成本价格为 412.577。该股筹码分散,当日筹码成本价格为 444.330。\n\t2. 🔍 近日没有出现主力集中吸筹。\n\t3. 📈 近期主力持仓比例大于散户持仓比例。 当日主力持仓增加。 当日散户持仓减少。\n\n### 📊 空间维度:\n\t- 📉 预测低一值: <font color=\"#13c2c2\">443.092</font> \n - 📈 预测高一值: <font color=\"#ff4d4f\">466.458</font>\n\t- 📉 预测低二值: <font color=\"#13c2c2\">447.354</font>\n\t- 📈 预测高二值: <font color=\"#ff4d4f\">462.514</font>\n\t<font color=\"#722ed1\">AI智能均线空头排列,当前卖盘小于买盘</font>\n\n### 综合作战\n\t\t\t<font color=\"#fa8c16\">当前股票处于安全区,牵牛绳为红色,出现蓝色推进K线。</font>\n\t\t\t<font color=\"#eb2f96\">该股整体趋势相对较强,个股正处于推进上涨的关键阶段。若当前持有该股票,建议继续持有,进行持续跟踪。若当前无该股票,建议持续跟踪,等待适当时机再进行介入。</font>\n\n---\n<font color=\"#8c8c8c\">*该内容由AI生成,仅供参考,投资有风险,请注意甄别。*</font>\n '
htmlContent.value = marked.parse(markdownContent.value);
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 { } catch {
error.value = e.message || '加载失败,请重试';
} finally {
loading.value = false;
} }
} }
@ -195,7 +247,9 @@
const handleCapitalFlow = () => { const handleCapitalFlow = () => {
} }
const handleDefault = async()=>{
}
// 1. K线 // 1. K线
const opts = ref({ const opts = ref({
@ -584,8 +638,9 @@
<style scoped lang="scss"> <style scoped lang="scss">
.main { .main {
width: 100%; width: 100%;
height: 100vh;
min-height: 100vh;
background-color: #fff; background-color: #fff;
padding-bottom: 120rpx;
.search { .search {
position: relative; position: relative;
@ -660,7 +715,6 @@
} }
.graphAndTxt { .graphAndTxt {
height: 300rpx;
background-color: #fff; background-color: #fff;
border-radius: 50rpx 50rpx 0 0; border-radius: 50rpx 50rpx 0 0;
padding: 68.6rpx 36.5rpx 0 36.5rpx; padding: 68.6rpx 36.5rpx 0 36.5rpx;
@ -783,6 +837,51 @@
.txtContent { .txtContent {
min-height: 200rpx; 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;
}
} }
} }
} }

Loading…
Cancel
Save