refactor(plugins): 将导航/友链/关于/统计 4 模块迁出 framework 至 plugins

- 在 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 补充一次性备份、调试截图、探针截图不入库
This commit is contained in:
bwstudio
2026-09-06 18:17:52 +08:00
parent 1214bfdf4a
commit 1ea69c2c34
22 changed files with 512 additions and 646 deletions
+2
View File
@@ -7,3 +7,5 @@ from .admin_log import LogOutSchema
from .admin_photo import PhotoOutSchema
from .admin_mail import MailOutSchema
from .admin_nav import NavOutSchema, NavManageSchema
from .admin_nav_category import NavCategorySchema
from .admin_friend import FriendOutSchema, FriendManageSchema
+17
View File
@@ -0,0 +1,17 @@
from flask_marshmallow.sqla import SQLAlchemyAutoSchema
from applications.models import Friend
class FriendOutSchema(SQLAlchemyAutoSchema):
"""前台展示用:序列化 Friend 对象为 JSON"""
class Meta:
model = Friend
include_fk = True
class FriendManageSchema(SQLAlchemyAutoSchema):
"""后台管理用:序列化为表格数据 / 表单回填"""
class Meta:
model = Friend
include_fk = True
@@ -0,0 +1,10 @@
from flask_marshmallow.sqla import SQLAlchemyAutoSchema
from applications.models import NavCategory
class NavCategorySchema(SQLAlchemyAutoSchema):
"""导航分类序列化:用于后台 table_api 的 data 字段"""
class Meta:
model = NavCategory
include_fk = True