用了哪些技术
后端技术
springboot3+ 安全权限框架(后端) mybatisPlus 框架jwt 生成tokeneasyexcel 导入导出递归查询拦截器验证token 中的zset 执行排名功能redis 中的列表执行现代课程功能redis 作为缓存技术作为计数器,实时记录浏览量、浏览次数评论、购买数量等(哈希自动递增) 定时任务(Quartz) elasticsearch 是全文搜索- 中文分词- 亮点等执行复杂查询(ElasticsearchRepository) 阿里云视频点播技术阿里云oss 对象存储技术支付宝面对面对接(沙箱环境+natapp内网穿透技术) 图形验证码功能短信验证码接口对接
前端技术
前端使用Nuxt框架(为了良好的SEO搜索引擎优化,主要(不被搜索引擎蜘蛛喜欢)这是在后端使用的。这是一个vue-admin-template模板,核心仍然是vue2+elementuiaxios请求封装(请求拦截器和响应拦截器)异步请求(async+await)。
思维导图
后台功能介绍
登录
(1)登录页面
(2) 用户名必须有效且经过非空验证。如果不输入,将输出“用户名不存在”。
(3) 密码验证:输入您的6位密码。如果密码不正确,将会显示说明。
后台主页
课程管理
创建课程列表并添加课程
(1) 课程列表:进入后,可以显示课程信息列表、按课程名称或课程状态搜索、编辑课程基本信息、编辑课程大纲信息、删除课程信息。
编辑基本信息
修改课程大纲
如果要删除课程,点击删除按钮,会出现一个对话框询问是否要删除。
如果课程下有章节信息,则该章节无法删除。
添加课程:输入信息后,可以添加课程,输入课程信息,上传课程照片,输入课程费用(如果输入0,则为免费课程)。保存并进入下一步,进入课程界面,点击立即激活(如果您想在添加章节后立即在前端看到最新的变化)。您将在前端看到发布的新课程。
课程分类
包含课程分类列表和导入的课程分类
课程类别列表:用户访问时,会显示所有课程类别。当您在搜索框中输入关键字时,将自动搜索包含该关键字的课程类别。
导入课程分类:用户进入后可以以表格形式上传,添加课程分类。然后上传到服务器。
轮播图
如果您输入轮播图表列表,则可以按如下方式添加、更改或删除轮播图表。单击“添加”可添加新的轮播图像,或单击“删除”可更改轮播图像信息。将出现一条消息,要求您确认删除。
讲师管理
创建讲师列表并添加讲师
导师列表:可以按导师姓名、职位、时间进行搜索。您可以更改或删除讲师。更改讲师单击可更改讲师的所有信息。当您将鼠标悬停在讲师的图像上时,讲师的图像会旋转远离您,如下所示。
要删除讲师,请单击“删除”按钮,然后将出现一条消息,指出未授予访问权限。您无法删除讲师,因为该讲师下有课程。
添加导师:点击进入可添加导师信息,操作方式与更换导师页面相同。
前台功能介绍
注册
注册时,您必须发送手机短信验证码,以验证您的手机号码是否正确(如果您能收到手机短信,则为您自己的手机)。为了防止黑客攻击这个短信接口(如果你随便输入你的手机号码,你就浪费钱给这个手机号码发短信),在发送短信验证码之前,我们首先需要提示用户输入。在发送短信之前发送正确的图形验证码可以有效防止恶意攻击。
登录
第三方登录功能尚未编写。
首页
核心部分主要是展示轮播图片、展示最新课程(使用redis列表功能,即使后台添加课程,首页最多也会展示8门课程)、导师排名(redis实现zset)、导航这个栏目主要是全文搜索的搜索框、个人中心等。
讲师详情
查询导师的基本信息以及所教授的课程。
课程分页展示
该函数是一个复杂的条件查询(分类查询、销售额升序/降序等),而在我的实际项目中,我有大量的课程,所以我使用elasticsearch来创建该函数。
全文检索
这里使用了es全文搜索,配合ik分词器(允许用户将输入的段落分割成多个关键词),大大提高了用户猜测自己想要哪门课程的能力。用户体验得到了极大的提升。
课程详情
该领域的主要困难在于,页面浏览量和购买量等数据是使用Redis 的计数器功能实现实时的。课程概述也很难,但我需要确定当前登录的人是否购买了该课程。如果您尚未购买,您将看到“立即购买”按钮。对于免费试听课,会直接显示免费试听课。如果有免费课程,但当前登录的用户尚未注册,系统会提示他们立即注册。
此外,一旦客户注册或购买了课程,就无需再次注册或购买同一课程。
视频使用阿里云播放器播放(我们平台所有视频均采用阿里云视频点播技术)
最后,这包括将经常查询的位置(例如课程大纲章节、基本课程信息等)放入Redis 缓存中。
立即购买
这个功能比较简单。当您进入此页面时,已生成订单供您支付。注意刷新页面时不要生成新订单(如果登录已经对课程下过订单,则不会生成新订单)。将被生成。 )
去支付
该功能利用支付宝的沙箱支付生成支付二维码。进入该页面后,后端将向支付宝代表发送请求,询问用户是否已成功扫描二维码付款。如果倒计时结束后仍未付款成功,用户将放弃付款。选择支付并跳转到您的订单中心进行支付。特别注意,如果2小时内未付款,支付宝将超时并关闭您的订单。因此,您此时按逻辑应该删除该订单。这与取消订单相同。如果超时并退出,您将需要使用新订单号生成新的二维码。
个人中心
密码、修改订单详情、修改头像、显示评论等功能
评论课程
只有购买或注册课程的人才能对课程发表评论。您可以删除自己的评论,但不能删除其他人的评论。
#以上在线教育项目开发内容来源仅供参考。相关信息请参见官方公告。
原创文章,作者:CSDN,如若转载,请注明出处:https://www.sudun.com/ask/93121.html