开发者学堂课程【微服务+全栈在线教育实战项目演练(SpringCloud Alibaba+SpringBoot):课程评论实现过程分析】学习笔记,与课程紧密联系,让用户快速学习知识。
课程地址:https://developer.aliyun.com/learning/course/667/detail/11485
课程评论实现过程分析
内容介绍:
一、数据库设计
二、创建课程评论接口
一、数据库设计
1、数据库
edu_comment
2、数据表
guli_edu.sql
二、创建课程评论接口
1、在 service-edu 模块,生成课程评论接口
(1)用 mp 代码生成器生成
需求:在课程详情页面内,
1. 添加评论
2. 分页查询评论的功能
这个就是我们要做的功能,其中还有一个分页的功能,有上一页、下一页、首页、尾页。
经常在评论中有置顶的功能,通过分页能查询到当前课程中的这条评论,做一个简单的最基础的实现。
主要需要实现的功能:添加评论、分页查询评论的功能。
我们需要将需求转化为功能,这是我们需要自己解决的,一定要把需求了解的十分透彻,如果有不懂的地方,一定要及时询问。如果产品不符合需求,产品再好也没有用。
三、具体实现过程
1、在数据库中创建课程评论表
在数据库脚本中,找到 edu_comment 这张表,找到建表的语句。查询表中的字段,有一个基本的认识。数据包括讲师 id、课程 id、会员 id、会员昵称、会员头像、评论内容等等。
在存储评论时,不是单独存储评论,要把这条评论相关联的一系列信息都存储起来。
2、创建接口,创建两个方法
(1)第一个方法―――分页查询课程评论的方法
直接查询 edu_comment 这张表,将现有的数据做一个分页查询。
(2)第二个方法———添加评论
①对照里面的数据,在这里有课程评论、评论id、时间、更新时间这几个数据。输入内容,提交到接口。
②课程 id 进入到详情页面根据课程id都可以查询出来
③讲师 id
④用户 id
⑤用户昵称
⑥用户头像
l 做评论之前必须先登录
代码示例:
//第三步创建拦截器http request拦截器
service.interceptors.request.use(
config => {
// debugger
//判断c ookie里面是否有名称是guli_token数据
if (cookie.get( " guli_token " )) {
//把获取cookie值放到header里面
config.headers[ 'token' ] = cookie.get( ' guli_token " );
}
return config
},
err => {
return Promise.reject(err);
})
登陆后先放在 cookie 中,当 cookie 中有值,则放到 token 中,
从 header 获取 token 字符串(从 request 获取),
根据 token 字符串获取用户 id(使用 jwt 获取),
根据用户 id 查询用户表,把需要数据获取出来
查询用户表在 edu 中无法进行,要用到远程调用.两个模块,其中一个模块是 edu,另一个模块是 ucenter。在 edu 中添加评论,然后在 ucenter 中获取用户信息。
然后再 edu 中做一个远程调用,就可以在 ucenter 得到用户的信息。
在 edu 中有一个 VodCilent 接口,写上方法,然后在调用。按照流程,主要完成分页查询评论和添加评论两个功能。