- 功能点
- 技术点
- 遇到问题
功能点
后台:
-
登录功能:Spring Security
-
权限管理功能:
(1)菜单管理:列表、添加、修改、删除
(2)角色管理:列表、添加、修改、删除
(3)用户管理:列表、添加、修改、删除、为用户添加角色,为角色添加权限
(4)权限管理至少需要5张表:用户表、权限表、角色表、用户角色表、权限角色表 -
讲师管理功能:
讲师的条件查询分页列表、增加、修改、删除 -
课程分类功能:
(1)添加课程分类:读取Excel中的课程分类,然后加入到DB中。
(2)课程分类列表:使用树形结构实现课程分类列表 -
课程管理功能:
(1)课程列表功能;
(2)添加课程功能:填写课程基本信息、添加课程大纲(章节和小节)、课程信息确认、最终发布;
(3)添加小节上传课程视频; -
统计分析功能:
(1)生成统计数据;
(2)统计数据图标显示;
Q:
前台:
-
首页数据显示:显示轮播图,热门课程、名师;
-
注册功能:
(1)获取手机验证码 -
登录功能:
(1)手机号+密码登录:单点登录(JWT生成字符串,3部分组成)
(2)微信扫码登录
OAuth2:
- 是针对特定问题的解决方案;
- 主要有2个问题:开放系统授权、分布式访问
- 如何获得扫码人信息?
-
名师列表功能
-
名师详情功能
-
课程列表功能:条件查询分页列表功能
-
课程详情页:
(1)课程信息显示(课程基本信息,分类,讲师,课程大纲)
(2)判断课程是否购买 -
课程在线播放
-
课程支付功能:
(1)生成支付订单
(2)生成二维码
(3)微信最终支付
技术点
前后端分离进行开发。
前端技术:
(1)Vue:
基本语法,相关指令:v-bind、v-model、v-if、v-for、v-html、v-on;
声明周期:created()–页面渲染之前执行、mounted()–页面渲染之后执行;
(2)Element-ui
(3) nodejs:JS运行环境,模拟服务器效果
(4)npm:包管理工具,类似maven,npm install、npm run
(5)Babel:转码器
(6)前端模块化:一个js引用另一个js文件
(7)前台框架:Nuxt
(8)后台系统框架:vue-admin-Template,基于Element-ui
(9)Echarts:图表工具
后端技术:
-
采用微服务架构:按项目功能模块将项目拆分成不同的模块。
-
Spring Boot;
-
Spring Cloud;
-
MyBatisPlus;
-
EasyExcel
(1)阿里提供的操作Excel的工具,效率高;
(2)EasyExcel对POI进行了封装,采用SAX方式进行解析。每次读取一行数据,进行解析,不是没整张表加入内存,效率高。
(3)项目应用在添加课程分类,读取Excel数据。 -
Spring Security
(1)框架组成:认证和授权;
(2)登录认证过程;
(3)代码执行过程;
-
Redis
-
Nginx
-
OAuth2+JWT
-
HTTPClient
-
Cookie
-
微信登录
-
微信支付
-
阿里云OSS
-
阿里云视频点播
-
阿里云短信验证码
-
Git
-
Docker
-
jenkins
遇到问题
前端问题
-
路由切换问题
-
ES6模块化运行问题
-
mp生成19位id值
-
跨域问题
-
413
-
Maven加载问题
(完)