new file: app.py new file: app/ali_oss.py new file: app/app.py new file: app/app_common.py new file: app/config.py new file: app/coze.py new file: app/generate_api.py new file: app/html_crypto.py new file: app/main.py new file: app/web_source/admin.html new file: app/web_source/brand.html new file: app/web_source/home.html new file: app/web_source/index.html new file: app/web_source/login.html new file: app_common.py new file: blueprints/__init__.py new file: blueprints/__pycache__/__init__.cpython-311.pyc new file: blueprints/__pycache__/__init__.cpython-39.pyc new file: blueprints/__pycache__/admin.cpython-311.pyc new file: blueprints/__pycache__/admin.cpython-39.pyc new file: blueprints/__pycache__/auth.cpython-311.pyc new file: blueprints/__pycache__/auth.cpython-39.pyc new file: blueprints/__pycache__/brand.cpython-311.pyc new file: blueprints/__pycache__/brand.cpython-39.pyc new file: blueprints/__pycache__/image.cpython-311.pyc new file: blueprints/__pycache__/image.cpython-39.pyc new file: blueprints/__pycache__/main.cpython-311.pyc new file: blueprints/__pycache__/main.cpython-39.pyc new file: blueprints/admin.py new file: blueprints/auth.py new file: blueprints/brand.py new file: blueprints/image.py new file: blueprints/main.py new file: brand_spider/__pycache__/main.cpython-39.pyc new file: brand_spider/__pycache__/web_dec.cpython-39.pyc new file: brand_spider/main.py new file: brand_spider/web_dec.py new file: config.py new file: coze.py new file: generate_api.py new file: html_crypto.py new file: main.py new file: static/bg.jpg new file: "static/\345\223\201\347\211\214\346\226\207\346\241\243\346\240\274\345\274\217_\346\250\241\346\235\277.xlsx" new file: "static/\346\250\241\346\235\2772-\344\273\245\346\226\207\344\273\266\345\244\271\346\226\271\345\274\217\344\270\212\344\274\240.zip" new file: tool/.device_id new file: tool/__pycache__/devices.cpython-311.pyc new file: tool/__pycache__/devices.cpython-39.pyc new file: tool/devices.py
46 lines
1.2 KiB
Python
46 lines
1.2 KiB
Python
"""
|
||
卖相AI - Flask 后端
|
||
按功能拆分为蓝图:认证(auth)、主页面(main)、管理员(admin)、图片(image)、品牌(brand)
|
||
"""
|
||
import os
|
||
import secrets
|
||
from datetime import timedelta
|
||
|
||
from flask import Flask
|
||
from flask_cors import CORS
|
||
|
||
from app_common import init_db, BASE_DIR
|
||
from blueprints.auth import auth_bp
|
||
from blueprints.main import main_bp
|
||
from blueprints.admin import admin_bp
|
||
from blueprints.image import image_bp
|
||
from blueprints.brand import brand_bp
|
||
|
||
|
||
def create_app():
|
||
app = Flask(__name__, template_folder=BASE_DIR, static_folder=BASE_DIR)
|
||
CORS(app)
|
||
app.secret_key = os.environ.get('SECRET_KEY', secrets.token_hex(32))
|
||
app.config['PERMANENT_SESSION_LIFETIME'] = timedelta(days=7)
|
||
|
||
# 注册蓝图(不设 url_prefix,保持原有 URL 路径不变,前端无需改动)
|
||
app.register_blueprint(auth_bp)
|
||
app.register_blueprint(main_bp)
|
||
app.register_blueprint(admin_bp)
|
||
app.register_blueprint(image_bp)
|
||
app.register_blueprint(brand_bp)
|
||
|
||
return app
|
||
|
||
|
||
app = create_app()
|
||
|
||
|
||
def run_app(host='127.0.0.1', port=5123):
|
||
init_db()
|
||
app.run(host=host, port=port, threaded=True, use_reloader=False)
|
||
|
||
|
||
if __name__ == '__main__':
|
||
run_app()
|