[Vue]做一个留言板界面

本文介绍了如何使用Vue.js创建一个动态的留言板界面。界面具备随机颜色和长度变化的卡片,用户可点击like按钮。文章详细讲解了后端MySQL数据库的设计,前端与后端的数据交互,以及前端Card组件的封装,包括随机颜色生成和like功能实现。最后,展示了添加新留言组件的封装过程。
摘要由CSDN通过智能技术生成

界面展示

在这里插入图片描述
在这里插入图片描述

  • 亮点:
    卡片的颜色与长度可以随机变化,自适应页面长度布局,用户可以点击like。

准备

  • MySQL
    一张message的表:
    在这里插入图片描述
    message:留言内容;
    username:由后端进行处理,如果提交的为空,那么设置名字为“匿名”;
    upTime:提交时间;
    likeNum:点赞数量,默认0。

  • 后端
    只需做一些简单的增删改查即可

    MessageMapper:

    <?xml version="1.0" encoding="UTF-8"?>
    <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Config 3.0//EN"
            "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
    <mapper namespace="cn.lzy.blog.Mapper.MessageMapper">
    
        <insert id="addMessage" useGeneratedKeys="true" keyProperty="id">
            insert into message set message = #{
         message},username=#{
         username},upTime=now()
        </insert>
        <update id="addLike">
            update message set likeNum = likeNum + 1 where id = #{
         id}
        </update>
        <delete id="deleteMessage">
            delete from message where id = #{
         id}
        </delete>
        <select id="selectAllMessage" resultType="cn.lzy.blog.Pojo.Message">
            select * from message order by upTime desc
        </select>
    </mapper>
    

    MessageController:

    @RestController
    @RequestMapping("/message")
    public class MessageController {
         
    
        @Autowired
        private MessageService messageService;
    
        @PostMapping("/add")
        public Response addMessage(@RequestBody Message message){
         
            Integer id = messageService.addMessage(message);
            if(id >0){
         
                return Response.Success("留言成功!",id);
            }
            return Response.Fail("留言失败");
        }
    
        @DeleteMapping("/del/{id}")
        public Response delMessage(@PathVariable Integer id){
         
            if(messageService.delMessage(id))
                return Response.Success("删除留言成功");
            return Response.Fail("删除留言失败");
        }
    
        @GetMapping("/all")
        public Response selMessage(@RequestParam @DefaultValue(value = "1") Integer pageNo,@RequestParam @DefaultValue(value = "10") Integer pageSize){
         
            PageInfo<Message> messagePageInfo = messageService.selectMessage(pageNo, pageSize);
            if(messagePageInfo != null){
         
                return Response.Success(messagePageInfo);
            }
            return Response.Fail("获取留言失败");
        }
    
        @PostMapping("/like")
        public Response addLike(@RequestBody JSONObject object){
         
            if(messageService.addLike(object.getInteger("id")))
                
  • 1
    点赞
  • 22
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值