# school_addon 表文档 ## 表概述 **表名**: school_addon **功能**: 插件管理表,负责管理教务系统中的插件安装、配置、版本控制、状态管理等扩展功能模块 ## 字段说明 ``` Field Type Collation Null Key Default Extra Privileges Comment id int NULL NO PRI NULL auto_increment select,insert,update,references 主键 title varchar(40) utf8mb4_general_ci NO select,insert,update,references 插件名称 icon varchar(255) utf8mb4_general_ci NO select,insert,update,references 插件图标 key varchar(20) utf8mb4_general_ci NO select,insert,update,references 插件标识 desc text utf8mb4_general_ci YES NULL select,insert,update,references 插件描述 status tinyint NULL NO 1 select,insert,update,references 状态 author varchar(40) utf8mb4_general_ci NO select,insert,update,references 作者 version varchar(20) utf8mb4_general_ci NO select,insert,update,references 版本号 create_time int NULL NO 0 select,insert,update,references 创建时间 install_time int NULL NO 0 select,insert,update,references 安装时间 update_time int NULL NO 0 select,insert,update,references 更新时间 cover varchar(255) utf8mb4_general_ci NO select,insert,update,references 封面 type varchar(255) utf8mb4_general_ci NO app select,insert,update,references 插件类型app,addon support_app varchar(255) utf8mb4_general_ci NO select,insert,update,references 插件支持的应用空表示通用插件 is_star tinyint NULL NO 1 select,insert,update,references 是否加星 compile varchar(2000) utf8mb4_general_ci NO select,insert,update,references 编译端口 ``` ## 功能用途 ### 主要功能 - **插件安装管理**: 管理插件的安装、卸载和重新安装 - **版本控制**: 跟踪插件的版本信息和更新历史 - **状态管理**: 控制插件的启用、禁用和运行状态 - **插件信息**: 管理插件名称、描述、图标等基本信息 - **作者管理**: 记录插件开发者和维护者信息 - **类型分类**: 区分不同类型的插件(app、addon等) - **应用支持**: 管理插件支持的应用范围 - **编译配置**: 管理插件的编译端口和配置信息 - **星标管理**: 支持插件的收藏和推荐功能 ### 业务场景 - **系统扩展**: 通过插件扩展系统功能和特性 - **功能定制**: 根据业务需要安装特定功能插件 - **版本升级**: 管理插件的版本更新和兼容性 - **插件市场**: 支持插件的发布、下载和安装 - **功能开关**: 通过启用/禁用控制插件功能 - **系统集成**: 插件与核心系统的集成和配置 - **开发调试**: 插件开发过程中的测试和调试 - **性能优化**: 根据需要选择性加载插件 - **安全管理**: 控制插件的安装权限和安全性 ## 关联关系 ### 主要关联表 - `school_sys_config`: 系统配置表 (插件配置关联) - `school_sys_menu`: 系统菜单表 (插件菜单关联) - `school_sys_role`: 系统角色表 (插件权限关联) - `sys_log`: 系统日志表 (插件操作日志) - `school_personnel`: 人员表 (插件使用权限) - `school_campus`: 校区表 (插件应用范围) ### 关联说明 - **配置关联**: 插件可能有专门的配置项存储在系统配置表中 - **菜单关联**: 插件安装时可能添加新的菜单项 - **权限关联**: 插件功能需要相应的角色权限控制 - **日志关联**: 插件的安装、卸载、启用等操作记录在日志中 - **用户关联**: 不同用户可能有不同的插件使用权限 - **校区关联**: 插件可能只在特定校区启用或配置 ## 索引建议 - **主键索引**: id (已存在) - **唯一索引**: - key (插件标识唯一) - **业务索引**: - status (状态查询) - type (类型查询) - is_star (星标查询) - author (作者查询) - **复合索引**: - (status, type) (有效插件类型查询) - (type, support_app) (应用插件查询) - (status, is_star) (推荐插件查询) - **时间索引**: - create_time (创建时间查询) - install_time (安装时间查询) - update_time (更新时间查询) ## 注意事项 - **插件标识唯一性**: key字段必须唯一,避免插件标识冲突 - **版本兼容性**: 插件版本需要与系统版本兼容 - **状态一致性**: 插件状态变更需要同步更新相关配置 - **安装顺序**: 某些插件可能有依赖关系,需要按顺序安装 - **卸载检查**: 卸载插件前需要检查是否有其他插件依赖 - **权限验证**: 插件安装和管理需要相应的管理权限 - **数据备份**: 插件操作前建议备份相关数据 - **编译配置**: compile字段存储编译相关配置,格式需要规范 - **应用范围**: support_app字段控制插件的应用范围 - **安全检查**: 插件安装前需要进行安全性检查 - **资源管理**: 插件可能占用系统资源,需要监控 - **配置迁移**: 插件更新时需要处理配置数据迁移 - **错误处理**: 插件加载失败时需要有容错机制 - **日志记录**: 插件操作需要详细的日志记录 - **缓存清理**: 插件状态变更时需要清理相关缓存 - **测试验证**: 插件安装后需要验证功能正常性 - **回滚机制**: 插件更新失败时需要支持回滚 - **文档维护**: 插件需要维护详细的使用文档