# lycode-base **Repository Path**: lycode-fs/lycode-base ## Basic Information - **Project Name**: lycode-base - **Description**: 一个开源的前后端分离RBAC中后台开发脚手架、使用较新且常用技术栈,包括后端 JDK8、Spring boot2、Mybatis、Sa-Token、前端 Vue3、Vite5、TypeScript、ElementPlus。致力于为您提供一个简洁、功能强大、高内聚低耦合、易于扩展与二次开发的全栈脚手架 - **Primary Language**: Unknown - **License**: Apache-2.0 - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 3 - **Forks**: 0 - **Created**: 2024-10-28 - **Last Updated**: 2025-06-04 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # 后端运行前准备 application-local.properties 文件未上传需要自行创建。内容为数据源配置 ```properties spring.datasource.url= spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver spring.datasource.username= spring.datasource.password= ``` 模块依赖关系 admin--->framework--->system | generator | batch--->common
# 注意事项 1. 任何方法不要传入null, 不要返回null。 2. 无法保证不传入null时,方法做判空处理。 3. 前端传过来的参数可以在DTO上做注解校验,或者设置默认值 4. service层仅调用自己的mapper,避免调用其他类的mapper,可调用其他类的service。 # 已完成功能 V1.0.0 ## 系统管理 ### 登录与Session管理 - [x] 登录后用户的session中包括用户基本信息和用户角色。 - [x] 角色—权限、 角色—菜单 统一进行缓存。 权限、菜单发生变动后,清除相关角色的缓存即可 ### 菜单管理 - [x] 新增、修改、删除菜单后,清除角色—菜单缓存 - [ ] 超级管理员获取全部菜单不加缓存 ### 部门管理 - [x] 部门列表查询 - [x] 添加部门 - [x] 编辑部门(ancestors、isLock) - [x] 删除部门 (禁止删除带子部门和带员工的部门) ### 角色管理 - [x] 分页查询列表 - [x] 添加和编辑角色弹窗增加:角色排序、角色禁用 - [x] 修改把禁用按钮去掉 - [x] 修改角色基本信息、禁止修改超级管理员 - [x] 修改角色权限 - [ ] 修改角色数据权限 - [x] 删除角色 ### 用户管理 - [x] 查询部门树 - [x] 查询部门数附带每个部门的人数 - [x] 分页查询用户列表, 除了基本用户信息还包括用户的角色、部门信息 - [x] 根据部门树查询用户 - [x] 添加用户 - [x] 添加用户、用户操作前端页面修改 - [x] 检查前端按钮权限标识 - [x] 修改用户 - [ ] 输入身份证、手机号校验、邮箱、【工号、用户名】规则校验 - [x] 删除用户 - [x] 测试联动删除用户所有绑定角色信息 - [x] 设置用户角色 - [x] 批量设置角色部门 - [x] 批量设置角色岗位 - [x] 编辑用户功能加入岗位和部门编辑 - [x] 用户信息把岗位信息也联表查询出来 - [ ] 点击用户名显示用户详情 - [x] 重置用户密码 - [x] 用户名需保证唯一、nickname不需要唯一 - [x] 按用户名/工号/身份证查询时加入limit 1 防止错误数据引发系统故障 - [ ] 多次输错密码锁定用户几分钟 / 手动解锁用户 - [ ] 头像上传 ### 字典管理 若依拉取字典数据是这个页面需要什么就拉取什么,没刷新的话拉取一次就不拉了 这个geekAdmin是一次性拉取所有字典数据,进入具体页面时不再拉取,刷新就又重新拉取所有字典数据。 如果字典数据变得特别多,可以优化成若依的方式,不过一般字典数据不是很多,都无所谓,字典数据也可以放入缓存。一次性拉取后,系统更流畅,代码更简洁? - [x] 字典类型加一个业务类型字段、 分为系统字典和业务字典 - [x] 字典类型列表 - [x] 字典类型对应字段列表 - [x] 字典添加 - [x] 字典修改 - [x] 字典删除 - [x] 字典锁定 - [x] 新增字典类型 - [x] 删除字典类型(逻辑删除,不同步删字典内容) - [x] 锁定字典类型 - [x] 字典类型对应的字典列表 ### 参数管理 ### 文件管理 - [ ] 文件上传、下载 ### 岗位管理 - [x] 自动代码生成,增删改查 ## 日志管理 ### 操作日志 ### 登录日志 ## 系统工具 ### 代码生成 - [x] 导入表列表查询 - [ ] 导入表 - [x] 导入表信息 - [ ] 导入表的列信息 - [x] 已导入的表列表查询 - [x] 编辑 - [x] 删除 - [x] 预览 - [x] 代码生成预览 - [x] 加入前端代码和SQL的预览 - [x] 代码生成模板修改 - [x] 生成代码 - [x] 生成代码配置加一个swagger选项 - [x] 加一个同步功能,而不是必须重新删除 - [x] 覆盖生成 - [ ] 自动插入菜单和按钮,插入菜单和按钮之后,记得更新菜单和按钮的缓存,不然用户感知不到 ### 表单构建 ## 定时任务 ## 前台官网