开发总结——前后端分离+微服务
1、MP
基本流程
主键自动生成
自动填充
乐观锁实现
select、分页
delete:逻辑删除、物理删除
mp性能分析插件
条件查询Querywrapper
2、后端1
json时区
swagger测试
统一返回格式
@requestbody
统一、指定、自定义异常处理
日志输出、日志级别
3、前端1
es6语法:
数组解构、对象赋值、模拟字符串、对象方法、箭头函数
vue指令、组件
vue生命周期:
Create、Mounted
断点
Vue路由
Axios
Element-ui
Node.js
npm
Babel
前端模块化
Webpack
vue-admin-template、目录结构
跨域
路由切换
开发流程
服务端渲染技术
NUST框架
4、oss、视频点播、短信、微信支付、微信注册
阿里云对象存储
阿里云视频点播:上传、播放、删除
阿里云短信服务
微信支付
微信注册
5、后端2
nginx
EasyExcel读写
Vue tree
vo
bean转换
树形结构:遍历、循环
路由、隐藏路由、动态路由
富文本编辑器
多表联查——SQL
openfeign、nacos
远程调用流程:
1、接口化请求调用
2、Feign
3、Hystrix
4、Ribbon
5、Httpclient
6、后端3
redis缓存:
Cacheable、Cacheput、Cacheevict
sso单点登录
jwt:json web token
1、jwt头信息
2、有效载荷
3、签名哈希
sso实现:
1、session复制
2、Cookie带着唯一key在中redis 查询
3、Token:用户信息加密成的字符串(自包含令牌)
(1)cookie 或者 地址栏
(2)访问时携带字符串
Reids过期时间、token过期时间 均可设置过期
密码加密:
1、MD5工具类
2、密码加密和数据库比较
token解析
7、前端2
二维码
定时器
token实现:
(1) 登录返回token
(2) Token放到cookie中
(3) 前端拦截器(请求拦截):判断cookie是否有token,把token放到请求头中
(4) 根据请求头的token获取用户信息,用户信息放到cookie中
(5) 显示用户信息
验证——获得token(放到cookie)——拦截:获取token放到header——调用api获取用户信息(放到cookie)
cookie:json字符串转为json对象
OAuth2
微信登录:
1、使用httpclient发送get请求(工具类 + 依赖)
2、从json字符串获取值(转为map)
3、再请求一个地址,获取扫码人信息
4、自动注册(未注册)
token路径传递
1、通过路径获取token
以下同前面
2、Token——cookie、拦截器:token——header
存在cookie中是因为有拦截器会将cookie中的token存到header中,后端也是从hader中取token的,cookie相当于转存的介质
3、Token + header = member——cookie
播放器组件
评论组件
微信支付:
(1) 生成订单
① 根据课程id获取课程信息——远程调用
② 根据用户id(jwt从header获取id)获取用户信息——远程调用
(2) 根据id查询订单信息
(3) 生成微信支付二维码
① 、获取订单参数
②、发送httpclient请求(参数xml)
③、获取返回结果
(4) 查询支付状态
①Service——发送httpclient请求——返回包含状态
②添加支付记录,更改订单状态
③定时器
根据Url下载二维码组件
Echarts
定时任务
8、后端4
canal数据同步
Gateway:路由、断言、过滤器
权限管理
权限关系表
递归分级
SpringSecurity
nacos配置中心
9、Jenkins
Jenkins、github action
10、产品开发流程
1、需求调研(产品经理)
2、需求评审(产品/设计/前端/后端/测试/运营)
3、立项(项目经理、品管)
4、UI设计
5、开发
· 架构、数据库设计、API文档、MOCK数据、开发、单元测试
· 前端
· 后端
6、前端后端联调
7、项目提测:黑盒白盒、压力测试(qps) loadrunner
8、bug修改
9、回归测试
10、运维和部署上线
11、灰度发布
12、全量发布
13、维护和运营