From f440802c59123f50f18ac708f9f86c885b778aa5 Mon Sep 17 00:00:00 2001 From: hongxilin <17663930442@163.com> Date: Fri, 31 Oct 2025 11:25:56 +0800 Subject: [PATCH 01/12] =?UTF-8?q?=E8=82=A1=E7=A5=A8=E5=8D=A1=E7=89=87?= =?UTF-8?q?=E5=8A=A0=E7=BC=A9=E7=95=A5=E5=88=86=E6=97=B6=E5=9B=BE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- components/IndexCard.vue | 53 ++++++------------------- static/marketSituation-image/downTimeChart.png | Bin 0 -> 8602 bytes static/marketSituation-image/upTimeChart.png | Bin 0 -> 9285 bytes 3 files changed, 12 insertions(+), 41 deletions(-) create mode 100644 static/marketSituation-image/downTimeChart.png create mode 100644 static/marketSituation-image/upTimeChart.png diff --git a/components/IndexCard.vue b/components/IndexCard.vue index 176fc6a..8bd62df 100644 --- a/components/IndexCard.vue +++ b/components/IndexCard.vue @@ -18,9 +18,8 @@ - - - + + @@ -97,10 +96,14 @@ const priceColor = computed(() => { return props.isRising ? "#00C853" : "#FF1744"; }); -// 计算图表背景色 -const chartBgColor = computed(() => { - return props.isRising ? "#E8F5E8" : "#FFEBEE"; +const timeChart = computed(() => { + return props.isRising ? "/static/marketSituation-image/upTimeChart.png" : "/static/marketSituation-image/downTimeChart.png"; }); + +// 计算图表背景色 +// const chartBgColor = computed(() => { +// return props.isRising ? "#E8F5E8" : "#FFEBEE"; +// }); diff --git a/static/marketSituation-image/downTimeChart.png b/static/marketSituation-image/downTimeChart.png new file mode 100644 index 0000000000000000000000000000000000000000..52c72771a7b3986c6209b1b43e817ead523896ea GIT binary patch literal 8602 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 Date: Fri, 31 Oct 2025 13:33:13 +0800 Subject: [PATCH 02/12] =?UTF-8?q?=E6=A8=AA=E5=B1=8F=E9=80=82=E9=85=8D?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- pages/deepExploration/MainForceActions.vue | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pages/deepExploration/MainForceActions.vue b/pages/deepExploration/MainForceActions.vue index 752495d..be6e701 100644 --- a/pages/deepExploration/MainForceActions.vue +++ b/pages/deepExploration/MainForceActions.vue @@ -41,7 +41,7 @@ - + From 29078a9058678ff0b6fb98c1b06d4eab0364398a Mon Sep 17 00:00:00 2001 From: ZhangYong Date: Fri, 31 Oct 2025 13:53:20 +0800 Subject: [PATCH 03/12] =?UTF-8?q?=E6=A8=AA=E5=B1=8F=E9=80=82=E9=85=8D?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- pages/deepExploration/MainForceActions.vue | 161 ++++++++++++++++++++++++++++- 1 file changed, 156 insertions(+), 5 deletions(-) diff --git a/pages/deepExploration/MainForceActions.vue b/pages/deepExploration/MainForceActions.vue index be6e701..3d482f7 100644 --- a/pages/deepExploration/MainForceActions.vue +++ b/pages/deepExploration/MainForceActions.vue @@ -41,7 +41,30 @@ - + + + + + + + + + + + + + + + + + + + + + + @@ -107,6 +130,37 @@ //登录弹窗提示ref const loginPrompt = ref(null) + // 全屏相关状态 + const isFullscreen = ref(false); // 是否显示全屏弹窗 + const isLandscape = ref(true); // 是否横屏模式 + const fullscreenChartKey = ref(0); // 全屏图表重绘标识 + + + + // 显示全屏K线 + const showFullscreenKline = () => { + isFullscreen.value = true; + isLandscape.value = true; // 默认横屏 + // 强制重绘图表 + setTimeout(() => { + fullscreenChartKey.value++; + }, 100); + }; + + // 关闭全屏 + const closeFullscreen = () => { + isFullscreen.value = false; + }; + + // 切换横竖屏 + const toggleOrientation = () => { + isLandscape.value = !isLandscape.value; + // 旋转后重绘图表 + setTimeout(() => { + fullscreenChartKey.value++; + }, 300); + }; + // 响应式变量定义 const type = ref('deepExploration') const iSMT = ref(0) @@ -494,6 +548,28 @@ } } }) + + // 全屏图表配置(继承原有配置并优化) + const fullscreenOpts = ref({ + ...opts.value, // 复用原有配置 + padding: [30, 30, 30, 30], + xAxis: { + ...opts.value.xAxis, + labelCount: 8, // 横屏显示更多标签 + fontSize: 12 + }, + yAxis: { + ...opts.value.yAxis, + fontSize: 12 + }, + extra: { + ...opts.value.extra, + candle: { + ...opts.value.extra.candle, + width: 12 // 横屏时K线宽度增加 + } + } + }); // 2. K线图数据(响应式定义) const chartData = ref({ @@ -548,6 +624,7 @@ let unwatch = null; // 生命周期钩子:组件挂载后执行(替代onReady) onMounted(async () => { + iSMT.value = uni.getSystemInfoSync().statusBarHeight getUserInfo() await handleModels() @@ -571,7 +648,8 @@ //k线 if (historyData.value.stockData.chartData.categories.length > 1) { // 确保至少保留一个日期 - historyData.value.stockData.chartData.categories[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)) @@ -585,7 +663,7 @@ stockChange.value = historyData.value.stockData.StockInformation.Zhang || '5.120%' stockAdd.value = historyData.value.stockData.StockInformation.ZhangFu || '22.410' stockPrice.value = historyData.value.stockData.StockInformation.Price || '435.900' - currentIndex.value = historyData.value.model-1 + currentIndex.value = historyData.value.model - 1 }, { deep: true, immediate: true @@ -770,8 +848,8 @@ .graph_content { position: relative; min-height: 500rpx; - - image{ + + image { position: absolute; bottom: 20rpx; right: 30rpx; @@ -786,6 +864,79 @@ } } } + + /* 横屏按钮样式 */ + .rotate-btn { + background: transparent; + padding: 0 10rpx; + margin-left: 15rpx; + + .btn-icon { + width: 36rpx; + height: 36rpx; + vertical-align: middle; + } + } + + /* 全屏遮罩 */ + .fullscreen-mask { + position: fixed; + top: 0; + left: 0; + width: 100vw; + height: 100vh; + background-color: #000; + z-index: 9999; + display: flex; + justify-content: center; + align-items: center; + } + + /* 全屏容器 */ + .fullscreen-container { + width: 100vh; /* 横屏时宽度等于屏幕高度 */ + height: 100vw; /* 横屏时高度等于屏幕宽度 */ + transition: transform 0.3s ease; + position: relative; + } + + /* 关闭按钮 */ + .fullscreen-close { + position: absolute; + top: 20rpx; + right: 20rpx; + z-index: 10; + + image { + width: 48rpx; + height: 48rpx; + } + } + + /* 旋转按钮 */ + .fullscreen-rotate { + position: absolute; + top: 20rpx; + left: 20rpx; + z-index: 10; + + image { + width: 48rpx; + height: 48rpx; + } + } + + /* 全屏图表容器 */ + .fullscreen-chart { + width: 100%; + height: 100%; + } + + /* 竖屏模式适配 */ + :deep(.fullscreen-container:not([style*="rotate(90deg)"])) { + width: 100vw; + height: 100vh; + } .txt { background-color: #F3F3F3; From 46c53f1195e89397a92fc7a948299e0696569703 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=AE=8B=E6=9D=B0?= Date: Fri, 31 Oct 2025 14:15:09 +0800 Subject: [PATCH 04/12] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E5=86=85=E5=AD=98?= =?UTF-8?q?=E6=BA=A2=E5=87=BA=E9=85=8D=E7=BD=AE=EF=BC=9B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- package.json | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/package.json b/package.json index 14c932c..6bf25b1 100644 --- a/package.json +++ b/package.json @@ -1,4 +1,8 @@ { + "scripts": { + "dev:h5": "cross-env NODE_OPTIONS=\"--max-old-space-size=4096\" uni build --watch", + "build:h5": "cross-env NODE_OPTIONS=\"--max-old-space-size=4096\" uni build" + }, "dependencies": { "@dcloudio/uni-ui": "^1.5.11", "@element-plus/icons-vue": "^2.3.2", @@ -8,5 +12,8 @@ "pinia": "^3.0.3", "pinia-plugin-persistedstate": "^4.5.0", "vue-i18n": "^9.14.5" + }, + "devDependencies": { + "cross-env": "^7.0.3" } } From 14a0c331b9137ee08c9e8bd9a89745e720e9dbf8 Mon Sep 17 00:00:00 2001 From: wangyi <3432649580@qq.com> Date: Fri, 31 Oct 2025 14:23:24 +0800 Subject: [PATCH 05/12] =?UTF-8?q?=E5=BD=93=E7=94=A8=E6=88=B7token=E5=A4=B1?= =?UTF-8?q?=E6=95=88=E7=9A=84=E6=97=B6=E5=80=99=EF=BC=8C=E8=B7=B3=E8=BD=AC?= =?UTF-8?q?=E8=87=B3=E7=99=BB=E5=BD=95=E7=95=8C=E9=9D=A2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- utils/http.js | 24 ++++++++++++++++++------ 1 file changed, 18 insertions(+), 6 deletions(-) diff --git a/utils/http.js b/utils/http.js index 7249e24..1a1330e 100644 --- a/utils/http.js +++ b/utils/http.js @@ -49,7 +49,7 @@ const httpInterceptor = { if (token) { options.header.token = token } - console.log("最终请求参数:",options) + console.log("最终请求参数:", options) // 避免误用 Authorization 头,后端要求的是 token 头 // if (options.header.Authorization) delete options.header.Authorization return options @@ -75,10 +75,22 @@ export const http = (options) => { loginStore.setLoginInfo("false") console.log("2loginStore.loginInfo", loginStore.loginInfo); - // uni.showToast({ - // title: '请先登录', - // icon: 'none' - // }) + + } + if (result.data.code === 400) { + const userStore = useUserStore() + userStore.clearUserInfo() + uni.showModal({ + title: "登录失效", + content: "点击确定跳转登录页面", + confirmText: "确定", + cancelText: "取消", + success: (res) => { + uni.navigateTo({ + url: '/pages/start/login/login' + }) + }, + }); } resolve(result.data) } else if (result.statusCode === 401) { @@ -87,7 +99,7 @@ export const http = (options) => { memberStore.clearUserInfo() // 提示用户重新登录 uni.navigateTo({ - url: '/pages/login/login' + url: '/pages/start/login/login' }) reject(result) } else { From d6e20a1ec53f3ca51269e067d84ce804bd62a9ec Mon Sep 17 00:00:00 2001 From: hongxilin <17663930442@163.com> Date: Fri, 31 Oct 2025 14:28:08 +0800 Subject: [PATCH 06/12] =?UTF-8?q?=E5=8A=A0=E5=85=A5loading=E5=8A=A8?= =?UTF-8?q?=E7=94=BB=EF=BC=8C=E4=BF=AE=E6=94=B9marketDetail=E9=A1=B5?= =?UTF-8?q?=E9=9D=A2=E6=95=B0=E6=8D=AE=E5=8A=A0=E8=BD=BD=E5=87=BD=E6=95=B0?= =?UTF-8?q?=E4=BD=9C=E7=94=A8=E7=94=9F=E5=91=BD=E5=91=A8=E6=9C=9F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- components/h-loading.vue | 54 +++++++++++++++++++++++++++++++ pages/marketSituation/globalIndex.vue | 8 ++++- pages/marketSituation/marketDetail.vue | 31 ++++++++++++++---- pages/marketSituation/marketOverview.vue | 32 ++++++++++++------ static/loading-gif.gif | Bin 0 -> 137280 bytes 5 files changed, 108 insertions(+), 17 deletions(-) create mode 100644 components/h-loading.vue create mode 100644 static/loading-gif.gif diff --git a/components/h-loading.vue b/components/h-loading.vue new file mode 100644 index 0000000..8bf1873 --- /dev/null +++ b/components/h-loading.vue @@ -0,0 +1,54 @@ + + + + + + + diff --git a/pages/marketSituation/globalIndex.vue b/pages/marketSituation/globalIndex.vue index 43e573e..40fff44 100644 --- a/pages/marketSituation/globalIndex.vue +++ b/pages/marketSituation/globalIndex.vue @@ -2,6 +2,8 @@