SpringBoot+Vue豆宝社区前后端分离手把手项目实战系列教程06---推广信息模块实现

简介: SpringBoot+Vue豆宝社区前后端分离手把手项目实战系列教程06---推广信息模块实现

豆宝社区项目实战教程简介


本项目实战教程配有免费视频教程,配套代码完全开源。手把手从零开始搭建一个目前应用最广泛的Springboot+Vue前后端分离多用户社区项目。本项目难度适中,为便于大家学习,每一集视频教程对应在Github上的每一次提交。


项目首页截图


image.png

代码开源地址

前端

后端

视频教程地址

视频教程

前端技术栈

Vue

Vuex

Vue Router

Axios

Bulma

Buefy

Element

Vditor

DarkReader

后端技术栈

Spring Boot

Mysql

Mybatis

MyBatis-Plus

Spring Security

JWT

Lombok

推广信息后端实现

1.实体类

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Data;
import lombok.experimental.Accessors;
import java.io.Serializable;
@Data
@TableName("bms_promotion")
@Accessors(chain = true)
public class BmsPromotion implements Serializable {
    private static final long serialVersionUID = 1L;
    /**
     * 主键
     */
    @TableId(value = "id", type = IdType.AUTO)
    private Integer id;
    /**
     * 广告标题
     */
    @TableField("title")
    private String title;
    /**
     * 广告链接
     */
    @TableField("link")
    private String link;
    /**
     * 说明
     */
    @TableField("`description`")
    private String description;
    public BmsPromotion() {
    }
}

2.mapper接口

public interface BmsPromotionMapper extends BaseMapper<BmsPromotion> {
}

3.service

@Service
public class BmsPromotionService extends ServiceImpl<BmsPromotionMapper, BmsPromotion> {
}

4.controller

@RestController
@RequestMapping("/promotion")
public class BmsPromotionController {
    @Autowired
    private BmsPromotionService promotionService;
    @GetMapping("/list")
    public ApiResult getPromotionList(){
        List<BmsPromotion> list = promotionService.list();
        return ApiResult.success(list);
    }
}


推广信息前端实现


1.在src/api/创建promotion.js

import request from '@/utils/request'
export function getPromotionList() {
    return request({
        url: '/promotion/list',
        method: 'get'
    })
}


2.修改views\card\Promotion.vue

<template>
  <div>
    <el-card class="box-card" shodow="never">
      <div slot="header">
        <span>推广信息</span>
      </div>
      <p v-for="(item,index) in list" :key="index" class="block">
        <a :href="item.link" target="_blank">{{ item.title }}</a>
      </p>
    </el-card>
  </div>
</template>
<script>
import { getPromotionList } from "@/api/promotion";
export default {
  name: "Promotion",
  data() {
    return {
      list: []
    };
  },
  created() {
    this.fetchList();
  },
  methods: {
    fetchList() {
      getPromotionList().then(response => {
        const { data } = response;
        this.list = data;
      });
    }
  }
};
</script>

3.测试页面


image.png


目录
相关文章
|
3天前
|
JavaScript Java 测试技术
基于SpringBoot+Vue+uniapp的武汉市公交路线查询系统的详细设计和实现(源码+lw+部署文档+讲解等)
基于SpringBoot+Vue+uniapp的武汉市公交路线查询系统的详细设计和实现(源码+lw+部署文档+讲解等)
|
3天前
|
JavaScript Java 测试技术
基于SpringBoot+Vue+uniapp的旅游攻略系统的详细设计和实现(源码+lw+部署文档+讲解等)
基于SpringBoot+Vue+uniapp的旅游攻略系统的详细设计和实现(源码+lw+部署文档+讲解等)
|
3天前
|
JavaScript Java 测试技术
基于SpringBoot+Vue的志愿服务管理系统设计和实现(源码+LW+部署讲解)
基于SpringBoot+Vue的志愿服务管理系统设计和实现(源码+LW+部署讲解)
26 6
|
3天前
|
JavaScript Java 测试技术
基于SpringBoot+Vue+uniapp的公园管理系统的详细设计和实现(源码+lw+部署文档+讲解等)
基于SpringBoot+Vue+uniapp的公园管理系统的详细设计和实现(源码+lw+部署文档+讲解等)
|
2天前
|
JavaScript
|
3天前
|
JavaScript
【vue】el-dialog 内的tinymce弹窗被遮挡的解决办法 及 tinymce打开弹出菜单后直接关闭对话组件,导致该弹出菜单残留
【vue】el-dialog 内的tinymce弹窗被遮挡的解决办法 及 tinymce打开弹出菜单后直接关闭对话组件,导致该弹出菜单残留
14 6
|
1天前
|
存储 缓存 JavaScript
vue代码优化方案
【7月更文挑战第13天】 **Vue.js 优化要点:** 分解大组件以提高复用性和加载速度;利用计算属性与侦听器优化数据处理;使用Object.freeze()减少响应式数据;借助Vuex或Composition API管理状态;实现虚拟滚动和无限加载提升长列表性能;路由懒加载减少初始加载时间;用Vue DevTools检测性能瓶颈;定期代码审查与重构;应用缓存策略;遵循最佳实践与团队规范,提升应用整体质量。
10 2
|
3天前
|
JavaScript 前端开发
【vue】 el-table解决分页不能筛选全部数据的问题
【vue】 el-table解决分页不能筛选全部数据的问题
15 4
|
3天前
|
JavaScript
【vue】 vue2 监听滚动条滚动事件
【vue】 vue2 监听滚动条滚动事件
10 1
|
3天前
|
JavaScript 定位技术
【天地图】vue 天地图 T is not defined
【天地图】vue 天地图 T is not defined
14 1