diff --git a/qihuo_analyzer/__pycache__/__init__.cpython-311.pyc b/qihuo_analyzer/__pycache__/__init__.cpython-311.pyc index 0106008..f445110 100644 Binary files a/qihuo_analyzer/__pycache__/__init__.cpython-311.pyc and b/qihuo_analyzer/__pycache__/__init__.cpython-311.pyc differ diff --git a/qihuo_analyzer/core/__pycache__/models.cpython-311.pyc b/qihuo_analyzer/core/__pycache__/models.cpython-311.pyc index 2c42fba..10476c0 100644 Binary files a/qihuo_analyzer/core/__pycache__/models.cpython-311.pyc and b/qihuo_analyzer/core/__pycache__/models.cpython-311.pyc differ diff --git a/qihuo_analyzer/data/__pycache__/data_fetcher.cpython-311.pyc b/qihuo_analyzer/data/__pycache__/data_fetcher.cpython-311.pyc index 377e462..f689264 100644 Binary files a/qihuo_analyzer/data/__pycache__/data_fetcher.cpython-311.pyc and b/qihuo_analyzer/data/__pycache__/data_fetcher.cpython-311.pyc differ diff --git a/qihuo_analyzer/data/__pycache__/data_storage.cpython-311.pyc b/qihuo_analyzer/data/__pycache__/data_storage.cpython-311.pyc index f41af78..bfc1fad 100644 Binary files a/qihuo_analyzer/data/__pycache__/data_storage.cpython-311.pyc and b/qihuo_analyzer/data/__pycache__/data_storage.cpython-311.pyc differ diff --git a/qihuo_analyzer/modules/__pycache__/deepseek_agent.cpython-311.pyc b/qihuo_analyzer/modules/__pycache__/deepseek_agent.cpython-311.pyc index 72103a4..fe29d00 100644 Binary files a/qihuo_analyzer/modules/__pycache__/deepseek_agent.cpython-311.pyc and b/qihuo_analyzer/modules/__pycache__/deepseek_agent.cpython-311.pyc differ diff --git a/qihuo_analyzer/modules/__pycache__/fund_flow_monitor.cpython-311.pyc b/qihuo_analyzer/modules/__pycache__/fund_flow_monitor.cpython-311.pyc index 61b1107..f633db8 100644 Binary files a/qihuo_analyzer/modules/__pycache__/fund_flow_monitor.cpython-311.pyc and b/qihuo_analyzer/modules/__pycache__/fund_flow_monitor.cpython-311.pyc differ diff --git a/qihuo_analyzer/modules/__pycache__/risk_manager.cpython-311.pyc b/qihuo_analyzer/modules/__pycache__/risk_manager.cpython-311.pyc index 9803e56..21d059a 100644 Binary files a/qihuo_analyzer/modules/__pycache__/risk_manager.cpython-311.pyc and b/qihuo_analyzer/modules/__pycache__/risk_manager.cpython-311.pyc differ diff --git a/qihuo_analyzer/modules/__pycache__/rollover_detector.cpython-311.pyc b/qihuo_analyzer/modules/__pycache__/rollover_detector.cpython-311.pyc index ef7fb85..971a0ab 100644 Binary files a/qihuo_analyzer/modules/__pycache__/rollover_detector.cpython-311.pyc and b/qihuo_analyzer/modules/__pycache__/rollover_detector.cpython-311.pyc differ diff --git a/qihuo_analyzer/modules/__pycache__/support_resistance.cpython-311.pyc b/qihuo_analyzer/modules/__pycache__/support_resistance.cpython-311.pyc index a6fe6de..abb3fdf 100644 Binary files a/qihuo_analyzer/modules/__pycache__/support_resistance.cpython-311.pyc and b/qihuo_analyzer/modules/__pycache__/support_resistance.cpython-311.pyc differ diff --git a/qihuo_analyzer/modules/__pycache__/trend_filter.cpython-311.pyc b/qihuo_analyzer/modules/__pycache__/trend_filter.cpython-311.pyc index 8de17cf..45ac2a8 100644 Binary files a/qihuo_analyzer/modules/__pycache__/trend_filter.cpython-311.pyc and b/qihuo_analyzer/modules/__pycache__/trend_filter.cpython-311.pyc differ diff --git a/qihuo_analyzer/utils/__pycache__/config_manager.cpython-311.pyc b/qihuo_analyzer/utils/__pycache__/config_manager.cpython-311.pyc index e1342aa..6f57ee1 100644 Binary files a/qihuo_analyzer/utils/__pycache__/config_manager.cpython-311.pyc and b/qihuo_analyzer/utils/__pycache__/config_manager.cpython-311.pyc differ diff --git a/qihuo_analyzer/utils/__pycache__/technical_analysis.cpython-311.pyc b/qihuo_analyzer/utils/__pycache__/technical_analysis.cpython-311.pyc index 2771879..3072a45 100644 Binary files a/qihuo_analyzer/utils/__pycache__/technical_analysis.cpython-311.pyc and b/qihuo_analyzer/utils/__pycache__/technical_analysis.cpython-311.pyc differ diff --git a/web/templates/card.html b/web/templates/card.html index e213a4b..e0fac6d 100644 --- a/web/templates/card.html +++ b/web/templates/card.html @@ -12,10 +12,52 @@ box-sizing: border-box; } + :root { + --bg-primary: #f0f2f5; + --bg-secondary: #ffffff; + --bg-tertiary: #f9fafb; + --text-primary: #333333; + --text-secondary: #666666; + --text-tertiary: #999999; + --border-color: #d9d9d9; + --header-bg: linear-gradient(135deg, #667eea 0%, #764ba2 100%); + --card-shadow: 0 2px 8px rgba(0, 0, 0, 0.08); + --card-hover-shadow: 0 6px 16px rgba(0, 0, 0, 0.12); + } + + body.dark-theme { + --bg-primary: #1a1a1a; + --bg-secondary: #2d2d2d; + --bg-tertiary: #3d3d3d; + --text-primary: #e0e0e0; + --text-secondary: #b0b0b0; + --text-tertiary: #808080; + --border-color: #444444; + --header-bg: linear-gradient(135deg, #334155 0%, #1e293b 100%); + --card-shadow: 0 2px 8px rgba(0, 0, 0, 0.3); + --card-hover-shadow: 0 6px 16px rgba(0, 0, 0, 0.4); + } + body { font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, 'Helvetica Neue', Arial, sans-serif; - background-color: #f0f2f5; - color: #333; + background-color: var(--bg-primary); + color: var(--text-primary); + transition: all 0.3s ease; + } + + .theme-toggle { + background: var(--bg-tertiary); + border: 1px solid var(--border-color); + border-radius: 6px; + padding: 6px 12px; + font-size: 14px; + cursor: pointer; + color: var(--text-primary); + transition: all 0.3s ease; + } + + .theme-toggle:hover { + background: var(--bg-secondary); } .container { @@ -25,12 +67,12 @@ } .header { - background: linear-gradient(135deg, #667eea 0%, #764ba2 100%); + background: var(--header-bg); color: white; padding: 24px; border-radius: 12px; margin-bottom: 24px; - box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1); + box-shadow: var(--card-shadow); } .header-content { @@ -59,11 +101,12 @@ } .card { - background: white; + background: var(--bg-secondary); border-radius: 12px; padding: 24px; - box-shadow: 0 2px 8px rgba(0, 0, 0, 0.08); + box-shadow: var(--card-shadow); margin-bottom: 24px; + border: 1px solid var(--border-color); } .card-header { @@ -72,7 +115,7 @@ align-items: flex-start; margin-bottom: 20px; padding-bottom: 16px; - border-bottom: 1px solid #f0f0f0; + border-bottom: 1px solid var(--border-color); } .symbol-info { @@ -82,13 +125,13 @@ .symbol-name { font-size: 24px; font-weight: 600; - color: #333; + color: var(--text-primary); margin-bottom: 4px; } .symbol-code { font-size: 14px; - color: #999; + color: var(--text-tertiary); } .price-info { @@ -98,7 +141,7 @@ .current-price { font-size: 32px; font-weight: 700; - color: #333; + color: var(--text-primary); margin-bottom: 8px; } @@ -111,21 +154,21 @@ } .direction-up { - background-color: #f6ffed; + background-color: rgba(82, 196, 26, 0.1); color: #52c41a; - border: 1px solid #b7eb8f; + border: 1px solid rgba(82, 196, 26, 0.3); } .direction-down { - background-color: #fff2f0; + background-color: rgba(255, 77, 79, 0.1); color: #ff4d4f; - border: 1px solid #ffccc7; + border: 1px solid rgba(255, 77, 79, 0.3); } .direction-sideways { - background-color: #f0f5ff; + background-color: rgba(24, 144, 255, 0.1); color: #1890ff; - border: 1px solid #adc6ff; + border: 1px solid rgba(24, 144, 255, 0.3); } .card-body { @@ -139,7 +182,7 @@ .section-title { font-size: 16px; font-weight: 600; - color: #333; + color: var(--text-primary); margin-bottom: 12px; display: flex; align-items: center; @@ -161,22 +204,23 @@ } .stat-item { - background-color: #f9fafb; + background-color: var(--bg-tertiary); padding: 16px; border-radius: 8px; text-align: center; + border: 1px solid var(--border-color); } .stat-label { font-size: 12px; - color: #666; + color: var(--text-secondary); margin-bottom: 8px; } .stat-value { font-size: 18px; font-weight: 600; - color: #333; + color: var(--text-primary); } .win-rate { @@ -202,23 +246,24 @@ justify-content: space-between; align-items: center; padding: 10px 12px; - background-color: #f9fafb; + background-color: var(--bg-tertiary); border-radius: 6px; + border: 1px solid var(--border-color); } .indicator-name { font-size: 14px; - color: #666; + color: var(--text-secondary); } .indicator-value { font-size: 14px; font-weight: 500; - color: #333; + color: var(--text-primary); } .recommendation { - background-color: #f0f5ff; + background-color: rgba(24, 144, 255, 0.1); border-radius: 8px; padding: 16px; border-left: 4px solid #1890ff; @@ -234,14 +279,14 @@ .recommendation-content { font-size: 14px; - color: #333; + color: var(--text-primary); line-height: 1.5; } .card-footer { text-align: center; padding-top: 16px; - border-top: 1px solid #f0f0f0; + border-top: 1px solid var(--border-color); } .detail-link { @@ -261,7 +306,7 @@ .footer { text-align: center; padding: 20px; - color: #999; + color: var(--text-tertiary); font-size: 14px; } @@ -292,8 +337,13 @@ } -
+基于DeepSeek大模型和量化分析算法的智能决策平台