Sophie 是一个cms内容管理系统,基于${技术栈} 开发实现。Sophie 包含后台通用管理模块(分为系统管理、系统监控、系统工具三个子模块)和 扩展子系统部分(可以扩展出文件系统,cms,博客系统等)。 后台通用管理模块可以帮助开发者专注业务模块开发,更快开发、构建项目从而缩短项目周期。 扩展子系统在后台通用管理模块基础上进行扩展,使得系统灵活性强,可塑性高。
后台通用管理模块功能设计 用户管理:对用户的属性、状态进行配置 部门管理:使用树状结构对组织各个层级的属性、状态进行管理 岗位管理:管理组织内部定义的岗位及其状态 菜单管理:拥有权限的角色可以管理系统的菜单进行编辑 角色管理:根据角色来管理用户的权限,组织可以内部自定权限角色 字典管理:字典由字典名称、字典类型、状态组成,由组织内部定义字典类型和该类型取值范围 参数管理:参数由k-v 对表示,管理系统运行时参数设置,通过修改参数来修改管理系统的行为。 通知公告:系统通知公告信息发布维护。 操作日志:系统正常操作日志记录和查询;系统异常信息日志记录和查询。 登录日志:系统登录日志记录查询 在线用户:当前系统中活跃用户状态监控。 定时任务:在线(添加、修改、删除)任务调度包含执行结果日志。 代码生成:支持前后端代码的生成(java、html、xml、sql)支持CRUD下载 。 系统接口:根据业务代码自动生成相关的api接口文档。 服务监控:监视当前系统CPU、内存、磁盘、堆栈等相关信息。 表单构建器:用户通过拖动组件及设置组件属性定义页面
扩展功能设计 cms内容管理子系统:
基础功能
- 支持用户CRUD
- 用户列表导出
部门列表展示 以树状结构展示公司部分,支持部门名搜索
用户搜索 支持通过用户名、手机号、状态、创建时间等组合条件搜索用户
需求描述 用户列表需要展示用户编号、用户名称(登录账号)、用户昵称、所属部门、手机号码、状态、创建时间。 用户的状态有正常、停用两种 用户属性包括:用户昵称、归属部门(一个用户只能属于一个部门)、手机号码、邮箱、性别、状态、岗位(一个用户可以有多个岗位)、权限角色、备注 对用户的操作支持重置密码(默认为123456)和 分配角色
基础功能
- 角色CRUD
- 自定义角色权限范围
- 角色列表导出功能
角色搜索 支持通过角色名称、权限字符(角色标识)、状态、创建时间等组合条件搜索角色
角色授权 支持把角色赋予给用户
需求描述 角色的权限是指编辑哪些系统菜单模块的权限。 角色列表需要展示角色编号、角色名称、权限字符(角色标识)、显示顺序、状态、创建时间等。 角色属性包括:角色名称、权限字符、角色顺序(显示顺序)、状态、菜单权限、备注等。 在修改角色菜单权限时要能够一键展开/关闭系统菜单、全选/全不选、父子联动功能。
基础功能
- 树状结构的菜单CRUD(支持级联删除)
- 支持刷新缓存功能(?)
菜单搜索 支持根据菜单名称、菜单状态搜索菜单
需求描述 需要以树状、列表的形式展示菜单,列表展示的内容有:菜单名称、图标、同级菜单的序号、权限标识(?)、组件路径、状态、创建时间 字典类型属性包括:字典名称、字典类型、状态、备注等
基础功能
- 树桩结构的部门CRUD
- 一键展开折叠列表
部门搜索 支持根据部门名称、状态搜索部门
需求表述 以树状列表的形式展示企业部门、需要展示部门名称、排序、状态、创建时间等 状态分为正常、停用 企业部门除了公司外每个部门都有上级部门 企业部门属性包括:部门名称、显示排序、负责人、联系电话、邮箱、部门状态等 同一层级的部门显示按排序属性(从小到大)显示
基础功能
- 岗位CRUD
- 岗位列表导出
岗位搜索 支持根据岗位编码、岗位名称、状态搜索岗位
需求描述 岗位管理需要显示岗位编号、岗位编码、岗位名称、岗位排序、状态、创建时间等 岗位属性包括:岗位名称、岗位编码、岗位顺序、岗位状态、备注。
基础功能
- 字典类型的CRUD,统一字典类型取值CRUD
- 将字典类型列表导出
字典搜索 支持根据字典名称、字典类型、状态、创建时间搜索字典类型
基础功能
- 支持系统参数的CRUD
- 支持导出参数列表
- 支持刷新缓存
参数搜索 支持根据参数名称、参数键名、是否系统内置、创建时间搜索参数
需求描述 系统能够根据用户设置的参数调整行为,参数分为系统内置参数和用户自定义参数 参数列表包括:参数主键、参数名称、参数键名、参数键值、系统内置、备注、创建时间 参数属性包括:参数名称、参数键名、参数键值、系统内置、备注
基础功能
- 公告CRUD
公告搜索 支持根据公告标题、操作人员、类型搜索公告
需求表述 系统管理员要能够通过此模块发布、修改、删除公告 列表显示公告序号、公告标题、公告类型、状态、创建者、创建时间等 公告属性包括:公告标题、公告类型、状态、内容 公告内容要支持富文本
基础功能
- 操作日志和登录日志的删除
- 操作日志和登录日志的导出
日志搜索 支持根据操作地址、系统模块、操作人员、类型、状态、操作时间 搜索操作日志 支持根据登录地址、用户名称、状态、登录时间 搜索登录日志
需求描述: 日志管理分为操作日志和登录日志。 操作日志表示调用了操作者调用了哪个系统模块, 需要记录的内容有:操作人员、调用的系统模块、操作类型(字典类型)、请求方式、操作人员的ip、操作状态(字典类型)、操作日期、消耗时间。 点击操作详细信息需要展示操作模块(系统模块+操作类型)、请求地址(path)、登录信息(操作人员+ip)、请求方式、操作方法(路由处理函数)、请求参数(json格式表示)、返回参数(json格式表示)、操作状态、耗时、操作时间。
登录日志记录了用户的登录信息,需要记录的内容有:用户名称、登录的ip地址、登录状态(字典类型)、状态描述信息、登录时间 用户多次登录失败会锁定账户、因此登录日志需要有解锁功能
基础功能
- 展示在线用户属性
- 强制退出用户
搜索功能 支持根据登录地址、用户名称搜索用户
需求描述 在线用户列表要显示序号、会话标号、登录名称、主机、登录时间等
基础功能
- 对定时任务进行CRUD
- 导出定时任务列表
搜索功能 根据任务名称、任务组名、任务状态搜索定时任务
需求表述 定时任务使用场景举例:购买会员后每天赠送成长值、保证最终一致性场景中设置定时任务进行比对工作等。 前端新建定时任务的方式:设置任务名称(自定义)、任务分组(根据字典类型sys_job_group配置)、调用目标字符串(设置后台任务方法名称参数)、执行表达式(参考cron表达式)、设置执行策略、是否并发等。 执行策略有:立即执行、执行一次、放弃执行等。 定时任务列表要展示任务编号、任务名称、任务组名、调用目标字符串、cron执行表达式、状态等 要能够对指定任务手动执行一次 显示任务详情信息:在任务列表展示的基础上额外显示创建时间、下次执行时间。
点击调度日志后显示调度日志列表: 支持根据任务名称、任务组名、执行状态、执行时间搜索调度日志 列表显示日志编号、任务名称、任务组名、调用目标字符串、日志信息、执行状态、执行时间、 详细日志信息展示:日志序号、任务分组、任务名称、执行时间、调用方法、日志信息(任务名称+耗时)、执行状态
各种控制台 点击后进入项目用到的各种组件的管理界面(通常由组件自身提供,不需要额外实现)
点击Admin 控制台进入系统监控模块,需要登录管理员账号才能访问监控服务
表单生成工具,用户能够拖动组件来自定义生成vue 表单页面。组件分为输入型组件、选择型组件和布局型组件。 表单属性控制整个表单,表单属性包括:表单名、表单模型、校验模型、表单尺寸、标签对齐、标签宽度、栅格间隔、禁用表单、表单按钮、显示未选中组件边框等。 每个组件可以设置具体的组件属性。
基本功能
- 数据库表单的CRUD
- 支持预览生成的业务代码
- 支持编辑数据库表
- 支持将修改同步到数据库后端
- 生成业务代码
搜索功能 支持根据表名称、表描述、创建时间来搜索数据库表
需求表述 数据库表列表显示序号、表名称、表描述、实体、创建时间、更新时间 编辑数据库表包括:序号、字段列名、物理类型、golang类型、golang属性、插入、编辑、列表、查询、查询方式、必填(非空)、显示类型、字典类型 其中可编辑的部分为字段描述、golang类型、golang属性、插入、编辑、列表、查询、查询方式、必填、显示类型、字典类型。(编辑功能不会修改原来的表结构,只能修改部分列属性) 用户首先编写sql脚本,创建数据库表(表和列都要有注释),然后进入代码生成模块导入已有的数据库表,点击生成代码后生成前后端的代码。