初始化提交
This commit is contained in:
76
NBATransfer-backend/app.py
Normal file
76
NBATransfer-backend/app.py
Normal file
@@ -0,0 +1,76 @@
|
||||
from flask import Flask
|
||||
from flask_cors import CORS
|
||||
from config import config
|
||||
from extensions import db, jwt, mail
|
||||
import os
|
||||
|
||||
# 初始化扩展
|
||||
# jwt = JWTManager() # Moved to extensions.py
|
||||
# mail = Mail() # Moved to extensions.py
|
||||
|
||||
|
||||
def create_app(config_name='default'):
|
||||
"""应用工厂函数"""
|
||||
app = Flask(__name__)
|
||||
|
||||
# 加载配置
|
||||
app.config.from_object(config[config_name])
|
||||
|
||||
# 初始化扩展
|
||||
db.init_app(app)
|
||||
jwt.init_app(app)
|
||||
mail.init_app(app)
|
||||
CORS(app, resources={
|
||||
r"/api/*": {"origins": "*"},
|
||||
r"/v1/*": {"origins": "*"}
|
||||
})
|
||||
|
||||
# 注册蓝图
|
||||
from routes.auth import auth_bp
|
||||
from routes.user import user_bp
|
||||
from routes.order import order_bp
|
||||
from routes.api_service import api_bp
|
||||
from routes.admin import admin_bp
|
||||
from routes.apikey import apikey_bp
|
||||
from routes.v1_api import v1_bp
|
||||
|
||||
app.register_blueprint(auth_bp, url_prefix='/api/auth')
|
||||
app.register_blueprint(user_bp, url_prefix='/api/user')
|
||||
app.register_blueprint(order_bp, url_prefix='/api/order')
|
||||
app.register_blueprint(api_bp, url_prefix='/api/service')
|
||||
app.register_blueprint(admin_bp, url_prefix='/api/admin')
|
||||
app.register_blueprint(apikey_bp, url_prefix='/api/apikey')
|
||||
app.register_blueprint(v1_bp, url_prefix='/v1')
|
||||
|
||||
# 创建数据库表
|
||||
with app.app_context():
|
||||
db.create_all()
|
||||
# 创建默认管理员账户
|
||||
from models import User
|
||||
admin = User.query.filter_by(email='admin@nba.com').first()
|
||||
if not admin:
|
||||
admin = User(
|
||||
email='admin@nba.com',
|
||||
username='Admin',
|
||||
is_admin=True,
|
||||
is_active=True
|
||||
)
|
||||
admin.set_password('admin123')
|
||||
db.session.add(admin)
|
||||
db.session.commit()
|
||||
print('默认管理员账户已创建: admin@nba.com / admin123')
|
||||
|
||||
@app.route('/')
|
||||
def index():
|
||||
return {'message': 'Nano Banana API Transfer Service', 'version': '1.0.0'}
|
||||
|
||||
@app.route('/health')
|
||||
def health():
|
||||
return {'status': 'healthy'}
|
||||
|
||||
return app
|
||||
|
||||
|
||||
if __name__ == '__main__':
|
||||
app = create_app(os.getenv('FLASK_ENV', 'development'))
|
||||
app.run(host='0.0.0.0', port=5000, debug=True)
|
||||
Reference in New Issue
Block a user