Files
KCGL/inventory-backend/app/__init__.py

38 lines
1.2 KiB
Python

from flask import Flask
from config import Config
from app.extensions import db, migrate, cors
def create_app():
app = Flask(__name__)
app.config.from_object(Config)
# 初始化插件
db.init_app(app)
migrate.init_app(app, db)
# 确保跨域配置正确,允许前端访问
cors.init_app(app, resources={r"/api/*": {"origins": "*"}})
# --- 注册蓝图 ---
# 1. 保持原有的 stocks 模块
try:
from app.api.v1.stocks import stocks_bp
app.register_blueprint(stocks_bp, url_prefix='/api/v1/stocks')
except ImportError as e:
print(f"⚠️ 警告: 原有 stocks 蓝图导入失败: {e}")
# 2. 注册新的入库聚合蓝图
# 核心:必须先导入,再注册。路径对应 app/api/v1/inbound/__init__.py
try:
from app.api.v1.inbound import inbound_bp
# 最终路径结构:/api/v1/inbound/buy/list
app.register_blueprint(inbound_bp, url_prefix='/api/v1/inbound')
print("✅ 入库模块蓝图注册成功")
except ImportError as e:
print(f"❌ 严重错误: 入库模块 inbound 蓝图导入失败: {e}")
# 打印路由映射,仅在本地调试时建议开启
# with app.app_context():
# print(app.url_map)
return app