- 在 applications/config.py 中通过 PLUGIN_ENABLE_FOLDERS 启用 4 个业务插件
- 删除 framework 内 applications/view/system/nav.py 与 templates/system/nav/* 模板
- applications/extensions/init_plugs 移除重复的 broadcast_execute('event_init'/'event_finish')
(由 init_bps / init_script 触发,避免 Blueprint 注册冲突)
- applications/view/system/index.py:未登录访问 / 直接渲染前台公开聚合页
- templates/system/index.html:移动端首屏即折叠侧边栏
- 新增 5 个 model(Nav 字段 status→enable 兼容、NavCategory、About、Friend、VisitLog/PageStat、NavClick)
- 新增 2 个 schema(NavCategorySchema、FriendOutSchema/ManageSchema)
- admin_about/admin_friend/admin_nav_category 在 init.json 中以「网站管理」分组挂载
- .gitignore 补充一次性备份、调试截图、探针截图不入库
35 lines
1.2 KiB
Python
35 lines
1.2 KiB
Python
from flask import Flask
|
|
from .init_sqlalchemy import db, ma, init_databases
|
|
from .init_login import init_login_manager
|
|
from .init_template_directives import init_template_directives
|
|
from .init_error_views import init_error_views
|
|
from .init_mail import init_mail, mail as flask_mail
|
|
from .init_upload import init_upload
|
|
from .init_migrate import init_migrate
|
|
from .init_session import init_session
|
|
from .init_limit import init_limit
|
|
from .init_plugins import register_plugin, broadcast_execute
|
|
|
|
|
|
def init_plugs(app: Flask) -> None:
|
|
# 注册插件 (仅 import + 注册动作)
|
|
register_plugin(app)
|
|
broadcast_execute(app, 'event_begin')
|
|
|
|
# 注册 Flask 功能
|
|
init_login_manager(app)
|
|
init_databases(app)
|
|
init_mail(app)
|
|
init_upload(app)
|
|
init_migrate(app)
|
|
init_session(app)
|
|
init_limit(app)
|
|
|
|
# 系统蓝图相关(含 @template_global 等 Jinja 注入)
|
|
init_template_directives(app)
|
|
init_error_views(app)
|
|
|
|
# 注:event_init / event_finish / event_context 由具体的
|
|
# applications.view.init_bps / applications.common.script.init_script
|
|
# 触发,避免 init_plugs 内重复调用导致 Blueprint 注册冲突
|