1.若依(前后端分离版)
1.1什么是若依
开源项目,学习开源项目的目的:
1.用别人的,减少自己的工作量
2.学习他的底层编程思想,设计思路,提高自己的编程能力
官网:www.ruoyi.vip
基础:springboot+Vue
环境要求:
1.jdk1.8+
2.mysql
3.Redis
4.Maven
5.vue
1.2使用若依
1.下载并运行
-
先从官网上下载,从码云上拉取
-
创建本地数据库
-
配置好数据源:在admin的数据源配置文件里
-
配置好Redis:下载好Redis,开启服务之后,在主配置文件当中配置。
-
redis.exe文件闪退,在根目录下打开cmd,输入redis-server.exe redis.windows.conf
-
启动后端
-
在终端启动前端
-
进入到ruoyi-ui目录下
-
安装依赖:npm install/npm i
-
启动前端:npm run dev
-
2.看懂业务流程
3.进行二次开发
1.3登录
1.3.1 生成验证码
|基本思路
-
后端用方法生成一个表达式 1+1=2,然后用@拆成两部分
-
1+!=?@2这里用captchaProducerMath.createText()方法实现的
-
1+1=?转成图片,传到前端进行展示
-
2存入Redis
-
请求 URL:
http://localhost/dev-api/captchaImage
-
Vue获取图片,前端还是后端?
-
反向代理,URL请求前端,进行代理,映射到后端,解决跨域问题
-
-
/dev-api 替换成‘ ’ 再映射到http://localhost:8080,即http://localhost:8080/captchaImage
-
-
后端代码:
-
用全局搜索找请求的代码:右键模块:find in path,或者使用快捷键。Ctrl+shift+f
1.3.2登录的具体实现
后端:
1.校验验证码
2.校验用户名和密码
-
涉及到了线程池,异步任务管理器(这里不会)
3.生成token
使用一步管理器,结合线程池,实现了异步的操作日志记录,和业务逻辑实现异步解耦合。
1.3.3 getInfo
权限当中的 *: * :*是什么:spring-Security里面的 :表示所有权限
1.3.4 getRouters
根据当前用户的权限获取动态路由
1.4用户管理
流程:加载Vue页面-->请求后台数据
-
getList
-
startPage():分页操作
-
PageHelper中的reasonable对参数进行逻辑处理,保证参数的正确性:把非数字和小于零的数字改成1
-
-
userService.selectUserList(user)
-
注解@DataScope(deptAlias = "d", userAlias = "u"):给表设置别名的
-
-
treeSelect
-
查出所有的部门数据
-
组装成树状结构
-
1.9代码生成
-
先创建数据库表
-
在系统工具中使用代码生成功能,导入数据库表(如果导入的时候出错,有可能是数据库字符编码默认选择了Unicode...)
-
导入表之后,进行编辑
-
-
点击生成代码,就会下载得到一个压缩包
-
里面包括三部分,后端,前端以及SQL(菜单的SQL语句)
-
按目录结构导入代码,重启项目
-
main目录
-
前端src目录
-
执行SQL查询
-
-
重启项目
-
到菜单管理处设置图标