diff --git a/api/customerServicePlatform/customerServicePlatform.js b/api/customerServicePlatform/customerServicePlatform.js index 0f20be0..0345ab0 100644 --- a/api/customerServicePlatform/customerServicePlatform.js +++ b/api/customerServicePlatform/customerServicePlatform.js @@ -14,7 +14,7 @@ export const uploadImageApi = (data) => { export const getAnswerApi = (data) => { return http({ method: 'POST', - url: 'http://pbb6edde.natappfree.cc' +'/api/customer/askQuestion', + url: '/api/customer/askQuestion', data }) } @@ -23,7 +23,7 @@ export const getAnswerApi = (data) => { export const getQuestionApi = (data) => { return http({ method: 'GET', - url: 'http://pbb6edde.natappfree.cc' +'/api/customer/getQuestion', + url: '/api/customer/getQuestion', }) } diff --git a/api/deepExploration/deepExploration.js b/api/deepExploration/deepExploration.js index e73c35c..616d832 100644 --- a/api/deepExploration/deepExploration.js +++ b/api/deepExploration/deepExploration.js @@ -101,6 +101,15 @@ export const RecordListApi = (data) => { data:data }) } + +//历史记录删除 +export const RecordListDeleteApi = (data) => { + return http({ + method: 'POST', + url: '/api/coze/deleteRecord', + data:data + }) +} // 选股策略 export const stocSelectApi = (data) => { return http({ diff --git a/common/stockTimeInformation.js b/common/stockTimeInformation.js index 9302d27..c53a88d 100644 --- a/common/stockTimeInformation.js +++ b/common/stockTimeInformation.js @@ -1,354 +1,2161 @@ /** @format */ export const prevClosePrice = 14.95; // 前一日收盘价(元) +export const smallTimeData = [ + // 1. 浦发银行(小幅震荡上涨) + { + code: "600000.SH", + name: "浦发银行", + times: ["9:30", "9:35", "9:40", "9:45", "9:50", "9:55", "10:00", "10:05", "10:10", "10:15", "10:20", + "10:25", "10:30", "10:35", "10:40", "10:45", "10:50", "10:55", "11:00", "11:05", "11:10", "11:15", + "13:00", "15:00" + ], + prices: [8.50, 8.52, 8.51, 8.53, 8.54, 8.53, 8.55, 8.56, 8.55, 8.57, 8.58, 8.57, 8.59, 8.60, 8.59, 8.61, + 8.62, 8.61, 8.63, 8.62, 8.64, 8.63, 8.65, 8.66 + ], + rise: true + }, + // 2. 贵州茅台(高位震荡) + { + code: "600519.SH", + name: "贵州茅台", + times: ["9:30", "9:35", "9:40", "9:45", "9:50", "9:55", "10:00", "10:05", "10:10", "10:15", "10:20", + "10:25", "10:30", "10:35", "10:40", "10:45", "10:50", "10:55", "11:00", "11:05", "11:10", "11:15", + "13:00", "15:00" + ], + prices: [1780.00, 1782.50, 1781.30, 1783.60, 1782.80, 1784.20, 1783.50, 1785.10, 1784.80, 1786.30, 1785.50, + 1787.20, 1786.80, 1788.10, 1787.50, 1789.30, 1788.70, 1790.20, 1789.50, 1791.10, 1790.30, 1792.00, + 1791.50, 1793.20 + ], + rise: true + }, + // 3. 宁德时代(单边下跌) + { + code: "300750.SZ", + name: "宁德时代", + times: ["9:30", "9:35", "9:40", "9:45", "9:50", "9:55", "10:00", "10:05", "10:10", "10:15", "10:20", + "10:25", "10:30", "10:35", "10:40", "10:45", "10:50", "10:55", "11:00", "11:05", "11:10", "11:15", + "13:00", "15:00" + ], + prices: [185.20, 184.80, 184.50, 184.20, 183.90, 183.50, 183.20, 182.80, 182.50, 182.20, 181.90, 181.50, + 181.20, 180.80, 180.50, 180.20, 179.80, 179.50, 179.20, 178.80, 178.50, 178.20, 177.80, 177.50 + ], + rise: false + }, + // 4. 比亚迪(宽幅震荡) + { + code: "002594.SZ", + name: "比亚迪", + times: ["9:30", "9:35", "9:40", "9:45", "9:50", "9:55", "10:00", "10:05", "10:10", "10:15", "10:20", + "10:25", "10:30", "10:35", "10:40", "10:45", "10:50", "10:55", "11:00", "11:05", "11:10", "11:15", + "13:00", "15:00" + ], + prices: [235.50, 236.80, 235.20, 237.10, 235.80, 236.50, 234.90, 236.20, 235.50, 237.50, 236.80, 238.20, + 237.50, 236.90, 238.50, 237.80, 239.10, 238.40, 237.70, 238.90, 238.20, 237.50, 238.10, 237.80 + ], + rise: false + }, + // 5. 腾讯控股(港股,小幅上涨) + { + code: "00700.HK", + name: "腾讯控股", + times: ["9:30", "9:35", "9:40", "9:45", "9:50", "9:55", "10:00", "10:05", "10:10", "10:15", "10:20", + "10:25", "10:30", "10:35", "10:40", "10:45", "10:50", "10:55", "11:00", "11:05", "11:10", "11:15", + "13:00", "15:00" + ], + prices: [320.20, 320.80, 321.10, 321.50, 321.20, 321.80, 322.10, 322.50, 322.20, 322.80, 323.10, 323.50, + 323.20, 323.80, 324.10, 324.50, 324.20, 324.80, 325.10, 325.50, 325.20, 325.80, 326.10, 326.50 + ], + rise: true + }, + // 6. 科创50ETF(横盘震荡) + { + code: "588000.SH", + name: "科创50ETF", + times: ["9:30", "9:35", "9:40", "9:45", "9:50", "9:55", "10:00", "10:05", "10:10", "10:15", "10:20", + "10:25", "10:30", "10:35", "10:40", "10:45", "10:50", "10:55", "11:00", "11:05", "11:10", "11:15", + "13:00", "15:00" + ], + prices: [1.185, 1.186, 1.185, 1.187, 1.186, 1.188, 1.187, 1.189, 1.188, 1.190, 1.189, 1.191, 1.190, 1.192, + 1.191, 1.193, 1.192, 1.194, 1.193, 1.195, 1.194, 1.196, 1.195, 1.197 + ], + rise: true + }, + // 7. 中国石油(单边上涨) + { + code: "601857.SH", + name: "中国石油", + times: ["9:30", "9:35", "9:40", "9:45", "9:50", "9:55", "10:00", "10:05", "10:10", "10:15", "10:20", + "10:25", "10:30", "10:35", "10:40", "10:45", "10:50", "10:55", "11:00", "11:05", "11:10", "11:15", + "13:00", "15:00" + ], + prices: [7.85, 7.88, 7.90, 7.92, 7.95, 7.97, 8.00, 8.02, 8.05, 8.07, 8.10, 8.12, 8.15, 8.17, 8.20, 8.22, + 8.25, 8.27, 8.30, 8.32, 8.35, 8.37, 8.40, 8.42 + ], + rise: true + }, + // 8. 药明康德(小幅下跌) + { + code: "603259.SH", + name: "药明康德", + times: ["9:30", "9:35", "9:40", "9:45", "9:50", "9:55", "10:00", "10:05", "10:10", "10:15", "10:20", + "10:25", "10:30", "10:35", "10:40", "10:45", "10:50", "10:55", "11:00", "11:05", "11:10", "11:15", + "13:00", "15:00" + ], + prices: [68.50, 68.30, 68.10, 67.90, 67.80, 67.60, 67.50, 67.30, 67.20, 67.00, 66.90, 66.70, 66.60, 66.40, + 66.30, 66.10, 66.00, 65.80, 65.70, 65.50, 65.40, 65.20, 65.10, 65.00 + ], + rise: false + }, + // 9. 隆基绿能(宽幅震荡上涨) + { + code: "601012.SH", + name: "隆基绿能", + times: ["9:30", "9:35", "9:40", "9:45", "9:50", "9:55", "10:00", "10:05", "10:10", "10:15", "10:20", + "10:25", "10:30", "10:35", "10:40", "10:45", "10:50", "10:55", "11:00", "11:05", "11:10", "11:15", + "13:00", "15:00" + ], + prices: [14.20, 14.35, 14.25, 14.40, 14.30, 14.50, 14.40, 14.60, 14.50, 14.70, 14.60, 14.80, 14.70, 14.90, + 14.80, 15.00, 14.90, 15.10, 15.00, 15.20, 15.10, 15.30, 15.20, 15.40 + ], + rise: true + }, + // 10. 小米集团-W(港股,横盘下跌) + { + code: "01810.HK", + name: "小米集团-W", + times: ["9:30", "9:35", "9:40", "9:45", "9:50", "9:55", "10:00", "10:05", "10:10", "10:15", "10:20", + "10:25", "10:30", "10:35", "10:40", "10:45", "10:50", "10:55", "11:00", "11:05", "11:10", "11:15", + "13:00", "15:00" + ], + prices: [18.50, 18.45, 18.40, 18.35, 18.30, 18.25, 18.20, 18.15, 18.10, 18.05, 18.00, 17.95, 17.90, 17.85, + 17.80, 17.75, 17.70, 17.65, 17.60, 17.55, 17.50, 17.45, 17.40, 17.35 + ], + rise: false + } +] export const timeData = [ - // 上午时段:9:30-11:30(共120个数据点) - { time: "09:30", price: 15.0, volume: 28500 }, // 开盘价15.00元,开盘放量 - { time: "09:31", price: 15.08, volume: 25300 }, - { time: "09:32", price: 15.12, volume: 22800 }, - { time: "09:33", price: 15.09, volume: 19600 }, - { time: "09:34", price: 15.15, volume: 17200 }, - { time: "09:35", price: 15.18, volume: 15800 }, - { time: "09:36", price: 15.16, volume: 14300 }, - { time: "09:37", price: 15.2, volume: 13500 }, - { time: "09:38", price: 15.17, volume: 12800 }, - { time: "09:39", price: 15.22, volume: 12100 }, - { time: "09:40", price: 15.25, volume: 11500 }, - { time: "09:41", price: 15.23, volume: 10800 }, - { time: "09:42", price: 15.26, volume: 10200 }, - { time: "09:43", price: 15.24, volume: 9800 }, - { time: "09:44", price: 15.28, volume: 9500 }, - { time: "09:45", price: 15.3, volume: 9200 }, - { time: "09:46", price: 15.27, volume: 8800 }, - { time: "09:47", price: 15.29, volume: 8500 }, - { time: "09:48", price: 15.32, volume: 8200 }, - { time: "09:49", price: 15.3, volume: 7900 }, - { time: "09:50", price: 15.33, volume: 7600 }, - { time: "09:51", price: 15.31, volume: 7400 }, - { time: "09:52", price: 15.34, volume: 7200 }, - { time: "09:53", price: 15.32, volume: 7000 }, - { time: "09:54", price: 15.35, volume: 6800 }, - { time: "09:55", price: 15.33, volume: 6600 }, - { time: "09:56", price: 15.36, volume: 6500 }, - { time: "09:57", price: 15.34, volume: 6300 }, - { time: "09:58", price: 15.37, volume: 6200 }, - { time: "09:59", price: 15.35, volume: 6100 }, - { time: "10:00", price: 15.38, volume: 6000 }, - { time: "10:01", price: 15.36, volume: 5900 }, - { time: "10:02", price: 15.39, volume: 5800 }, - { time: "10:03", price: 15.37, volume: 5700 }, - { time: "10:04", price: 15.4, volume: 5600 }, - { time: "10:05", price: 15.38, volume: 5500 }, - { time: "10:06", price: 15.41, volume: 15400 }, - { time: "10:07", price: 15.39, volume: 5300 }, - { time: "10:08", price: 15.42, volume: 5200 }, - { time: "10:09", price: 15.4, volume: 5100 }, - { time: "10:10", price: 15.43, volume: 5000 }, - { time: "10:11", price: 15.41, volume: 5100 }, - { time: "10:12", price: 15.44, volume: 5200 }, - { time: "10:13", price: 15.42, volume: 5300 }, - { time: "10:14", price: 15.45, volume: 5400 }, - { time: "10:15", price: 15.43, volume: 5500 }, - { time: "10:16", price: 15.46, volume: 5600 }, - { time: "10:17", price: 15.44, volume: 5700 }, - { time: "10:18", price: 15.47, volume: 5800 }, - { time: "10:19", price: 15.45, volume: 5900 }, - { time: "10:20", price: 15.48, volume: 6000 }, - { time: "10:21", price: 15.46, volume: 6100 }, - { time: "10:22", price: 15.49, volume: 6200 }, - { time: "10:23", price: 15.47, volume: 6300 }, - { time: "10:24", price: 15.5, volume: 6400 }, - { time: "10:25", price: 15.48, volume: 6500 }, - { time: "10:26", price: 15.51, volume: 6600 }, - { time: "10:27", price: 15.49, volume: 6700 }, - { time: "10:28", price: 15.52, volume: 6800 }, - { time: "10:29", price: 15.5, volume: 6900 }, - { time: "10:30", price: 15.53, volume: 7000 }, - { time: "10:31", price: 15.51, volume: 7100 }, - { time: "10:32", price: 15.54, volume: 7200 }, - { time: "10:33", price: 15.52, volume: 7300 }, - { time: "10:34", price: 15.55, volume: 7400 }, - { time: "10:35", price: 15.53, volume: 7500 }, - { time: "10:36", price: 15.56, volume: 7600 }, - { time: "10:37", price: 15.54, volume: 7700 }, - { time: "10:38", price: 15.57, volume: 7800 }, - { time: "10:39", price: 15.55, volume: 7900 }, - { time: "10:40", price: 15.58, volume: 8000 }, - { time: "10:41", price: 15.56, volume: 8100 }, - { time: "10:42", price: 15.59, volume: 8200 }, - { time: "10:43", price: 15.57, volume: 8300 }, - { time: "10:44", price: 15.6, volume: 8400 }, // 全天最高价15.60元 - { time: "10:45", price: 15.58, volume: 8300 }, - { time: "10:46", price: 15.56, volume: 8200 }, - { time: "10:47", price: 15.54, volume: 8100 }, - { time: "10:48", price: 15.52, volume: 8000 }, - { time: "10:49", price: 15.5, volume: 7900 }, - { time: "10:50", price: 15.48, volume: 7800 }, - { time: "10:51", price: 15.46, volume: 7700 }, - { time: "10:52", price: 15.44, volume: 7600 }, - { time: "10:53", price: 15.42, volume: 7500 }, - { time: "10:54", price: 15.4, volume: 7400 }, - { time: "10:55", price: 15.38, volume: 7300 }, - { time: "10:56", price: 15.36, volume: 7200 }, - { time: "10:57", price: 15.34, volume: 7100 }, - { time: "10:58", price: 15.32, volume: 7000 }, - { time: "10:59", price: 15.3, volume: 6900 }, - { time: "11:00", price: 15.28, volume: 6800 }, - { time: "11:01", price: 15.26, volume: 6700 }, - { time: "11:02", price: 15.24, volume: 6600 }, - { time: "11:03", price: 15.22, volume: 6500 }, - { time: "11:04", price: 15.2, volume: 6400 }, // 全天最低价15.20元 - { time: "11:05", price: 15.22, volume: 6500 }, - { time: "11:06", price: 15.24, volume: 6600 }, - { time: "11:07", price: 15.26, volume: 6700 }, - { time: "11:08", price: 15.28, volume: 6800 }, - { time: "11:09", price: 15.3, volume: 6900 }, - { time: "11:10", price: 15.32, volume: 7000 }, - { time: "11:11", price: 15.34, volume: 7100 }, - { time: "11:12", price: 15.36, volume: 7200 }, - { time: "11:13", price: 15.38, volume: 7300 }, - { time: "11:14", price: 15.4, volume: 7400 }, - { time: "11:15", price: 15.42, volume: 7500 }, - { time: "11:16", price: 15.44, volume: 7600 }, - { time: "11:17", price: 15.46, volume: 7700 }, - { time: "11:18", price: 15.48, volume: 7800 }, - { time: "11:19", price: 15.5, volume: 7900 }, - { time: "11:20", price: 15.45, volume: 8300 }, - { time: "11:21", price: 15.47, volume: 8600 }, - { time: "11:22", price: 15.43, volume: 9100 }, - { time: "11:23", price: 15.46, volume: 9500 }, - { time: "11:24", price: 15.49, volume: 10200 }, - { time: "11:25", price: 15.5, volume: 11500 }, - { time: "11:26", price: 15.48, volume: 12800 }, - { time: "11:27", price: 15.52, volume: 14300 }, - { time: "11:28", price: 15.5, volume: 16500 }, - { time: "11:29", price: 15.53, volume: 19800 }, // 午盘收盘价15.53元 + // 上午时段:9:30-11:30(共120个数据点) + { + time: "09:30", + price: 15.0, + volume: 28500 + }, // 开盘价15.00元,开盘放量 + { + time: "09:31", + price: 15.08, + volume: 25300 + }, + { + time: "09:32", + price: 15.12, + volume: 22800 + }, + { + time: "09:33", + price: 15.09, + volume: 19600 + }, + { + time: "09:34", + price: 15.15, + volume: 17200 + }, + { + time: "09:35", + price: 15.18, + volume: 15800 + }, + { + time: "09:36", + price: 15.16, + volume: 14300 + }, + { + time: "09:37", + price: 15.2, + volume: 13500 + }, + { + time: "09:38", + price: 15.17, + volume: 12800 + }, + { + time: "09:39", + price: 15.22, + volume: 12100 + }, + { + time: "09:40", + price: 15.25, + volume: 11500 + }, + { + time: "09:41", + price: 15.23, + volume: 10800 + }, + { + time: "09:42", + price: 15.26, + volume: 10200 + }, + { + time: "09:43", + price: 15.24, + volume: 9800 + }, + { + time: "09:44", + price: 15.28, + volume: 9500 + }, + { + time: "09:45", + price: 15.3, + volume: 9200 + }, + { + time: "09:46", + price: 15.27, + volume: 8800 + }, + { + time: "09:47", + price: 15.29, + volume: 8500 + }, + { + time: "09:48", + price: 15.32, + volume: 8200 + }, + { + time: "09:49", + price: 15.3, + volume: 7900 + }, + { + time: "09:50", + price: 15.33, + volume: 7600 + }, + { + time: "09:51", + price: 15.31, + volume: 7400 + }, + { + time: "09:52", + price: 15.34, + volume: 7200 + }, + { + time: "09:53", + price: 15.32, + volume: 7000 + }, + { + time: "09:54", + price: 15.35, + volume: 6800 + }, + { + time: "09:55", + price: 15.33, + volume: 6600 + }, + { + time: "09:56", + price: 15.36, + volume: 6500 + }, + { + time: "09:57", + price: 15.34, + volume: 6300 + }, + { + time: "09:58", + price: 15.37, + volume: 6200 + }, + { + time: "09:59", + price: 15.35, + volume: 6100 + }, + { + time: "10:00", + price: 15.38, + volume: 6000 + }, + { + time: "10:01", + price: 15.36, + volume: 5900 + }, + { + time: "10:02", + price: 15.39, + volume: 5800 + }, + { + time: "10:03", + price: 15.37, + volume: 5700 + }, + { + time: "10:04", + price: 15.4, + volume: 5600 + }, + { + time: "10:05", + price: 15.38, + volume: 5500 + }, + { + time: "10:06", + price: 15.41, + volume: 15400 + }, + { + time: "10:07", + price: 15.39, + volume: 5300 + }, + { + time: "10:08", + price: 15.42, + volume: 5200 + }, + { + time: "10:09", + price: 15.4, + volume: 5100 + }, + { + time: "10:10", + price: 15.43, + volume: 5000 + }, + { + time: "10:11", + price: 15.41, + volume: 5100 + }, + { + time: "10:12", + price: 15.44, + volume: 5200 + }, + { + time: "10:13", + price: 15.42, + volume: 5300 + }, + { + time: "10:14", + price: 15.45, + volume: 5400 + }, + { + time: "10:15", + price: 15.43, + volume: 5500 + }, + { + time: "10:16", + price: 15.46, + volume: 5600 + }, + { + time: "10:17", + price: 15.44, + volume: 5700 + }, + { + time: "10:18", + price: 15.47, + volume: 5800 + }, + { + time: "10:19", + price: 15.45, + volume: 5900 + }, + { + time: "10:20", + price: 15.48, + volume: 6000 + }, + { + time: "10:21", + price: 15.46, + volume: 6100 + }, + { + time: "10:22", + price: 15.49, + volume: 6200 + }, + { + time: "10:23", + price: 15.47, + volume: 6300 + }, + { + time: "10:24", + price: 15.5, + volume: 6400 + }, + { + time: "10:25", + price: 15.48, + volume: 6500 + }, + { + time: "10:26", + price: 15.51, + volume: 6600 + }, + { + time: "10:27", + price: 15.49, + volume: 6700 + }, + { + time: "10:28", + price: 15.52, + volume: 6800 + }, + { + time: "10:29", + price: 15.5, + volume: 6900 + }, + { + time: "10:30", + price: 15.53, + volume: 7000 + }, + { + time: "10:31", + price: 15.51, + volume: 7100 + }, + { + time: "10:32", + price: 15.54, + volume: 7200 + }, + { + time: "10:33", + price: 15.52, + volume: 7300 + }, + { + time: "10:34", + price: 15.55, + volume: 7400 + }, + { + time: "10:35", + price: 15.53, + volume: 7500 + }, + { + time: "10:36", + price: 15.56, + volume: 7600 + }, + { + time: "10:37", + price: 15.54, + volume: 7700 + }, + { + time: "10:38", + price: 15.57, + volume: 7800 + }, + { + time: "10:39", + price: 15.55, + volume: 7900 + }, + { + time: "10:40", + price: 15.58, + volume: 8000 + }, + { + time: "10:41", + price: 15.56, + volume: 8100 + }, + { + time: "10:42", + price: 15.59, + volume: 8200 + }, + { + time: "10:43", + price: 15.57, + volume: 8300 + }, + { + time: "10:44", + price: 15.6, + volume: 8400 + }, // 全天最高价15.60元 + { + time: "10:45", + price: 15.58, + volume: 8300 + }, + { + time: "10:46", + price: 15.56, + volume: 8200 + }, + { + time: "10:47", + price: 15.54, + volume: 8100 + }, + { + time: "10:48", + price: 15.52, + volume: 8000 + }, + { + time: "10:49", + price: 15.5, + volume: 7900 + }, + { + time: "10:50", + price: 15.48, + volume: 7800 + }, + { + time: "10:51", + price: 15.46, + volume: 7700 + }, + { + time: "10:52", + price: 15.44, + volume: 7600 + }, + { + time: "10:53", + price: 15.42, + volume: 7500 + }, + { + time: "10:54", + price: 15.4, + volume: 7400 + }, + { + time: "10:55", + price: 15.38, + volume: 7300 + }, + { + time: "10:56", + price: 15.36, + volume: 7200 + }, + { + time: "10:57", + price: 15.34, + volume: 7100 + }, + { + time: "10:58", + price: 15.32, + volume: 7000 + }, + { + time: "10:59", + price: 15.3, + volume: 6900 + }, + { + time: "11:00", + price: 15.28, + volume: 6800 + }, + { + time: "11:01", + price: 15.26, + volume: 6700 + }, + { + time: "11:02", + price: 15.24, + volume: 6600 + }, + { + time: "11:03", + price: 15.22, + volume: 6500 + }, + { + time: "11:04", + price: 15.2, + volume: 6400 + }, // 全天最低价15.20元 + { + time: "11:05", + price: 15.22, + volume: 6500 + }, + { + time: "11:06", + price: 15.24, + volume: 6600 + }, + { + time: "11:07", + price: 15.26, + volume: 6700 + }, + { + time: "11:08", + price: 15.28, + volume: 6800 + }, + { + time: "11:09", + price: 15.3, + volume: 6900 + }, + { + time: "11:10", + price: 15.32, + volume: 7000 + }, + { + time: "11:11", + price: 15.34, + volume: 7100 + }, + { + time: "11:12", + price: 15.36, + volume: 7200 + }, + { + time: "11:13", + price: 15.38, + volume: 7300 + }, + { + time: "11:14", + price: 15.4, + volume: 7400 + }, + { + time: "11:15", + price: 15.42, + volume: 7500 + }, + { + time: "11:16", + price: 15.44, + volume: 7600 + }, + { + time: "11:17", + price: 15.46, + volume: 7700 + }, + { + time: "11:18", + price: 15.48, + volume: 7800 + }, + { + time: "11:19", + price: 15.5, + volume: 7900 + }, + { + time: "11:20", + price: 15.45, + volume: 8300 + }, + { + time: "11:21", + price: 15.47, + volume: 8600 + }, + { + time: "11:22", + price: 15.43, + volume: 9100 + }, + { + time: "11:23", + price: 15.46, + volume: 9500 + }, + { + time: "11:24", + price: 15.49, + volume: 10200 + }, + { + time: "11:25", + price: 15.5, + volume: 11500 + }, + { + time: "11:26", + price: 15.48, + volume: 12800 + }, + { + time: "11:27", + price: 15.52, + volume: 14300 + }, + { + time: "11:28", + price: 15.5, + volume: 16500 + }, + { + time: "11:29", + price: 15.53, + volume: 19800 + }, // 午盘收盘价15.53元 - // 下午时段:13:00-15:00(共120个数据点) - { time: "13:00", price: 15.55, volume: 24600 }, // 午后开盘冲高 - { time: "13:01", price: 15.58, volume: 21300 }, - { time: "13:02", price: 15.6, volume: 18700 }, // 再次触及全天最高价 - { time: "13:03", price: 15.57, volume: 16200 }, - { time: "13:04", price: 15.55, volume: 14500 }, - { time: "13:05", price: 15.52, volume: 12800 }, - { time: "13:06", price: 15.5, volume: 11300 }, - { time: "13:07", price: 15.48, volume: 10100 }, - { time: "13:08", price: 15.5, volume: 9500 }, - { time: "13:09", price: 15.47, volume: 8900 }, - { time: "13:10", price: 15.45, volume: 8300 }, - { time: "13:11", price: 15.43, volume: 7800 }, - { time: "13:12", price: 15.46, volume: 7500 }, - { time: "13:13", price: 15.44, volume: 7200 }, - { time: "13:14", price: 15.42, volume: 6900 }, - { time: "13:15", price: 15.45, volume: 6700 }, - { time: "13:16", price: 15.43, volume: 6500 }, - { time: "13:17", price: 15.4, volume: 6300 }, - { time: "13:18", price: 15.42, volume: 6100 }, - { time: "13:19", price: 15.39, volume: 5900 }, - { time: "13:20", price: 15.41, volume: 5800 }, - { time: "13:21", price: 15.39, volume: 5700 }, - { time: "13:22", price: 15.42, volume: 5600 }, - { time: "13:23", price: 15.4, volume: 5500 }, - { time: "13:24", price: 15.43, volume: 5400 }, - { time: "13:25", price: 15.41, volume: 5300 }, - { time: "13:26", price: 15.44, volume: 5200 }, - { time: "13:27", price: 15.42, volume: 5100 }, - { time: "13:28", price: 15.45, volume: 5000 }, - { time: "13:29", price: 15.43, volume: 5100 }, - { time: "13:30", price: 15.46, volume: 5200 }, - { time: "13:31", price: 15.44, volume: 5300 }, - { time: "13:32", price: 15.47, volume: 5400 }, - { time: "13:33", price: 15.45, volume: 5500 }, - { time: "13:34", price: 15.48, volume: 5600 }, - { time: "13:35", price: 15.46, volume: 5700 }, - { time: "13:36", price: 15.49, volume: 5800 }, - { time: "13:37", price: 15.47, volume: 5900 }, - { time: "13:38", price: 15.5, volume: 6000 }, - { time: "13:39", price: 15.48, volume: 6100 }, - { time: "13:40", price: 15.51, volume: 6200 }, - { time: "13:41", price: 15.49, volume: 6300 }, - { time: "13:42", price: 15.52, volume: 6400 }, - { time: "13:43", price: 15.5, volume: 6500 }, - { time: "13:44", price: 15.53, volume: 6600 }, - { time: "13:45", price: 15.51, volume: 6700 }, - { time: "13:46", price: 15.54, volume: 6800 }, - { time: "13:47", price: 15.52, volume: 6900 }, - { time: "13:48", price: 15.55, volume: 7000 }, - { time: "13:49", price: 15.53, volume: 7100 }, - { time: "13:50", price: 15.56, volume: 7200 }, - { time: "13:51", price: 15.54, volume: 7300 }, - { time: "13:52", price: 15.57, volume: 7400 }, - { time: "13:53", price: 15.55, volume: 7500 }, - { time: "13:54", price: 15.58, volume: 7600 }, - { time: "13:55", price: 15.56, volume: 7700 }, - { time: "13:56", price: 15.59, volume: 7800 }, - { time: "13:57", price: 15.57, volume: 7900 }, - { time: "13:58", price: 15.6, volume: 8000 }, // 第三次触及全天最高价 - { time: "13:59", price: 15.58, volume: 8100 }, - { time: "14:00", price: 15.56, volume: 8200 }, - { time: "14:01", price: 15.54, volume: 8300 }, - { time: "14:02", price: 15.52, volume: 8400 }, - { time: "14:03", price: 15.5, volume: 8300 }, - { time: "14:04", price: 15.48, volume: 8200 }, - { time: "14:05", price: 15.46, volume: 8100 }, - { time: "14:06", price: 15.44, volume: 8000 }, - { time: "14:07", price: 15.42, volume: 7900 }, - { time: "14:08", price: 15.4, volume: 7800 }, - { time: "14:09", price: 15.38, volume: 7700 }, - { time: "14:10", price: 15.36, volume: 7600 }, - { time: "14:11", price: 15.34, volume: 7500 }, - { time: "14:12", price: 15.32, volume: 7400 }, - { time: "14:13", price: 15.3, volume: 7300 }, - { time: "14:14", price: 15.28, volume: 7200 }, - { time: "14:15", price: 15.26, volume: 7100 }, - { time: "14:16", price: 15.24, volume: 7000 }, - { time: "14:17", price: 15.22, volume: 6900 }, - { time: "14:18", price: 15.2, volume: 6800 }, // 再次触及全天最低价 - { time: "14:19", price: 15.22, volume: 6700 }, - { time: "14:20", price: 15.24, volume: 6600 }, - { time: "14:21", price: 15.26, volume: 6500 }, - { time: "14:22", price: 15.28, volume: 6400 }, - { time: "14:23", price: 15.3, volume: 6300 }, - { time: "14:24", price: 15.32, volume: 6200 }, - { time: "14:25", price: 15.34, volume: 6100 }, - { time: "14:26", price: 15.36, volume: 6000 }, - { time: "14:27", price: 15.38, volume: 5900 }, - { time: "14:28", price: 15.4, volume: 5800 }, - { time: "14:29", price: 15.42, volume: 5700 }, - { time: "14:30", price: 15.44, volume: 5600 }, - { time: "14:31", price: 15.46, volume: 5500 }, - { time: "14:32", price: 15.48, volume: 5400 }, - { time: "14:33", price: 15.5, volume: 5300 }, - { time: "14:34", price: 15.52, volume: 5200 }, - { time: "14:35", price: 15.54, volume: 5100 }, - { time: "14:36", price: 15.56, volume: 5000 }, - { time: "14:37", price: 15.54, volume: 5100 }, - { time: "14:38", price: 15.52, volume: 5200 }, - { time: "14:39", price: 15.5, volume: 5300 }, - { time: "14:40", price: 15.48, volume: 5400 }, - { time: "14:41", price: 15.46, volume: 5500 }, - { time: "14:42", price: 15.44, volume: 5600 }, - { time: "14:43", price: 15.42, volume: 5700 }, - { time: "14:44", price: 15.4, volume: 5800 }, - { time: "14:45", price: 15.38, volume: 5900 }, - { time: "14:46", price: 15.36, volume: 6000 }, - { time: "14:47", price: 15.34, volume: 6100 }, - { time: "14:48", price: 15.32, volume: 6200 }, - { time: "14:49", price: 15.3, volume: 6300 }, - { time: "14:50", price: 15.42, volume: 9800 }, // 尾盘开始放量 - { time: "14:51", price: 15.45, volume: 11500 }, - { time: "14:52", price: 15.43, volume: 13200 }, - { time: "14:53", price: 15.46, volume: 15800 }, - { time: "14:54", price: 15.44, volume: 18500 }, - { time: "14:55", price: 15.47, volume: 21300 }, - { time: "14:56", price: 15.45, volume: 24600 }, - { time: "14:57", price: 15.48, volume: 27800 }, - { time: "14:58", price: 15.46, volume: 31200 }, // 尾盘成交量峰值 - { time: "14:59", price: 15.45, volume: 28500 }, // 当日收盘价15.45元 + // 下午时段:13:00-15:00(共120个数据点) + { + time: "13:00", + price: 15.55, + volume: 24600 + }, // 午后开盘冲高 + { + time: "13:01", + price: 15.58, + volume: 21300 + }, + { + time: "13:02", + price: 15.6, + volume: 18700 + }, // 再次触及全天最高价 + { + time: "13:03", + price: 15.57, + volume: 16200 + }, + { + time: "13:04", + price: 15.55, + volume: 14500 + }, + { + time: "13:05", + price: 15.52, + volume: 12800 + }, + { + time: "13:06", + price: 15.5, + volume: 11300 + }, + { + time: "13:07", + price: 15.48, + volume: 10100 + }, + { + time: "13:08", + price: 15.5, + volume: 9500 + }, + { + time: "13:09", + price: 15.47, + volume: 8900 + }, + { + time: "13:10", + price: 15.45, + volume: 8300 + }, + { + time: "13:11", + price: 15.43, + volume: 7800 + }, + { + time: "13:12", + price: 15.46, + volume: 7500 + }, + { + time: "13:13", + price: 15.44, + volume: 7200 + }, + { + time: "13:14", + price: 15.42, + volume: 6900 + }, + { + time: "13:15", + price: 15.45, + volume: 6700 + }, + { + time: "13:16", + price: 15.43, + volume: 6500 + }, + { + time: "13:17", + price: 15.4, + volume: 6300 + }, + { + time: "13:18", + price: 15.42, + volume: 6100 + }, + { + time: "13:19", + price: 15.39, + volume: 5900 + }, + { + time: "13:20", + price: 15.41, + volume: 5800 + }, + { + time: "13:21", + price: 15.39, + volume: 5700 + }, + { + time: "13:22", + price: 15.42, + volume: 5600 + }, + { + time: "13:23", + price: 15.4, + volume: 5500 + }, + { + time: "13:24", + price: 15.43, + volume: 5400 + }, + { + time: "13:25", + price: 15.41, + volume: 5300 + }, + { + time: "13:26", + price: 15.44, + volume: 5200 + }, + { + time: "13:27", + price: 15.42, + volume: 5100 + }, + { + time: "13:28", + price: 15.45, + volume: 5000 + }, + { + time: "13:29", + price: 15.43, + volume: 5100 + }, + { + time: "13:30", + price: 15.46, + volume: 5200 + }, + { + time: "13:31", + price: 15.44, + volume: 5300 + }, + { + time: "13:32", + price: 15.47, + volume: 5400 + }, + { + time: "13:33", + price: 15.45, + volume: 5500 + }, + { + time: "13:34", + price: 15.48, + volume: 5600 + }, + { + time: "13:35", + price: 15.46, + volume: 5700 + }, + { + time: "13:36", + price: 15.49, + volume: 5800 + }, + { + time: "13:37", + price: 15.47, + volume: 5900 + }, + { + time: "13:38", + price: 15.5, + volume: 6000 + }, + { + time: "13:39", + price: 15.48, + volume: 6100 + }, + { + time: "13:40", + price: 15.51, + volume: 6200 + }, + { + time: "13:41", + price: 15.49, + volume: 6300 + }, + { + time: "13:42", + price: 15.52, + volume: 6400 + }, + { + time: "13:43", + price: 15.5, + volume: 6500 + }, + { + time: "13:44", + price: 15.53, + volume: 6600 + }, + { + time: "13:45", + price: 15.51, + volume: 6700 + }, + { + time: "13:46", + price: 15.54, + volume: 6800 + }, + { + time: "13:47", + price: 15.52, + volume: 6900 + }, + { + time: "13:48", + price: 15.55, + volume: 7000 + }, + { + time: "13:49", + price: 15.53, + volume: 7100 + }, + { + time: "13:50", + price: 15.56, + volume: 7200 + }, + { + time: "13:51", + price: 15.54, + volume: 7300 + }, + { + time: "13:52", + price: 15.57, + volume: 7400 + }, + { + time: "13:53", + price: 15.55, + volume: 7500 + }, + { + time: "13:54", + price: 15.58, + volume: 7600 + }, + { + time: "13:55", + price: 15.56, + volume: 7700 + }, + { + time: "13:56", + price: 15.59, + volume: 7800 + }, + { + time: "13:57", + price: 15.57, + volume: 7900 + }, + { + time: "13:58", + price: 15.6, + volume: 8000 + }, // 第三次触及全天最高价 + { + time: "13:59", + price: 15.58, + volume: 8100 + }, + { + time: "14:00", + price: 15.56, + volume: 8200 + }, + { + time: "14:01", + price: 15.54, + volume: 8300 + }, + { + time: "14:02", + price: 15.52, + volume: 8400 + }, + { + time: "14:03", + price: 15.5, + volume: 8300 + }, + { + time: "14:04", + price: 15.48, + volume: 8200 + }, + { + time: "14:05", + price: 15.46, + volume: 8100 + }, + { + time: "14:06", + price: 15.44, + volume: 8000 + }, + { + time: "14:07", + price: 15.42, + volume: 7900 + }, + { + time: "14:08", + price: 15.4, + volume: 7800 + }, + { + time: "14:09", + price: 15.38, + volume: 7700 + }, + { + time: "14:10", + price: 15.36, + volume: 7600 + }, + { + time: "14:11", + price: 15.34, + volume: 7500 + }, + { + time: "14:12", + price: 15.32, + volume: 7400 + }, + { + time: "14:13", + price: 15.3, + volume: 7300 + }, + { + time: "14:14", + price: 15.28, + volume: 7200 + }, + { + time: "14:15", + price: 15.26, + volume: 7100 + }, + { + time: "14:16", + price: 15.24, + volume: 7000 + }, + { + time: "14:17", + price: 15.22, + volume: 6900 + }, + { + time: "14:18", + price: 15.2, + volume: 6800 + }, // 再次触及全天最低价 + { + time: "14:19", + price: 15.22, + volume: 6700 + }, + { + time: "14:20", + price: 15.24, + volume: 6600 + }, + { + time: "14:21", + price: 15.26, + volume: 6500 + }, + { + time: "14:22", + price: 15.28, + volume: 6400 + }, + { + time: "14:23", + price: 15.3, + volume: 6300 + }, + { + time: "14:24", + price: 15.32, + volume: 6200 + }, + { + time: "14:25", + price: 15.34, + volume: 6100 + }, + { + time: "14:26", + price: 15.36, + volume: 6000 + }, + { + time: "14:27", + price: 15.38, + volume: 5900 + }, + { + time: "14:28", + price: 15.4, + volume: 5800 + }, + { + time: "14:29", + price: 15.42, + volume: 5700 + }, + { + time: "14:30", + price: 15.44, + volume: 5600 + }, + { + time: "14:31", + price: 15.46, + volume: 5500 + }, + { + time: "14:32", + price: 15.48, + volume: 5400 + }, + { + time: "14:33", + price: 15.5, + volume: 5300 + }, + { + time: "14:34", + price: 15.52, + volume: 5200 + }, + { + time: "14:35", + price: 15.54, + volume: 5100 + }, + { + time: "14:36", + price: 15.56, + volume: 5000 + }, + { + time: "14:37", + price: 15.54, + volume: 5100 + }, + { + time: "14:38", + price: 15.52, + volume: 5200 + }, + { + time: "14:39", + price: 15.5, + volume: 5300 + }, + { + time: "14:40", + price: 15.48, + volume: 5400 + }, + { + time: "14:41", + price: 15.46, + volume: 5500 + }, + { + time: "14:42", + price: 15.44, + volume: 5600 + }, + { + time: "14:43", + price: 15.42, + volume: 5700 + }, + { + time: "14:44", + price: 15.4, + volume: 5800 + }, + { + time: "14:45", + price: 15.38, + volume: 5900 + }, + { + time: "14:46", + price: 15.36, + volume: 6000 + }, + { + time: "14:47", + price: 15.34, + volume: 6100 + }, + { + time: "14:48", + price: 15.32, + volume: 6200 + }, + { + time: "14:49", + price: 15.3, + volume: 6300 + }, + { + time: "14:50", + price: 15.42, + volume: 9800 + }, // 尾盘开始放量 + { + time: "14:51", + price: 15.45, + volume: 11500 + }, + { + time: "14:52", + price: 15.43, + volume: 13200 + }, + { + time: "14:53", + price: 15.46, + volume: 15800 + }, + { + time: "14:54", + price: 15.44, + volume: 18500 + }, + { + time: "14:55", + price: 15.47, + volume: 21300 + }, + { + time: "14:56", + price: 15.45, + volume: 24600 + }, + { + time: "14:57", + price: 15.48, + volume: 27800 + }, + { + time: "14:58", + price: 15.46, + volume: 31200 + }, // 尾盘成交量峰值 + { + time: "14:59", + price: 15.45, + volume: 28500 + }, // 当日收盘价15.45元 ]; export const klineData = [ - // 第1天(起始点,位于区间中部) - { date: "2015-10-11", open: 16.5, high: 16.8, low: 16.2, close: 16.6, volume: 185000 }, - // 第2-90天(区间震荡:15.5-17.5元) - { date: "2015-10-12", open: 16.6, high: 16.9, low: 16.4, close: 16.7, volume: 192000 }, - { date: "2015-10-13", open: 16.7, high: 17.0, low: 16.5, close: 16.6, volume: 188000 }, - { date: "2015-10-14", open: 16.6, high: 16.8, low: 16.3, close: 16.4, volume: 175000 }, - { date: "2015-10-15", open: 16.4, high: 16.7, low: 16.2, close: 16.5, volume: 181000 }, - { date: "2015-10-16", open: 16.5, high: 16.9, low: 16.3, close: 16.8, volume: 195000 }, - { date: "2015-10-17", open: 16.8, high: 17.1, low: 16.6, close: 16.7, volume: 202000 }, - { date: "2015-10-18", open: 16.7, high: 16.9, low: 16.4, close: 16.5, volume: 183000 }, - { date: "2015-10-19", open: 16.5, high: 16.7, low: 16.1, close: 16.3, volume: 172000 }, - { date: "2015-10-20", open: 16.3, high: 16.6, low: 16.0, close: 16.4, volume: 178000 }, - { date: "2015-10-21", open: 16.4, high: 16.8, low: 16.2, close: 16.6, volume: 189000 }, - { date: "2015-10-22", open: 16.6, high: 17.0, low: 16.5, close: 16.9, volume: 205000 }, - { date: "2015-10-23", open: 16.9, high: 17.2, low: 16.7, close: 16.8, volume: 212000 }, - { date: "2015-10-24", open: 16.8, high: 17.0, low: 16.5, close: 16.6, volume: 193000 }, - { date: "2015-10-25", open: 16.6, high: 16.8, low: 16.2, close: 16.3, volume: 176000 }, - { date: "2015-10-26", open: 16.3, high: 16.6, low: 16.0, close: 16.5, volume: 184000 }, - { date: "2015-10-27", open: 16.5, high: 16.9, low: 16.4, close: 16.7, volume: 196000 }, - { date: "2015-10-28", open: 16.7, high: 17.1, low: 16.6, close: 16.9, volume: 208000 }, - { date: "2015-10-29", open: 16.9, high: 17.3, low: 16.8, close: 17.0, volume: 215000 }, - { date: "2015-10-30", open: 17.0, high: 17.2, low: 16.7, close: 16.8, volume: 201000 }, - { date: "2015-10-31", open: 16.8, high: 17.0, low: 16.5, close: 16.6, volume: 189000 }, - { date: "2015-11-01", open: 16.6, high: 16.8, low: 16.2, close: 16.4, volume: 175000 }, - { date: "2015-11-02", open: 16.4, high: 16.7, low: 16.1, close: 16.3, volume: 171000 }, - { date: "2015-11-03", open: 16.3, high: 16.6, low: 16.0, close: 16.5, volume: 182000 }, - { date: "2015-11-04", open: 16.5, high: 16.9, low: 16.3, close: 16.7, volume: 194000 }, - { date: "2015-11-05", open: 16.7, high: 17.1, low: 16.6, close: 16.8, volume: 203000 }, - { date: "2015-11-06", open: 16.8, high: 17.0, low: 16.5, close: 16.6, volume: 190000 }, - { date: "2015-11-07", open: 16.6, high: 16.8, low: 16.3, close: 16.4, volume: 178000 }, - { date: "2015-11-08", open: 16.4, high: 16.7, low: 16.1, close: 16.3, volume: 173000 }, - { date: "2015-11-09", open: 16.3, high: 16.6, low: 15.9, close: 16.2, volume: 168000 }, // 触及区间下沿 - { date: "2015-11-10", open: 16.2, high: 16.5, low: 16.0, close: 16.4, volume: 176000 }, - { date: "2015-11-11", open: 16.4, high: 16.8, low: 16.3, close: 16.6, volume: 187000 }, - { date: "2015-11-12", open: 16.6, high: 17.0, low: 16.5, close: 16.8, volume: 198000 }, - { date: "2015-11-13", open: 16.8, high: 17.2, low: 16.7, close: 16.9, volume: 206000 }, - { date: "2015-11-14", open: 16.9, high: 17.3, low: 16.8, close: 17.1, volume: 218000 }, - { date: "2015-11-15", open: 17.1, high: 17.4, low: 16.9, close: 17.0, volume: 212000 }, - { date: "2015-11-16", open: 17.0, high: 17.2, low: 16.7, close: 16.8, volume: 197000 }, - { date: "2015-11-17", open: 16.8, high: 17.0, low: 16.5, close: 16.6, volume: 185000 }, - { date: "2015-11-18", open: 16.6, high: 16.8, low: 16.3, close: 16.4, volume: 177000 }, - { date: "2015-11-19", open: 16.4, high: 16.7, low: 16.1, close: 16.3, volume: 172000 }, - { date: "2015-11-20", open: 16.3, high: 16.6, low: 16.0, close: 16.5, volume: 183000 }, - { date: "2015-11-21", open: 16.5, high: 16.9, low: 16.4, close: 16.7, volume: 195000 }, - { date: "2015-11-22", open: 16.7, high: 17.1, low: 16.6, close: 16.9, volume: 204000 }, - { date: "2015-11-23", open: 16.9, high: 17.2, low: 16.8, close: 17.0, volume: 213000 }, - { date: "2015-11-24", open: 17.0, high: 17.3, low: 16.9, close: 17.1, volume: 221000 }, - { date: "2015-11-25", open: 17.1, high: 17.4, low: 17.0, close: 17.2, volume: 228000 }, // 触及区间上沿 - { date: "2015-11-26", open: 17.2, high: 17.3, low: 16.8, close: 16.9, volume: 215000 }, - { date: "2015-11-27", open: 16.9, high: 17.1, low: 16.6, close: 16.7, volume: 199000 }, - { date: "2015-11-28", open: 16.7, high: 16.9, low: 16.4, close: 16.5, volume: 186000 }, - { date: "2015-11-29", open: 16.5, high: 16.7, low: 16.2, close: 16.3, volume: 175000 }, - { date: "2015-11-30", open: 16.3, high: 16.6, low: 16.0, close: 16.4, volume: 179000 }, - { date: "2015-12-01", open: 16.4, high: 16.8, low: 16.3, close: 16.6, volume: 188000 }, - { date: "2015-12-02", open: 16.6, high: 17.0, low: 16.5, close: 16.8, volume: 199000 }, - { date: "2015-12-03", open: 16.8, high: 17.2, low: 16.7, close: 16.9, volume: 207000 }, - { date: "2015-12-04", open: 16.9, high: 17.1, low: 16.6, close: 16.7, volume: 193000 }, - { date: "2015-12-05", open: 16.7, high: 16.9, low: 16.4, close: 16.5, volume: 182000 }, - { date: "2015-12-06", open: 16.5, high: 16.7, low: 16.2, close: 16.3, volume: 173000 }, - { date: "2015-12-07", open: 16.3, high: 16.6, low: 15.9, close: 16.1, volume: 167000 }, // 触及区间下沿 - { date: "2015-12-08", open: 16.1, high: 16.4, low: 16.0, close: 16.3, volume: 174000 }, - { date: "2015-12-09", open: 16.3, high: 16.7, low: 16.2, close: 16.5, volume: 185000 }, - { date: "2015-12-10", open: 16.5, high: 16.9, low: 16.4, close: 16.7, volume: 196000 }, - { date: "2015-12-11", open: 16.7, high: 17.1, low: 16.6, close: 16.9, volume: 205000 }, - { date: "2015-12-12", open: 16.9, high: 17.3, low: 16.8, close: 17.0, volume: 214000 }, - { date: "2015-12-13", open: 17.0, high: 17.2, low: 16.8, close: 16.9, volume: 203000 }, - { date: "2015-12-14", open: 16.9, high: 17.1, low: 16.6, close: 16.7, volume: 191000 }, - { date: "2015-12-15", open: 16.7, high: 16.9, low: 16.4, close: 16.5, volume: 180000 }, - { date: "2015-12-16", open: 16.5, high: 16.7, low: 16.2, close: 16.3, volume: 172000 }, - { date: "2015-12-17", open: 16.3, high: 16.6, low: 16.0, close: 16.4, volume: 178000 }, - { date: "2015-12-18", open: 16.4, high: 16.8, low: 16.3, close: 16.6, volume: 189000 }, - { date: "2015-12-19", open: 16.6, high: 17.0, low: 16.5, close: 16.8, volume: 200000 }, - { date: "2015-12-20", open: 16.8, high: 17.2, low: 16.7, close: 16.9, volume: 208000 }, - { date: "2015-12-21", open: 16.9, high: 17.3, low: 16.8, close: 17.1, volume: 219000 }, - { date: "2015-12-22", open: 17.1, high: 17.4, low: 17.0, close: 17.2, volume: 226000 }, // 触及区间上沿 - { date: "2015-12-23", open: 17.2, high: 17.3, low: 16.8, close: 16.9, volume: 213000 }, - { date: "2015-12-24", open: 16.9, high: 17.1, low: 16.6, close: 16.7, volume: 198000 }, - { date: "2015-12-25", open: 16.7, high: 16.9, low: 16.4, close: 16.5, volume: 185000 }, - { date: "2015-12-26", open: 16.5, high: 16.7, low: 16.2, close: 16.3, volume: 174000 }, - { date: "2015-12-27", open: 16.3, high: 16.6, low: 16.0, close: 16.5, volume: 183000 }, - { date: "2015-12-28", open: 16.5, high: 16.9, low: 16.4, close: 16.7, volume: 195000 }, - { date: "2015-12-29", open: 16.7, high: 17.1, low: 16.6, close: 16.9, volume: 204000 }, - { date: "2015-12-30", open: 16.9, high: 17.2, low: 16.8, close: 17.0, volume: 212000 }, - { date: "2015-12-31", open: 17.0, high: 17.3, low: 16.9, close: 17.1, volume: 220000 }, - { date: "2016-01-01", open: 17.1, high: 17.2, low: 16.8, close: 16.9, volume: 207000 }, - { date: "2016-01-02", open: 16.9, high: 17.1, low: 16.6, close: 16.7, volume: 193000 }, - { date: "2016-01-03", open: 16.7, high: 16.9, low: 16.4, close: 16.5, volume: 181000 }, - { date: "2016-01-04", open: 16.5, high: 16.7, low: 16.2, close: 16.3, volume: 172000 }, - { date: "2016-01-05", open: 16.3, high: 16.6, low: 15.9, close: 16.2, volume: 168000 }, // 触及区间下沿 - { date: "2016-01-06", open: 16.2, high: 16.5, low: 16.0, close: 16.4, volume: 175000 }, - { date: "2016-01-07", open: 16.4, high: 16.8, low: 16.3, close: 16.6, volume: 186000 }, - { date: "2016-01-08", open: 16.6, high: 17.0, low: 16.5, close: 16.8, volume: 197000 }, - { date: "2016-01-09", open: 16.8, high: 17.2, low: 16.7, close: 16.9, volume: 206000 }, - { date: "2016-01-10", open: 16.9, high: 17.3, low: 16.8, close: 17.1, volume: 217000 }, - { date: "2016-01-11", open: 17.1, high: 17.4, low: 17.0, close: 17.2, volume: 225000 }, // 触及区间上沿 - { date: "2016-01-12", open: 17.2, high: 17.3, low: 16.8, close: 16.9, volume: 212000 }, - { date: "2016-01-13", open: 16.9, high: 17.1, low: 16.6, close: 16.7, volume: 197000 }, - { date: "2016-01-14", open: 16.7, high: 16.9, low: 16.4, close: 16.5, volume: 184000 }, - { date: "2016-01-15", open: 16.5, high: 16.7, low: 16.2, close: 16.4, volume: 175000 }, - { date: "2016-01-16", open: 16.4, high: 16.7, low: 16.1, close: 16.3, volume: 171000 }, - { date: "2016-01-17", open: 16.3, high: 16.6, low: 16.0, close: 16.5, volume: 182000 }, - { date: "2016-01-18", open: 16.5, high: 16.9, low: 16.4, close: 16.7, volume: 194000 }, - { date: "2016-01-19", open: 16.7, high: 17.1, low: 16.6, close: 16.9, volume: 203000 }, - { date: "2016-01-20", open: 16.9, high: 17.2, low: 16.8, close: 17.0, volume: 212000 }, -]; + // 第1天(起始点,位于区间中部) + { + date: "2015-10-11", + open: 16.5, + high: 16.8, + low: 16.2, + close: 16.6, + volume: 185000 + }, + // 第2-90天(区间震荡:15.5-17.5元) + { + date: "2015-10-12", + open: 16.6, + high: 16.9, + low: 16.4, + close: 16.7, + volume: 192000 + }, + { + date: "2015-10-13", + open: 16.7, + high: 17.0, + low: 16.5, + close: 16.6, + volume: 188000 + }, + { + date: "2015-10-14", + open: 16.6, + high: 16.8, + low: 16.3, + close: 16.4, + volume: 175000 + }, + { + date: "2015-10-15", + open: 16.4, + high: 16.7, + low: 16.2, + close: 16.5, + volume: 181000 + }, + { + date: "2015-10-16", + open: 16.5, + high: 16.9, + low: 16.3, + close: 16.8, + volume: 195000 + }, + { + date: "2015-10-17", + open: 16.8, + high: 17.1, + low: 16.6, + close: 16.7, + volume: 202000 + }, + { + date: "2015-10-18", + open: 16.7, + high: 16.9, + low: 16.4, + close: 16.5, + volume: 183000 + }, + { + date: "2015-10-19", + open: 16.5, + high: 16.7, + low: 16.1, + close: 16.3, + volume: 172000 + }, + { + date: "2015-10-20", + open: 16.3, + high: 16.6, + low: 16.0, + close: 16.4, + volume: 178000 + }, + { + date: "2015-10-21", + open: 16.4, + high: 16.8, + low: 16.2, + close: 16.6, + volume: 189000 + }, + { + date: "2015-10-22", + open: 16.6, + high: 17.0, + low: 16.5, + close: 16.9, + volume: 205000 + }, + { + date: "2015-10-23", + open: 16.9, + high: 17.2, + low: 16.7, + close: 16.8, + volume: 212000 + }, + { + date: "2015-10-24", + open: 16.8, + high: 17.0, + low: 16.5, + close: 16.6, + volume: 193000 + }, + { + date: "2015-10-25", + open: 16.6, + high: 16.8, + low: 16.2, + close: 16.3, + volume: 176000 + }, + { + date: "2015-10-26", + open: 16.3, + high: 16.6, + low: 16.0, + close: 16.5, + volume: 184000 + }, + { + date: "2015-10-27", + open: 16.5, + high: 16.9, + low: 16.4, + close: 16.7, + volume: 196000 + }, + { + date: "2015-10-28", + open: 16.7, + high: 17.1, + low: 16.6, + close: 16.9, + volume: 208000 + }, + { + date: "2015-10-29", + open: 16.9, + high: 17.3, + low: 16.8, + close: 17.0, + volume: 215000 + }, + { + date: "2015-10-30", + open: 17.0, + high: 17.2, + low: 16.7, + close: 16.8, + volume: 201000 + }, + { + date: "2015-10-31", + open: 16.8, + high: 17.0, + low: 16.5, + close: 16.6, + volume: 189000 + }, + { + date: "2015-11-01", + open: 16.6, + high: 16.8, + low: 16.2, + close: 16.4, + volume: 175000 + }, + { + date: "2015-11-02", + open: 16.4, + high: 16.7, + low: 16.1, + close: 16.3, + volume: 171000 + }, + { + date: "2015-11-03", + open: 16.3, + high: 16.6, + low: 16.0, + close: 16.5, + volume: 182000 + }, + { + date: "2015-11-04", + open: 16.5, + high: 16.9, + low: 16.3, + close: 16.7, + volume: 194000 + }, + { + date: "2015-11-05", + open: 16.7, + high: 17.1, + low: 16.6, + close: 16.8, + volume: 203000 + }, + { + date: "2015-11-06", + open: 16.8, + high: 17.0, + low: 16.5, + close: 16.6, + volume: 190000 + }, + { + date: "2015-11-07", + open: 16.6, + high: 16.8, + low: 16.3, + close: 16.4, + volume: 178000 + }, + { + date: "2015-11-08", + open: 16.4, + high: 16.7, + low: 16.1, + close: 16.3, + volume: 173000 + }, + { + date: "2015-11-09", + open: 16.3, + high: 16.6, + low: 15.9, + close: 16.2, + volume: 168000 + }, // 触及区间下沿 + { + date: "2015-11-10", + open: 16.2, + high: 16.5, + low: 16.0, + close: 16.4, + volume: 176000 + }, + { + date: "2015-11-11", + open: 16.4, + high: 16.8, + low: 16.3, + close: 16.6, + volume: 187000 + }, + { + date: "2015-11-12", + open: 16.6, + high: 17.0, + low: 16.5, + close: 16.8, + volume: 198000 + }, + { + date: "2015-11-13", + open: 16.8, + high: 17.2, + low: 16.7, + close: 16.9, + volume: 206000 + }, + { + date: "2015-11-14", + open: 16.9, + high: 17.3, + low: 16.8, + close: 17.1, + volume: 218000 + }, + { + date: "2015-11-15", + open: 17.1, + high: 17.4, + low: 16.9, + close: 17.0, + volume: 212000 + }, + { + date: "2015-11-16", + open: 17.0, + high: 17.2, + low: 16.7, + close: 16.8, + volume: 197000 + }, + { + date: "2015-11-17", + open: 16.8, + high: 17.0, + low: 16.5, + close: 16.6, + volume: 185000 + }, + { + date: "2015-11-18", + open: 16.6, + high: 16.8, + low: 16.3, + close: 16.4, + volume: 177000 + }, + { + date: "2015-11-19", + open: 16.4, + high: 16.7, + low: 16.1, + close: 16.3, + volume: 172000 + }, + { + date: "2015-11-20", + open: 16.3, + high: 16.6, + low: 16.0, + close: 16.5, + volume: 183000 + }, + { + date: "2015-11-21", + open: 16.5, + high: 16.9, + low: 16.4, + close: 16.7, + volume: 195000 + }, + { + date: "2015-11-22", + open: 16.7, + high: 17.1, + low: 16.6, + close: 16.9, + volume: 204000 + }, + { + date: "2015-11-23", + open: 16.9, + high: 17.2, + low: 16.8, + close: 17.0, + volume: 213000 + }, + { + date: "2015-11-24", + open: 17.0, + high: 17.3, + low: 16.9, + close: 17.1, + volume: 221000 + }, + { + date: "2015-11-25", + open: 17.1, + high: 17.4, + low: 17.0, + close: 17.2, + volume: 228000 + }, // 触及区间上沿 + { + date: "2015-11-26", + open: 17.2, + high: 17.3, + low: 16.8, + close: 16.9, + volume: 215000 + }, + { + date: "2015-11-27", + open: 16.9, + high: 17.1, + low: 16.6, + close: 16.7, + volume: 199000 + }, + { + date: "2015-11-28", + open: 16.7, + high: 16.9, + low: 16.4, + close: 16.5, + volume: 186000 + }, + { + date: "2015-11-29", + open: 16.5, + high: 16.7, + low: 16.2, + close: 16.3, + volume: 175000 + }, + { + date: "2015-11-30", + open: 16.3, + high: 16.6, + low: 16.0, + close: 16.4, + volume: 179000 + }, + { + date: "2015-12-01", + open: 16.4, + high: 16.8, + low: 16.3, + close: 16.6, + volume: 188000 + }, + { + date: "2015-12-02", + open: 16.6, + high: 17.0, + low: 16.5, + close: 16.8, + volume: 199000 + }, + { + date: "2015-12-03", + open: 16.8, + high: 17.2, + low: 16.7, + close: 16.9, + volume: 207000 + }, + { + date: "2015-12-04", + open: 16.9, + high: 17.1, + low: 16.6, + close: 16.7, + volume: 193000 + }, + { + date: "2015-12-05", + open: 16.7, + high: 16.9, + low: 16.4, + close: 16.5, + volume: 182000 + }, + { + date: "2015-12-06", + open: 16.5, + high: 16.7, + low: 16.2, + close: 16.3, + volume: 173000 + }, + { + date: "2015-12-07", + open: 16.3, + high: 16.6, + low: 15.9, + close: 16.1, + volume: 167000 + }, // 触及区间下沿 + { + date: "2015-12-08", + open: 16.1, + high: 16.4, + low: 16.0, + close: 16.3, + volume: 174000 + }, + { + date: "2015-12-09", + open: 16.3, + high: 16.7, + low: 16.2, + close: 16.5, + volume: 185000 + }, + { + date: "2015-12-10", + open: 16.5, + high: 16.9, + low: 16.4, + close: 16.7, + volume: 196000 + }, + { + date: "2015-12-11", + open: 16.7, + high: 17.1, + low: 16.6, + close: 16.9, + volume: 205000 + }, + { + date: "2015-12-12", + open: 16.9, + high: 17.3, + low: 16.8, + close: 17.0, + volume: 214000 + }, + { + date: "2015-12-13", + open: 17.0, + high: 17.2, + low: 16.8, + close: 16.9, + volume: 203000 + }, + { + date: "2015-12-14", + open: 16.9, + high: 17.1, + low: 16.6, + close: 16.7, + volume: 191000 + }, + { + date: "2015-12-15", + open: 16.7, + high: 16.9, + low: 16.4, + close: 16.5, + volume: 180000 + }, + { + date: "2015-12-16", + open: 16.5, + high: 16.7, + low: 16.2, + close: 16.3, + volume: 172000 + }, + { + date: "2015-12-17", + open: 16.3, + high: 16.6, + low: 16.0, + close: 16.4, + volume: 178000 + }, + { + date: "2015-12-18", + open: 16.4, + high: 16.8, + low: 16.3, + close: 16.6, + volume: 189000 + }, + { + date: "2015-12-19", + open: 16.6, + high: 17.0, + low: 16.5, + close: 16.8, + volume: 200000 + }, + { + date: "2015-12-20", + open: 16.8, + high: 17.2, + low: 16.7, + close: 16.9, + volume: 208000 + }, + { + date: "2015-12-21", + open: 16.9, + high: 17.3, + low: 16.8, + close: 17.1, + volume: 219000 + }, + { + date: "2015-12-22", + open: 17.1, + high: 17.4, + low: 17.0, + close: 17.2, + volume: 226000 + }, // 触及区间上沿 + { + date: "2015-12-23", + open: 17.2, + high: 17.3, + low: 16.8, + close: 16.9, + volume: 213000 + }, + { + date: "2015-12-24", + open: 16.9, + high: 17.1, + low: 16.6, + close: 16.7, + volume: 198000 + }, + { + date: "2015-12-25", + open: 16.7, + high: 16.9, + low: 16.4, + close: 16.5, + volume: 185000 + }, + { + date: "2015-12-26", + open: 16.5, + high: 16.7, + low: 16.2, + close: 16.3, + volume: 174000 + }, + { + date: "2015-12-27", + open: 16.3, + high: 16.6, + low: 16.0, + close: 16.5, + volume: 183000 + }, + { + date: "2015-12-28", + open: 16.5, + high: 16.9, + low: 16.4, + close: 16.7, + volume: 195000 + }, + { + date: "2015-12-29", + open: 16.7, + high: 17.1, + low: 16.6, + close: 16.9, + volume: 204000 + }, + { + date: "2015-12-30", + open: 16.9, + high: 17.2, + low: 16.8, + close: 17.0, + volume: 212000 + }, + { + date: "2015-12-31", + open: 17.0, + high: 17.3, + low: 16.9, + close: 17.1, + volume: 220000 + }, + { + date: "2016-01-01", + open: 17.1, + high: 17.2, + low: 16.8, + close: 16.9, + volume: 207000 + }, + { + date: "2016-01-02", + open: 16.9, + high: 17.1, + low: 16.6, + close: 16.7, + volume: 193000 + }, + { + date: "2016-01-03", + open: 16.7, + high: 16.9, + low: 16.4, + close: 16.5, + volume: 181000 + }, + { + date: "2016-01-04", + open: 16.5, + high: 16.7, + low: 16.2, + close: 16.3, + volume: 172000 + }, + { + date: "2016-01-05", + open: 16.3, + high: 16.6, + low: 15.9, + close: 16.2, + volume: 168000 + }, // 触及区间下沿 + { + date: "2016-01-06", + open: 16.2, + high: 16.5, + low: 16.0, + close: 16.4, + volume: 175000 + }, + { + date: "2016-01-07", + open: 16.4, + high: 16.8, + low: 16.3, + close: 16.6, + volume: 186000 + }, + { + date: "2016-01-08", + open: 16.6, + high: 17.0, + low: 16.5, + close: 16.8, + volume: 197000 + }, + { + date: "2016-01-09", + open: 16.8, + high: 17.2, + low: 16.7, + close: 16.9, + volume: 206000 + }, + { + date: "2016-01-10", + open: 16.9, + high: 17.3, + low: 16.8, + close: 17.1, + volume: 217000 + }, + { + date: "2016-01-11", + open: 17.1, + high: 17.4, + low: 17.0, + close: 17.2, + volume: 225000 + }, // 触及区间上沿 + { + date: "2016-01-12", + open: 17.2, + high: 17.3, + low: 16.8, + close: 16.9, + volume: 212000 + }, + { + date: "2016-01-13", + open: 16.9, + high: 17.1, + low: 16.6, + close: 16.7, + volume: 197000 + }, + { + date: "2016-01-14", + open: 16.7, + high: 16.9, + low: 16.4, + close: 16.5, + volume: 184000 + }, + { + date: "2016-01-15", + open: 16.5, + high: 16.7, + low: 16.2, + close: 16.4, + volume: 175000 + }, + { + date: "2016-01-16", + open: 16.4, + high: 16.7, + low: 16.1, + close: 16.3, + volume: 171000 + }, + { + date: "2016-01-17", + open: 16.3, + high: 16.6, + low: 16.0, + close: 16.5, + volume: 182000 + }, + { + date: "2016-01-18", + open: 16.5, + high: 16.9, + low: 16.4, + close: 16.7, + volume: 194000 + }, + { + date: "2016-01-19", + open: 16.7, + high: 17.1, + low: 16.6, + close: 16.9, + volume: 203000 + }, + { + date: "2016-01-20", + open: 16.9, + high: 17.2, + low: 16.8, + close: 17.0, + volume: 212000 + }, +]; \ No newline at end of file diff --git a/components/IndexCard.vue b/components/IndexCard.vue index 69a3de3..176fc6a 100644 --- a/components/IndexCard.vue +++ b/components/IndexCard.vue @@ -12,8 +12,8 @@ {{ currentPrice }} - {{ changeAmount }} - {{ changePercent }} + {{ judgeSymbol(changeAmount) }} + {{ judgeSymbol(changePercent) }} @@ -63,6 +63,10 @@ const props = defineProps({ }, }); +const judgeSymbol = (num) => { + return num[0] === "-" ? num : "+" + num; +}; + const getMarketFlag = (market) => { let imagePath; diff --git a/components/deepExploration_header.vue b/components/deepExploration_header.vue index 203c51b..8c86684 100644 --- a/components/deepExploration_header.vue +++ b/components/deepExploration_header.vue @@ -98,6 +98,7 @@ import { RecordListApi, RecordInfoApi, + RecordListDeleteApi } from "../api/deepExploration/deepExploration"; import { ref, onMounted, computed } from "vue"; import { useDeepExplorationStore } from "../stores/modules/deepExploration"; @@ -147,8 +148,9 @@ const openHistoryDrawer = async () => { }; const clearAllHistory = () => { - searchHistory.value = []; - + historyList.value = []; + RecordListDeleteApi({ + }) // uni.setStorageSync("search_history", []); }; diff --git a/pages/customerServicePlatform/questionDetail.vue b/pages/customerServicePlatform/questionDetail.vue index cedeecb..2bbba38 100644 --- a/pages/customerServicePlatform/questionDetail.vue +++ b/pages/customerServicePlatform/questionDetail.vue @@ -45,9 +45,12 @@ mode="aspectFit"> - + + + + @@ -65,6 +68,8 @@ import { getAnswerApi } from "../../api/customerServicePlatform/customerServicePlatform"; + import marked from "marked"; // 引入 marked 库 + export default { data() { return { @@ -72,7 +77,7 @@ iSMT: 0, questionTitle: '', answerContent: '正在思考...', - showLoginRegister:false, + showLoginRegister: false, }; }, mounted() { @@ -83,13 +88,36 @@ if (options.question) { this.questionTitle = decodeURIComponent(options.question); if (this.questionTitle.includes("如何注册")) { - this.showLoginRegister = true + this.showLoginRegister = true } else { - this.showLoginRegister = false + this.showLoginRegister = false } } }, methods: { + renderMarkdown(content) { + const renderer = new marked.Renderer(); + // renderer.heading = function (text, level) { + // return `

${text}

`; + // }; + // 设置 marked 选项 + marked.setOptions({ + renderer: renderer, + highlight: null, // 如果需要代码高亮,可以设置适当的函数 + langPrefix: "language-", + pedantic: false, + gfm: true, + breaks: false, + sanitize: false, + smartLists: true, + smartypants: false, + xhtml: false, + }); + if (!content) return ""; + let renderedContent = marked.parse(content); + renderedContent = renderedContent.replace(/\*/g, ''); + return renderedContent; + }, async getAnswerContent() { let conversationId = ''; try { @@ -98,29 +126,40 @@ } catch (e) { conversationId = ''; } - - const res = await getAnswerApi({ - question: this.questionTitle, - conversationId: conversationId, - }) - console.log(res) - - if (res.code == 200) { - uni.setStorageSync('conversationId', res.data.conversationId); - const answer = res.data.answer - this.answerContent = ''; - for (let i = 0; i < answer.length; i++) { - this.answerContent += answer[i]; - await this.sleepTime(); + try { + const res = await getAnswerApi({ + question: this.questionTitle, + conversationId: conversationId, + }) + console.log(res) + + if (res.code == 200) { + uni.setStorageSync('conversationId', res.data.conversationId); + const answer = res.data.answer + // 流式输出逻辑 + let currentIndex = 0; + const answerLength = answer.length; + + // 每隔一定时间显示一部分内容 + this.interval = setInterval(() => { + this.answerContent = answer.slice(0, currentIndex); + currentIndex++; + + if (currentIndex > answerLength) { + clearInterval(this.interval); + } + }, Math.floor(Math.random() * (150 - 30 + 1)) + 30); + } else { + this.answerContent = '获取回答失败,请重试'; } - } else { + } catch { this.answerContent = '获取回答失败,请重试'; } }, - async sleepTime() { - const ms = Math.floor(Math.random() * (300 - 30 + 1)) + 30; - return new Promise(resolve => setTimeout(resolve, ms)); - }, + sleepTime() { + const ms = Math.floor(Math.random() * (300 - 30 + 1)) + 30; + return ms; + }, toRegistration() { uni.redirectTo({ diff --git a/pages/deepExploration/MainForceActions.vue b/pages/deepExploration/MainForceActions.vue index 01ed4cd..ff02109 100644 --- a/pages/deepExploration/MainForceActions.vue +++ b/pages/deepExploration/MainForceActions.vue @@ -415,9 +415,13 @@ stockPrice.value = result.data.StockInformation.Price || '435.900' if (result.data.chartData) { - + const rawData = JSON.parse(JSON.stringify(result.data.chartData)); + if (rawData.categories.length > 1) { // 确保至少保留一个日期 + rawData.categories[rawData.categories.length - 1] = ''; // 删除最后一个日期 + console.log('删了;'); + } chartData.value = { - ...JSON.parse(JSON.stringify(result.data.chartData)) + ...rawData } chartKey.value++; console.log('chartData', chartData.value); @@ -430,24 +434,25 @@ rotate: false, rotateLock: false, color: ["#1890FF", "#91CB74", "#FAC858", "#EE6666", "#73C0DE", "#3CA272", "#FC8452", "#9A60B4", "#ea7ccc"], - padding: [15, 15, 0, 15], + padding: [15, 30, 0, 15], dataLabel: false, enableScroll: true, enableMarkLine: false, legend: {}, xAxis: { labelCount: 4, - itemCount: 30, + itemCount: 20, disableGrid: true, gridColor: "#CCCCCC", gridType: "solid", dashLength: 4, scrollShow: false, + rotate: 45, scrollAlign: "left", scrollColor: "#A6A6A6", scrollBackgroundColor: "#EFEBEF", labelColor: "#8C8C8C", - fontSize: 9 + fontSize: 9, }, yAxis: { labelColor: "#8C8C8C", @@ -565,6 +570,9 @@ htmlContent.value = marked.parse(markdownContent.value); //k线 + if (historyData.value.stockData.chartData.categories.length > 1) { // 确保至少保留一个日期 + historyData.value.stockData.chartData.categories[historyData.value.stockData.chartData.categories.length - 1] = ''; // 删除最后一个日期 + } chartData.value = { ...JSON.parse(JSON.stringify(historyData.value.stockData.chartData)) } @@ -764,6 +772,7 @@ .charts-box { width: 100%; height: 100%; + overflow: visible; } } } @@ -793,7 +802,7 @@ } .txtContent { - min-height: 200rpx; + min-height: 300rpx; padding: 20rpx 30rpx; margin-bottom: 100rpx; diff --git a/pages/deepExploration/deepExploration.vue b/pages/deepExploration/deepExploration.vue index 7f9a698..f523971 100644 --- a/pages/deepExploration/deepExploration.vue +++ b/pages/deepExploration/deepExploration.vue @@ -7,7 +7,7 @@ + placeholder-style="color: #A6A6A6; font-size: 28rpx; " /> @@ -307,6 +307,7 @@ .searchInput { color: #111; + width: 100%; } } @@ -367,11 +368,12 @@ padding: 6rpx 20rpx; color: #ffffff; font-family: "PingFang SC"; - font-size: 10rpx; + font-size: 24rpx; font-style: normal; font-weight: 100; line-height: 29rpx; height: 40rpx; + width: 140rpx; } } diff --git a/pages/deepMate/deepMate.vue b/pages/deepMate/deepMate.vue index a894035..657f181 100644 --- a/pages/deepMate/deepMate.vue +++ b/pages/deepMate/deepMate.vue @@ -889,7 +889,17 @@ const scrollToBottom = () => { }); }; const scrollToTop = () => { - chatScrollTop.value = 0; + // 聊天区存在:控制 scroll-view 回到顶部 + if (messages.value.length > 0) { + chatScrollTop.value = 0; + return; + } + // 未发起对话:页面级滚动回到顶部 + try { + uni.pageScrollTo({ scrollTop: 0, duration: 200 }); + } catch (e) { + // 兜底,无需处理 + } }; // 自动滚动控制:用户向上滚动时暂停自动滚到底部 const shouldAutoScroll = ref(true); @@ -903,6 +913,9 @@ const onChatScroll = (e) => { const delta = st - lastScrollTop.value; lastScrollTop.value = st; + // 同步当前滚动位置,确保点击回顶能产生数值变化 + chatScrollTop.value = st; + if (delta < 0) { shouldAutoScroll.value = false; return; diff --git a/pages/marketSituation/marketDetail.vue b/pages/marketSituation/marketDetail.vue index 98e52a3..155c8a9 100644 --- a/pages/marketSituation/marketDetail.vue +++ b/pages/marketSituation/marketDetail.vue @@ -36,7 +36,7 @@ - + {{ item.stockName }} {{ item.stockCode }} @@ -48,7 +48,7 @@ - {{ item.changePercent }} + {{ judgeSymbol(item.changePercent) }} @@ -79,107 +79,6 @@ const sortType = ref(""); // 排序类型:'price' 或 'change' const sortOrder = ref("desc"); // 排序顺序:'asc' 或 'desc' const regionalGroupArray = ref([]); -// 股票数据 -const stockList = ref([ - { - stockName: "Telecommunication", - stockCode: "888607", - price: 1349.47, - change: "+7.67%", - isRising: true, - }, - { - stockName: "Other", - stockCode: "888607", - price: 1349.47, - change: "+6.67%", - isRising: true, - }, - { - stockName: "Consumer Discretio...", - stockCode: "888610", - price: 1349.47, - change: "+5.67%", - isRising: true, - }, - { - stockName: "Telecommunication", - stockCode: "888607", - price: 1349.47, - change: "+4.67%", - isRising: true, - }, - { - stockName: "Other", - stockCode: "888611", - price: 1359.47, - change: "+3.67%", - isRising: true, - }, - { - stockName: "Consumer Discretio...", - stockCode: "888610", - price: 1349.47, - change: "+2.67%", - isRising: true, - }, - { - stockName: "Telecommunication", - stockCode: "888607", - price: 1349.47, - change: "+1.67%", - isRising: true, - }, - { - stockName: "Other", - stockCode: "888611", - price: 1009.98, - change: "-1.67%", - isRising: false, - }, - { - stockName: "Consumer Discretio...", - stockCode: "888610", - price: 1009.98, - change: "-0.67%", - isRising: false, - }, - { - stockName: "Telecommunication", - stockCode: "888607", - price: 1009.98, - change: "-0.67%", - isRising: false, - }, - { - stockName: "Other", - stockCode: "888611", - price: 1009.98, - change: "-1.67%", - isRising: false, - }, - { - stockName: "Consumer Discretio...", - stockCode: "888610", - price: 1009.98, - change: "-4.67%", - isRising: false, - }, - { - stockName: "Consumer Discretio...", - stockCode: "888610", - price: 1009.98, - change: "-3.67%", - isRising: false, - }, - { - stockName: "Consumer Discretio...", - stockCode: "888610", - price: 1009.98, - change: "-3.67%", - isRising: false, - }, -]); // 计算属性 const contentTopPosition = computed(() => { @@ -206,6 +105,10 @@ const sortedStockList = computed(() => { return list; }); +const judgeSymbol = (num) => { + return num[0] === "-" ? num : "+" + num; +}; + const getRegionalGroupList = async () => { try { const result = await getRegionalGroupListAPI({ @@ -224,7 +127,7 @@ const goBack = () => { }; // 方法:查看指数详情 -const viewIndexDetail = (item,index) => { +const viewIndexDetail = (item, index) => { console.log("查看指数详情:", item.stockName); // 这里可以跳转到具体的指数详情页面 uni.navigateTo({ @@ -348,7 +251,6 @@ const sendTcpMessage = (command) => { break; } if (!messageData) { - return; } else { try { diff --git a/pages/marketSituation/marketOverview.vue b/pages/marketSituation/marketOverview.vue index dc6e018..ba74e11 100644 --- a/pages/marketSituation/marketOverview.vue +++ b/pages/marketSituation/marketOverview.vue @@ -6,6 +6,10 @@ + 道琼斯{{ judgeSymbol(INDU.value) }} + 纳斯达克{{ judgeSymbol(NDX.value) }} + 恒生指数{{ judgeSymbol(HSI.value) }} + 上证指数{{ judgeSymbol(CN.value) }} @@ -60,6 +64,11 @@ const contentHeight = ref(0); const headerHeight = ref(0); // 动态计算的header高度 const isWarnTextOverflow = ref(false); // warn文字是否溢出 +const INDU = ref({ stockName: "道琼斯", stockCode: "INDU", value: "" }); +const NDX = ref({ stockName: "纳斯达克", stockCode: "513300", value: "" }); +const HSI = ref({ stockName: "恒生指数", stockCode: "HSI", value: "" }); +const CN = ref({ stockName: "上证指数", stockCode: "1A0001", value: "" }); + const pageIndex = ref(0); const scrollToView = ref(""); @@ -77,6 +86,20 @@ const warnTextClass = computed(() => { const globalIndexArray = ref([]); +const judgeSymbol = (num) => { + return num[0] === "-" ? num : "+" + num; +}; + +function getSignClass(value) { + const s = typeof value === 'string' ? value : String(value ?? ''); + const trimmed = s.trim(); + if (trimmed.startsWith('-')) return 'index-down'; + if (trimmed.startsWith('+')) return 'index-up'; + const n = parseFloat(trimmed); + if (!isNaN(n)) return n >= 0 ? 'index-up' : 'index-down'; + return ''; +} + // 搜索输入事件 const onSearchInput = (e) => { searchValue.value = e.detail.value; @@ -360,6 +383,27 @@ const parseStockData = (message) => { changePercent: ((100 * (stockDataArray[item.stockCode][0].current_price - stockDataArray[item.stockCode][0].pre_close)) / stockDataArray[item.stockCode][0].pre_close).toFixed(2) + "%", isRising: stockDataArray[item.stockCode][0].current_price - stockDataArray[item.stockCode][0].pre_close >= 0, })); + + if (stockDataArray[INDU.value.stockCode][0]) { + INDU.value.value = ((100 * (stockDataArray[INDU.value.stockCode][0].current_price - stockDataArray[INDU.value.stockCode][0].pre_close)) / stockDataArray[INDU.value.stockCode][0].pre_close).toFixed(2) + "%"; + } else { + console.log("INDU不存在"); + } + if (stockDataArray[NDX.value.stockCode][0]) { + NDX.value.value = ((100 * (stockDataArray[NDX.value.stockCode][0].current_price - stockDataArray[NDX.value.stockCode][0].pre_close)) / stockDataArray[NDX.value.stockCode][0].pre_close).toFixed(2) + "%"; + } else { + console.log("NDX不存在"); + } + if (stockDataArray[HSI.value.stockCode][0]) { + HSI.value.value = ((100 * (stockDataArray[HSI.value.stockCode][0].current_price - stockDataArray[HSI.value.stockCode][0].pre_close)) / stockDataArray[HSI.value.stockCode][0].pre_close).toFixed(2) + "%"; + } else { + console.log("HSI不存在"); + } + if (stockDataArray[CN.value.stockCode][0]) { + CN.value.value = ((100 * (stockDataArray[CN.value.stockCode][0].current_price - stockDataArray[CN.value.stockCode][0].pre_close)) / stockDataArray[CN.value.stockCode][0].pre_close).toFixed(2) + "%"; + } else { + console.log("CN不存在"); + } } } else if ((typeof message === "string" && message.includes('{"count')) || isMorePacket.batch_real_time) { if (typeof message === "string" && message.includes('{"count')) { @@ -406,6 +450,27 @@ const parseStockData = (message) => { changePercent: ((100 * (stockDataArray[item.stockCode][0].current_price - stockDataArray[item.stockCode][0].pre_close)) / stockDataArray[item.stockCode][0].pre_close).toFixed(2) + "%", isRising: stockDataArray[item.stockCode][0].current_price - stockDataArray[item.stockCode][0].pre_close >= 0, })); + + if (stockDataArray[INDU.value.stockCode][0]) { + INDU.value.value = ((100 * (stockDataArray[INDU.value.stockCode][0].current_price - stockDataArray[INDU.value.stockCode][0].pre_close)) / stockDataArray[INDU.value.stockCode][0].pre_close).toFixed(2) + "%"; + } else { + console.log("INDU不存在"); + } + if (stockDataArray[NDX.value.stockCode][0]) { + NDX.value.value = ((100 * (stockDataArray[NDX.value.stockCode][0].current_price - stockDataArray[NDX.value.stockCode][0].pre_close)) / stockDataArray[NDX.value.stockCode][0].pre_close).toFixed(2) + "%"; + } else { + console.log("NDX不存在"); + } + if (stockDataArray[HSI.value.stockCode][0]) { + HSI.value.value = ((100 * (stockDataArray[HSI.value.stockCode][0].current_price - stockDataArray[HSI.value.stockCode][0].pre_close)) / stockDataArray[HSI.value.stockCode][0].pre_close).toFixed(2) + "%"; + } else { + console.log("HSI不存在"); + } + if (stockDataArray[CN.value.stockCode][0]) { + CN.value.value = ((100 * (stockDataArray[CN.value.stockCode][0].current_price - stockDataArray[CN.value.stockCode][0].pre_close)) / stockDataArray[CN.value.stockCode][0].pre_close).toFixed(2) + "%"; + } else { + console.log("CN不存在"); + } } } else { // 没有通过JSON解析判断,说明不是需要的数据 @@ -719,6 +784,67 @@ watch(headerHeight, (newHeight) => { min-height: 200rpx; } +.NDX { + position: absolute; + top: 30%; + left: 17%; + transform: translate(-50%, -50%); + font-size: 11rpx; + color: #000000; + padding: 5rpx 10rpx; + border-radius: 10rpx; + background-color: #ffffff; + z-index: 10; + display: flex; + align-items: center; + justify-content: center; +} +.INDU { + position: absolute; + top: 22%; + left: 35%; + transform: translate(-50%, -50%); + font-size: 11rpx; + color: #000000; + padding: 5rpx 10rpx; + border-radius: 10rpx; + background-color: #ffffff; + z-index: 10; + display: flex; + align-items: center; + justify-content: center; +} +.HSI { + position: absolute; + top: 30%; + right: 4%; + transform: translate(-50%, -50%); + font-size: 11rpx; + color: #000000; + padding: 5rpx 10rpx; + border-radius: 10rpx; + background-color: #ffffff; + z-index: 10; + display: flex; + align-items: center; + justify-content: center; +} +.CN { + position: absolute; + top: 23%; + right: 8%; + transform: translate(-50%, -50%); + font-size: 11rpx; + color: #000000; + padding: 5rpx 10rpx; + border-radius: 10rpx; + background-color: #ffffff; + z-index: 10; + display: flex; + align-items: center; + justify-content: center; +} + .map image { width: 100%; height: auto; @@ -848,8 +974,8 @@ watch(headerHeight, (newHeight) => { .global_index_title { margin-left: 20rpx; font-size: 40rpx; - font-weight: 100; - color: #333333; + font-weight: bold; + color: black; align-items: center; } @@ -977,4 +1103,12 @@ watch(headerHeight, (newHeight) => { overflow: hidden; background-color: white; } + +.index-up { + color: #2fc25b !important; +} + +.index-down { + color: #f04864 !important; +} diff --git a/pages/marketSituation/marketSituation.vue b/pages/marketSituation/marketSituation.vue index 1503954..bec52f2 100644 --- a/pages/marketSituation/marketSituation.vue +++ b/pages/marketSituation/marketSituation.vue @@ -496,8 +496,8 @@ watch(headerHeight, (newHeight) => { } .scroll_indicator image { - width: 20rpx; - height: 20rpx; + width: 30rpx; + height: 30rpx; opacity: 0.5; }