0
点赞
收藏
分享

微信扫一扫

谷粒学院知识点总结

zhyuzh3d 2022-04-04 阅读 49

文章目录


前言

谷粒学院知识点总结,准备实习面试


一、项目功能点

1.后台管理系统功能

  • 登录功能(SpringSecurity框架)

  • 权限管理功能
    (1)菜单管理:列表、添加、修改、删除
    (2)角色管理:列表、添加、修改、删除(批量删除)、分配菜单
    (3)用户管理:列表、添加、修改、删除、分配角色
    (4)权限管理表和关系 (重点)


  • 讲师管理模块(条件查询分页列表、添加、修改、删除)

  • 课程分类模块
    (1)添加课程分类(读取Excel数据添加到数据库——EasyExcel)
    (2)课程分类列表(使用树型结构)

  • 课程管理模块
    (1)课程列表功能
    (2)添加课程(填写课程基本信息——添加课程大纲(章节和小节)——课程信息确认——课程发布)

    (3)添加小节上传课程视频(阿里云OSS)


  • 统计分析模块 (生成统计数据、统计数据图表显示echarts)

2.前台系统功能

  • 首页数据显示 (幻灯片、热门课程、名师,根据sort/view_count/id排序选择前几位展示)

  • 注册功能 (获取手机验证码——阿里云短信)

  • 登录功能
    (1)普通登录(单点登录SSO:session广播机制、cookie+redis、token)

    (2)微信扫码登录(OAuth2:特定问题的解决方案(令牌)——开放系统间授权、分布式访问)

  • 名师列表功能

  • 名师详情功能

  • 课程列表功能(条件查询分页列表)

  • 课程详情页 (课程信息显示、判断课程是否需要购买)

  • 课程视频在线播放 (阿里云视频点播)

  • 课程支付功能 (生成课程订单、生成微信支付二维码、微信支付)

3.总结项目技术点

  • 前后端分离开发

  • 前端:Vue + Element-ui + Node.js + Nuxt + Echarts

  • 后端:微服务架构 + SpringBoot + SpringCloud + MyBatisPlus + EasyExcel + SpringSecurity + Redis + Nginx + OAuth2+JWT + HttpClient + Cookie + 微信登录/支付 + 阿里云OSS /视频点播 /短信服务 + Git + Docker+Jenkins


二、项目问题

  1. 前端问题-路由切换问题
    (1)多次路由跳转到同一个vue页面,页面中created方法只会执行一次
    (2)解决方案:使用vue监听

  2. 前端问题-ES6模块化运行问题
    (1)Nodejs不能直接运行ES6模块化代码,需要使用Babel把ES6模块化代码转换ES5代码 执行

  3. mp生成19位id值
    (1)mp生成id值是19位,JavaScript处理数字类型值时候只会处理到16位
    (2)js的number类型有个最大值(安全值),即2的53次方。更改ID为String,并更改策略为ID_WORKER_STR

  4. 跨域问题
    (1)访问协议,ip地址,端口号,这三个如果有任何一个不一样,产生跨域
    (2)跨域解决:在Controller添加注解;通过网关解决

  5. 413问题
    (1)上传视频时候,因为Nginx有上传文件大小限制,如果超过Nginx大小,出现413
    (2)413错误:请求体过大
    (3)在Nginx配置客户端大小
    (4)响应状态码:302(临时重定向)、401(用户凭证不正确)、403 (请求被拒绝)、404(资源未找到)、408(请求超时)、502(网关从上游服务器接收到无效的响应)、511(客户端需要进行身份验证才能获得网络访问权限)

  6. Maven加载问题
    (1)maven加载项目时候,默认不会加载src-java文件夹里面xml类型文件的
    (2)解决方案: 直接复制xml文件到target目录;通过配置实现


三、项目描述

1. 总体介绍

  • 在线教育商城,分为前台网站系统和后台运营平台,采用B2C模式。
  • 使用了微服务架构,前后端分离开发,前端有资源,后端自己做。

2. 项目功能模块 & 主要深入的模块

  • 分为前台系统和后台系统,前台系统包括:首页数据显示、课程列表和详情、课程支付、课程视频播放、微信登录 /支付等;
  • 后台系统包括:权限管理、课程管理、统计分析、课程分类管理等
  • 主要深入的模块为…

3. 项目涉及技术

  • 后端主要技术架构是:SpringBoot + SpringCloud + MyBatisPlus + EasyExcel + Nginx
  • 前端主要技术架构是:Node.js + Vue.js + element-ui + NUXT + ECharts
  • 其它涉及的中间件包括Redis、阿里云OSS和视频点播,业务中使用ECharts做图表展示;使用easyExcel完成分类批量添加;注册分布式单点登录使用了JWT。
  • 系统中包含前台会员和后台系统管理员与运营人员,数据库采用后台分库,每个微服务一个独立的数据库,使用了分布式id生成器
  • RPC
  • 系统架构图
举报

相关推荐

0 条评论