美文网首页
SpringBoot+Vue豆宝社区前后端分离项目手把手实战系列

SpringBoot+Vue豆宝社区前后端分离项目手把手实战系列

作者: __豆约翰__ | 来源:发表于2021-02-18 08:14 被阅读0次

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

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

    项目首页截图

    代码开源地址

    前端
    后端

    视频教程地址

    视频教程

    前端技术栈

    Vue
    Vuex
    Vue Router
    Axios
    Bulma
    Buefy
    Element
    Vditor
    DarkReader

    后端技术栈

    Spring Boot
    Mysql
    Mybatis
    MyBatis-Plus
    Spring Security
    JWT
    Lombok

    前端页面布局

    1.在 /src/viwes/Home.vue添加一下代码

     <!-- https://bulma.io/documentation/columns/basics 官网 is-three-quarters 是占页面的3/4 -->
    
     <div class="columns">
       <div class="column is-three-quarters">First column</div>
       <div class="column">Second column</div>
     </div>
    

    测试页面

    2.创建侧边栏

    在 /src/views/card/CardBar.vue

    <template>
      <div>
        侧标栏
      </div>
    </template>
    
    <script>
    import { getBillboard } from "@/api/billboard";
    
    export default {
      name: "CardBar",
      data() {
        return {
        }
      },
    
      created() {
      },
    
      methods: {
    
      },
    };
    </script>
    

    3.创建帖子列表

    在 /src/views/post/index.vue

    <template>
      <div>
        帖子列表
      </div>
    </template>
    
    <script>
    import { getBillboard } from "@/api/billboard";
    
    export default {
      name: "TopicList",
      data() {
        return {
        }
      },
    
      created() {
      },
    
      methods: {
    
      },
    };
    </script>
    

    4.修改Home.vue

    5.测试查看页面

    6.侧边栏

    6.1LoginWelome

    在 /src/views/card/LoginWelome.vue

    <template>
      <div>
        <el-card>
          <div class="header">
            <span>帖子列表</span>
          </div>
          <div>boy</div>
        </el-card>
      </div>
    </template>
    
    <script>
    import { getBillboard } from "@/api/billboard";
    
    export default {
      name: "CardBar",
      data() {
        return {};
      },
    
      created() {},
    
      methods: {}
    };
    </script>
    
    6.2Promotion

    在 /src/views/card/Promotion.vue

    <template>
      <div>
        <el-card>
          <div class="header">
            <span>帖子列表</span>
          </div>
          <div>boy</div>
        </el-card>
      </div>
    </template>
    
    <script>
    import { getBillboard } from "@/api/billboard";
    
    export default {
      name: "CardBar",
      data() {
        return {};
      },
    
      created() {},
    
      methods: {}
    };
    </script>
    
    6.3Tip(每日一句)

    在 /src/views/card/Tip.vue

    <template>
      <div>
        <el-card>
          <div class="header">
            <span>每日一句</span>
          </div>
          <div class="has-text-left block">
              是个手指哦图
          </div>
          <div class="has-text-right mt-5 block">
              -张三
          </div>
        </el-card>
      </div>
    </template>
    
    <script>
    import { getBillboard } from "@/api/billboard";
    
    export default {
      name: "CardBar",
      data() {
        return {};
      },
    
      created() {},
    
      methods: {}
    };
    </script>
    
    6.4修改views/card/CardBar.vue
    <template>
      <section>
        <!-- 是否登录 -->
        <login-welome></login-welome>
    
        <!-- 今日赠言 -->
        <tip></tip>
    
        <!-- 资源推荐 -->
        <promotion></promotion>
      </section>
    </template>
    
    <script>
    import LoginWelome from '@/views/card/LoginWelome'
    import Promotion from '@/views/card/Promotion'
    import Tip from '@/views/card/Tip'
    
    export default {
      name: "CardBar",
    
      components: {LoginWelome,Promotion,Tip},
    
      data() {
        return {};
      },
    
      created() {},
    
      methods: {}
    };
    </script>
    
    6.5查看页面

    页面样式

    1.assets下创建/app.css

    复制一下内容即可

    * {
        margin: 0;
        padding: 0;
      }
      
      body,
      html {
        background-color: #f6f6f6;
        color: black;
        width: 100%;
        font-size: 14px;
        letter-spacing: 0.03em;
        font-family: -apple-system, BlinkMacSystemFont, Helvetica Neue, PingFang SC,
          Microsoft YaHei, Source Han Sans SC, Noto Sans CJK SC, WenQuanYi Micro Hei,
          sans-serif, Apple Color Emoji, Segoe UI Emoji, Noto Color Emoji,
          Segoe UI Symbol, Android Emoji, EmojiSymbols;
      }
      
    .el-card{
        margin-bottom: 16px;
    }
    

    2.在main.js引入

    import '@/assets/app.css'
    

    刷新页面看页面效果

    相关文章

      网友评论

          本文标题:SpringBoot+Vue豆宝社区前后端分离项目手把手实战系列

          本文链接:https://www.haomeiwen.com/subject/pvuvxltx.html