(模拟企业后台管理软件,功能不多,仅作技术演示。)
1、登录功能,包括用户名/手机验证码登录,登录认证、用户注册、账号注销、登录超时跳转、密码重置/修改等常用功能。
2、用户管理,包括用户信息的分页查询、新增、修改、删除,头像上传/更新。
3、角色管理,包括基础、中等、最高三种权限,可以给用户分配角色,赋予菜单操作权限。
4、文件上传、下载。
5、Excel格式数据导出。
整体开发技术栈:Vue + Springboot + Mybatis + MySQL。
1、前端页面部分:采用Vue框架与ElementPlus组件实现基本的页面布局,项目包含基本的路由守卫、全局请求配置,Layout+主页+各功能页以及相应的axios请求。
2、后端API部分:采用Springboot+Mybatis框架进行开发,以下为各模块具体实现说明:
-注册及登录认证部分,包括登录、注销、注册、修改密码、短信验证等接口。用户密码采用Bcrypt加密,用户登录使用jwt令牌进行认证,后端设置拦截器并进行参数校验,登录后在Redis中缓存token,设置过期策略。使用Hutool工具包模拟手机验证码认证。
-主页部分:包括用户头像、用户信息、修改资料等接口。用户头像限制文件格式与文件大小,以上传更新头像为例,先利用token获取用户ID,根据ID查询用户原头像URL,若存在原头像则删除原头像文件,接着利用uuid生成新文件名,保存新头像文件并更新用户表中头像url信息,至此完成用户头像的更新。
-功能页部分:包括用户管理及角色管理两个功能页,提供条件查询、PageHelper分页查询、新增、修改、删除等基本功能,可以给用户分配角色解锁响应权限。具体实现为设置一个AOP切面方法统一鉴权,在接口上添加@CheckPermission注解核对权限,并在全局异常中添加无权限异常处理。
-工具类与配置:拦截器配置、跨域配置、jwt生成、短信验证、阿里云oss配置、全局Result、全局Exception。
-文件管理:采用阿里云oss系统实现文件的上传与下载。
-数据导出:使用easyexcel工具实现Excel数据导出功能。
3、代码测试:后端部分用Postman进行接口测试,前端页面直接用浏览器调试,各自部分确认无误后二者联调进行完整功能测试。
4、项目打包与部署:后端使用maven项目管理工具打包完成后上传至linux服务器启动服务,前端静态页面上传至Nginx目录下,做好相应配置后即可访问。