Files
Chan/web/app.py
T
jackyu66gitandCursor 8ee11317d3 fix(web): 自动刷新保留 K 线视窗;威科夫与图表增量更新
自动刷新改用 tail update 与 scrollToPosition 恢复视窗,避免 setData 后跳到最右;拆分 chart_tv 模块并扩展 analyze/recent API。同步威科夫分析、pipeline 增量构建及相关策略与配置。

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-08-25 22:57:43 +08:00

40 lines
1.0 KiB
Python

"""Flask 应用入口(瘦身 factory)。"""
from __future__ import annotations
import sys
import os
_ROOT = os.path.dirname(os.path.dirname(os.path.abspath(__file__)))
if _ROOT not in sys.path:
sys.path.append(_ROOT)
from flask import Flask
from config import FLASK_HOST, FLASK_PORT
from api.analyze import bp as analyze_bp
from api.pages import bp as pages_bp
from api.symbols import bp as symbols_bp
from api.trend import bp as trend_bp
from api.wyckoff_crypto import bp as wyckoff_crypto_bp, ensure_scheduler
def create_app() -> Flask:
app = Flask(__name__)
app.register_blueprint(pages_bp)
app.register_blueprint(analyze_bp)
app.register_blueprint(symbols_bp)
app.register_blueprint(trend_bp)
app.register_blueprint(wyckoff_crypto_bp)
# Start crypto wyckoff tip scheduler (daemon); disable with CRYPTO_WYCKOFF_DISABLE=1
try:
ensure_scheduler()
except Exception:
pass
return app
app = create_app()
if __name__ == "__main__":
app.run(debug=True, host=FLASK_HOST, port=FLASK_PORT)