此评论样式采用valine的样式,JavaScript由博主个人独立编写
目前不会公布源码(因为有些安全问题与一些小bug),这篇文章主要如果你想体验这个评论可以返回主页看公告栏。
问题
一张表实现子
评论父
评论
假设:
A == 父评论
B == 子评论
C == 父评论
D == 子评论
问题1:如何判断是子评论还是父评论
问题2:如何判断B评论是A的子评论
问题3:如何判断B评论不是C的子评论(如何区分开来)
问题4:如何判断回复评论时,回复的是子评论还是父评论
(如:如果我回复的是A评论,那么我(我是D)的这条评论就是A的子评论,要是我回复了B,如何将我(我是D)显示在在A评论下)
还有几个小问题就不列举了
正文
Maven依赖
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-thymeleaf</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-jdbc</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<dependency>
<groupId>org.mybatis.spring.boot</groupId>
<artifactId>mybatis-spring-boot-starter</artifactId>
<version>2.1.4</version>
</dependency>
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<scope>runtime</scope>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
<scope>test</scope>
</dependency>
</dependencies>
创建数据表
数据库表结构
CREATE TABLE `comment` (
`id` BIGINT(20) NOT NULL AUTO_INCREMENT COMMENT '主键id',
`artitle` BIGINT(20) NOT NULL DEFAULT '0' COMMENT '关联的blog主键', # 根据需求使用,去过你只是单纯的做个人主页留言的话,每个人评论全部设置为1即可,当然你也可以直接删除
`nick` VARCHAR(50) NOT NULL DEFAULT '' COMMENT '昵称',
`mail` VARCHAR(100) NOT NULL DEFAULT '' COMMENT '邮箱',
`link` VARCHAR(50) NOT NULL DEFAULT '' COMMENT '网址',
`content` VARCHAR(200) NOT NULL DEFAULT '' COMMENT '内容',
`commentatorIP` VARCHAR(20) NOT NULL DEFAULT '' COMMENT 'ip地址',
`createTime` DATETIME DEFAULT NULL COMMENT '评论时间',
`isReply` INT(4) BIGINT '0' COMMENT '是否是回复 0为否 1为是',
`commentStatus` BIGINT(4) NOT NULL DEFAULT '0' COMMENT '是否审核通过 0-未审核 1-审核通过',
`commentUrl` VARCHAR(