diff --git a/frontend/src/components/stock.vue b/frontend/src/components/stock.vue
index 7579b59..e528644 100644
--- a/frontend/src/components/stock.vue
+++ b/frontend/src/components/stock.vue
@@ -69,7 +69,7 @@ const kLineChartRef = ref(null);
const handleProgress = (progress) => {
- console.log(`Export progress: ${progress.ratio * 100}%`);
+ //console.log(`Export progress: ${progress.ratio * 100}%`);
};
const enableEditor= ref(false)
const mdPreviewRef = ref(null)
@@ -131,9 +131,9 @@ const danmakuColor = computed(()=> {
const icon = ref('https://raw.githubusercontent.com/ArvinLovegood/go-stock/master/build/appicon.png');
const sortedResults = computed(() => {
- //console.log("computed",sortedResults.value)
+ ////console.log("computed",sortedResults.value)
const sortedKeys =keys(results.value).sort();
- //console.log("sortedKeys",sortedKeys)
+ ////console.log("sortedKeys",sortedKeys)
const sortedObject = {};
sortedKeys.forEach(key => {
sortedObject[key] = results.value[key];
@@ -172,7 +172,7 @@ onBeforeMount(()=>{
followedStock.StockCode="gb_"+ followedStock.StockCode.replace("us", "").toLowerCase()
}
if (!stocks.value.includes(followedStock.StockCode)) {
- //console.log("followList",followedStock.StockCode)
+ ////console.log("followList",followedStock.StockCode)
stocks.value.push(followedStock.StockCode)
}
}
@@ -196,15 +196,15 @@ onBeforeMount(()=>{
sysPromptOptions.value=promptTemplates.value.filter(item => item.type === '模型系统Prompt')
userPromptOptions.value=promptTemplates.value.filter(item => item.type === '模型用户Prompt')
- console.log("userPromptOptions",userPromptOptions.value)
- console.log("sysPromptOptions",sysPromptOptions.value)
+ //console.log("userPromptOptions",userPromptOptions.value)
+ //console.log("sysPromptOptions",sysPromptOptions.value)
})
})
onMounted(() => {
message.loading("Loading...")
- // console.log(`the component is now mounted.`)
+ // //console.log(`the component is now mounted.`)
// ticker.value=setInterval(() => {
// if(isTradingTime()){
@@ -221,7 +221,7 @@ onMounted(() => {
//ws.value = new WebSocket('ws://localhost:16688/ws'); // 替换为你的 WebSocket 服务器地址
ws.value.onopen = () => {
- console.log('WebSocket 连接已打开');
+ //console.log('WebSocket 连接已打开');
};
ws.value.onmessage = (event) => {
@@ -235,12 +235,12 @@ onMounted(() => {
};
ws.value.onclose = () => {
- console.log('WebSocket 连接已关闭');
+ //console.log('WebSocket 连接已关闭');
};
})
onBeforeUnmount(() => {
- // console.log(`the component is now unmounted.`)
+ // //console.log(`the component is now unmounted.`)
//clearInterval(ticker.value)
ws.value.close()
message.destroyAll()
@@ -276,9 +276,9 @@ EventsOn("refreshFollowList",(data)=>{
})
EventsOn("newChatStream",async (msg) => {
- //console.log("newChatStream:->",data.airesult)
+ ////console.log("newChatStream:->",data.airesult)
data.loading = false
- //console.log(msg)
+ ////console.log(msg)
if (msg === "DONE") {
SaveAIResponseResult(data.code, data.name, data.airesult, data.chatId,data.question)
message.info("AI分析完成!")
@@ -317,8 +317,8 @@ EventsOn("updateVersion",async (msg) => {
const formattedDate = `${year}-${month}-${day} ${hours}:${minutes}:${seconds}`;
- console.log("GitHub UTC 时间:", utcDate);
- console.log("转换后的本地时间:", formattedDate);
+ //console.log("GitHub UTC 时间:", utcDate);
+ //console.log("转换后的本地时间:", formattedDate);
notify.info({
avatar: () =>
h(NAvatar, {
@@ -414,13 +414,13 @@ function AddStock(){
function removeMonitor(code,name,key) {
- console.log("removeMonitor",name,code,key)
+ //console.log("removeMonitor",name,code,key)
stocks.value.splice(stocks.value.indexOf(code),1)
- console.log("removeMonitor-key",key)
- console.log("removeMonitor-v",results.value[key])
+ //console.log("removeMonitor-key",key)
+ //console.log("removeMonitor-v",results.value[key])
delete results.value[key]
- console.log("removeMonitor-v",results.value[key])
+ //console.log("removeMonitor-v",results.value[key])
UnFollow(code).then(result => {
message.success(result)
@@ -430,8 +430,8 @@ function removeMonitor(code,name,key) {
function SendDanmu(){
//danmus.value.push(data.name)
- console.log("SendDanmu",data.name)
- console.log("SendDanmu-readyState", ws.value.readyState)
+ //console.log("SendDanmu",data.name)
+ //console.log("SendDanmu-readyState", ws.value.readyState)
ws.value.send(data.name)
}
@@ -439,7 +439,7 @@ function getStockList(value){
- // console.log("getStockList",value)
+ // //console.log("getStockList",value)
let result;
result=stockList.value.filter(item => item.name.includes(value)||item.ts_code.includes(value))
options.value=result.map(item => {
@@ -452,7 +452,7 @@ function getStockList(value){
data.code=value
}
- console.log("getStockList-options",data.code)
+ //console.log("getStockList-options",data.code)
if(data.code){
let findId=data.code
@@ -488,7 +488,7 @@ function blinkBorder(findId){
}
async function updateData(result) {
- //console.log("stock_price",result['日期'],result['时间'],result['股票代码'],result['股票名称'],result['当前价格'],result['盘前盘后'])
+ ////console.log("stock_price",result['日期'],result['时间'],result['股票代码'],result['股票名称'],result['当前价格'],result['盘前盘后'])
if(result["当前价格"]<=0){
result["当前价格"]=result["卖一报价"]
@@ -531,13 +531,13 @@ async function updateData(result) {
delete results.value[result.key]
}
- //console.log("updateData",result)
+ ////console.log("updateData",result)
}
async function monitor() {
for (let code of stocks.value) {
- // console.log(code)
+ // //console.log(code)
Greet(code).then(result => {
updateData(result)
})
@@ -547,12 +547,12 @@ async function monitor() {
function GetSortKey(sort,code){
let sortKey= padStart(sort,8,'0')+"_"+code
- //console.log("GetSortKey:",sortKey)
+ ////console.log("GetSortKey:",sortKey)
return sortKey
}
function onSelect(item) {
- //console.log("onSelect",item)
+ ////console.log("onSelect",item)
if(item.indexOf("-")>0){
item=item.split("-")[1].toLowerCase()
@@ -575,7 +575,7 @@ function search(code,name){
}
function setStock(code,name){
let res=followList.value.filter(item => item.StockCode===code)
- //console.log("res:",res)
+ ////console.log("res:",res)
formModel.value.name=name
formModel.value.code=code
formModel.value.volume=res[0].Volume?res[0].Volume:0
@@ -619,14 +619,14 @@ function calculateMA(dayCount,values) {
}
function handleKLine(){
GetStockKLine(data.code,data.name,365).then(result => {
- console.log("GetStockKLine",result)
+ //console.log("GetStockKLine",result)
const chart = echarts.init(kLineChartRef.value);
const categoryData = [];
const values = [];
const volumns=[];
for (let i = 0; i < result.length; i++) {
let resultElement=result[i]
- console.log("resultElement:{}",resultElement)
+ //console.log("resultElement:{}",resultElement)
categoryData.push(resultElement.day)
let flag=resultElement.close>resultElement.open?1:-1
values.push([
@@ -635,37 +635,68 @@ function handleKLine(){
resultElement.low,
resultElement.high
])
- volumns.push([i,resultElement.volume/100,flag])
+ volumns.push([i,resultElement.volume/10000,flag])
}
- //console.log("categoryData",categoryData)
- //console.log("values",values)
+ ////console.log("categoryData",categoryData)
+ ////console.log("values",values)
let option = {
- backgroundColor: '#ffffff',
- color:['#5470c6', '#91cc75', '#fac858', '#ee6666', '#73c0de', '#3ba272', '#fc8452', '#9a60b4', '#ea7ccc'],
+ darkMode: data.darkTheme,
+ //backgroundColor: '#1c1c1c',
+ // color:['#5470c6', '#91cc75', '#fac858', '#ee6666', '#73c0de', '#3ba272', '#fc8452', '#9a60b4', '#ea7ccc'],
animation: false,
legend: {
bottom: 10,
left: 'center',
- data: ['日K', 'MA5', 'MA10', 'MA20', 'MA30']
+ data: ['日K', 'MA5', 'MA10', 'MA20', 'MA30'],
+ textStyle: {
+ color: data.darkTheme?'#ccc':'#456'
+ },
},
tooltip: {
trigger: 'axis',
axisPointer: {
- type: 'cross'
+ type: 'cross',
+ lineStyle: {
+ color: '#376df4',
+ width: 1,
+ opacity: 1
+ }
},
- borderWidth: 1,
- borderColor: '#ccc',
+ borderWidth: 2,
+ borderColor: data.darkTheme?'#456':'#ccc',
+ backgroundColor: data.darkTheme?'#456':'#fff',
padding: 10,
textStyle: {
- color: '#000'
+ color: data.darkTheme?'#ccc':'#456'
},
- position: function (pos, params, el, elRect, size) {
- const obj = {
- top: 10
- };
- obj[['left', 'right'][+(pos[0] < size.viewSize[0] / 2)]] = 30;
- return obj;
+ formatter: function (params) {//修改鼠标划过显示为中文
+ console.log("params",params)
+ let volum=params[5].data;//ma5的值
+ let ma5=params[1].data;//ma5的值
+ let ma10=params[2].data;//ma10的值
+ let ma20=params[3].data;//ma20的值
+ let ma30=params[4].data;//ma30的值
+ params = params[0];//开盘收盘最低最高数据汇总
+ let currentItemData = params.data;
+
+ return params.name + '
' +
+ '开盘:' + currentItemData[1] + '
' +
+ '收盘:' + currentItemData[2] + '
' +
+ '最低:' + currentItemData[3] + '
' +
+ '最高:' + currentItemData[4] + '
' +
+ '成交量(万手):' + volum[1] + '
' +
+ 'MA5日均线:' + ma5 + '
' +
+ 'MA10日均线:' + ma10 + '
' +
+ 'MA20日均线:' + ma20 + '
' +
+ 'MA30日均线:' + ma30
}
+ // position: function (pos, params, el, elRect, size) {
+ // const obj = {
+ // top: 10
+ // };
+ // obj[['left', 'right'][+(pos[0] < size.viewSize[0] / 2)]] = 30;
+ // return obj;
+ // }
// extraCssText: 'width: 170px'
},
axisPointer: {
@@ -675,7 +706,7 @@ function handleKLine(){
}
],
label: {
- backgroundColor: '#777'
+ backgroundColor: '#888'
}
},
visualMap: {
@@ -697,7 +728,7 @@ function handleKLine(){
{
left: '10%',
right: '8%',
- height: '50%'
+ height: '50%',
},
{
left: '10%',
@@ -860,7 +891,7 @@ function handleKLine(){
smooth: true,
showSymbol: false,
lineStyle: {
- opacity: 0.5
+ opacity: 0.6
}
},
{
@@ -870,7 +901,7 @@ function handleKLine(){
smooth: true,
showSymbol: false,
lineStyle: {
- opacity: 0.5
+ opacity: 0.6
}
},
{
@@ -880,7 +911,7 @@ function handleKLine(){
smooth: true,
showSymbol: false,
lineStyle: {
- opacity: 0.5
+ opacity: 0.6
}
},
{
@@ -890,7 +921,7 @@ function handleKLine(){
smooth: true,
showSymbol: false,
lineStyle: {
- opacity: 0.5
+ opacity: 0.6
}
},
{
@@ -1228,13 +1259,13 @@ function updateTab(name){
currentGroupId.value=Number(name)
GetFollowList(currentGroupId.value).then(result => {
stocks.value=[]
- console.log("GetFollowList",result)
+ //console.log("GetFollowList",result)
followList.value = result
for (const followedStock of result) {
if(followedStock.StockCode.startsWith("us")){
followedStock.StockCode="gb_"+ followedStock.StockCode.replace("us", "").toLowerCase()
}
- //console.log("followList",followedStock.StockCode)
+ ////console.log("followList",followedStock.StockCode)
stocks.value.push(followedStock.StockCode)
}
monitor()