spring boot+vue个人博客四:首页和公共头部组件

Spring Boot开发个人博客 Spring Boot开发小而美的个人博客 个人博客功能: 技术组合: 后端:Spring Boot + JPA + thymeleaf模板 数据库:MySQL 前端UI:Semantic UI框架 工具与环境: IDEA Maven 3 JDK 8 Axure RP 8 课程内容模块: 需求分析与功能规划 页面设计与开发 技术框架搭建 后端管理功能实现 前端管理功能实现 你能学得什... 阅读详情
系列大纲
GitHub(还没开发完成)
在线演示www.yzpnb.top
第一章:(后端)搭建spring boot脚手架:https://blog.youkuaiyun.com/grd_java/article/details/107452826
第二章:权限整合shiro+jwt,完成后端接口:https://blog.youkuaiyun.com/grd_java/article/details/107481570
第三章:搭建前端vue整合element ui脚手架:https://blog.youkuaiyun.com/grd_java/article/details/107498140
第四章:首页和公共头部组件:https://blog.youkuaiyun.com/grd_java/article/details/107507213
第五章:完成登陆注册页面,nginx网关对接后端:https://blog.youkuaiyun.com/grd_java/article/details/107515437
第六章:博客页面,观看博客,博客编辑功能:https://blog.youkuaiyun.com/grd_java/article/details/107525128
第七章:打包部署,多节点部署方案:https://blog.youkuaiyun.com/grd_java/article/details/107533253

一、首页

在这里插入图片描述

1、 创建路由页面和路由

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

import Vue from 'vue'
import VueRouter from 'vue-router'
import Home from '../views/home.vue'
import Login from '../views/login.vue'
import Blog from '../views/blog.vue'
import BlogEdit from '../views/blogEdit.vue'
import BlogDetail from '../views/blogDetail.vue'

Vue.use(VueRouter)

  const routes = [
  {
    path: '/',
    name: 'Home',
    component: Home
  },
  {
    path: '/Login',
    name: 'Login',
    component: Login
  },
  {
    path: '/Blog',
    name: 'Blog',
    // route level code-splitting
    // this generates a separate chunk (about.[hash].js) for this route
    // which is lazy-loaded when the route is visited.
    component: Blog
  },
  {
    path: '/Blog/Edit',
    name: 'BlogAdd',
    // route level code-splitting
    // this generates a separate chunk (about.[hash].js) for this route
    // which is lazy-loaded when the route is visited.
    component: BlogEdit
  },
  {
    path: '/Blog/Edit/:BlogId',
    name: 'BlogEdit',
    // route level code-splitting
    // this generates a separate chunk (about.[hash].js) for this route
    // which is lazy-loaded when the route is visited.
    component: BlogEdit
  },
  {
    path: '/Blog/Detail/:BlogId',
    name: 'BlogDetail',
    // route level code-splitting
    // this generates a separate chunk (about.[hash].js) for this route
    // which is lazy-loaded when the route is visited.
    component: BlogDetail
  }
]

const router = new VueRouter({
  mode: 'history',
  base: process.env.BASE_URL,
  routes
})

export default router

2、全局样式

在这里插入图片描述

上面//注释不要加
css中注释是/**/而不是//,加上会报错

3、编写home首页(先简单做一个,之后详细开发)

html标签

在这里插入图片描述

  <div class="home">
	<div class="height1">
		<div class="height1_Div">
			<h1>My-Blog</h1>
			<p>只要朝着一个方向努力,一切都会变得心应手</p>
			<el-button type="primary" id="height1_button" @click="enterBlog()">Enter Blog</el-button>
		</div>
	</div>
</div>
样式

在这里插入图片描述

<style>
	/*首页面*/
  .height1{
	  background-image:url(http://www.lzqcode.com/templets/static/image/index_bg.jpg);/* 首页背景图片 */
	  background-position: center;/* 背景图片位置始终居中显示 */
	  background-attachment: fixed;/* 背景固定 */
	  background-repeat: no-repeat;/* 不平铺 */
	  position: relative;/* 相对定位 */
	  height: 100vh;/* 100vh表示正好和浏览器窗口大小一致 */
  }
  .height1_Div{
	  transition: 1.5s;/* 动画效果 */
	  transform: scale(.3);/* 缩放 */
	  color: rgb(255,255,255);/* 文字颜色 */
	  height: 20vh;/* 高度为浏览器20比 */
	  width: 100%;/* 宽度正好撑满 */
	  /* 以下是块级元素居中方案 */
	  position: absolute;
	  top: 0;
	  left: 0;
	  right: 0;
	  bottom: 0;
	  margin: auto;
  }
  .height1_Div h1{
	  font: 14px Helvetica Neue,Helvetica,PingFang SC,\5FAE\8F6F\96C5\9ED1,Tahoma,Arial,sans-serif;/* 设值文字 */
	  display: block;/* 转换为块级元素,让其独占一行 */
	  font-size: 2em;/* 字体大小 */
	  /* 外边距*/
	  margin-block-start: 0.67em;
	  margin-block-end: 0.67em;
	  margin-inline-start: 0px;
	  margin-inline-end: 0px;
  }
  .height1_Div p{
	  font: 14px Helvetica Neue,Helvetica,PingFang SC,\5FAE\8F6F\96C5\9ED1,Tahoma,Arial,sans-serif;
	  margin: 20px 0;
	  letter-spacing: 10px;/* 文字间距 */
	  display: block;
	  /* 外边距*/
	  margin-block-start: 1em;
	  margin-block-end: 1em;
	  margin-inline-start: 0px;
	  margin-inline-end: 0px;
  }
  #height1_button{
	  margin-top: 20px;
	  display: inline-block;
	  height: 38px;
	  line-height: 38px;
	  padding: 0 18px;
	  text-align: center;
	  font-size: 14px;
	  border: none;
	  border-radius: 2px;
	  cursor: pointer;/* 鼠标指针指入变为手的形状 */
  }
</style>

4、js代码

在这里插入图片描述

export default{
		data(){
			return{
				
			}
		},
		created() {
			/*初始动画效果*/
			window.onload=function(){
				let height1_Div=document.querySelector(".height1_Div");
				height1_Div.style.transform="scale(1,1)";
			}
		},
		methods:{
			enterBlog(){
				this.$router.push({name:"Blog"})
			}
		}
	}

二、公共头部组件

在这里插入图片描述

1、代码

html

在这里插入图片描述

<template>
  <header class="Handler">
	  <div class="header-fixed">
		  <div class="header-inner">
			  <a href="javascript:void(0)" class="header-logo" id="logo">Mr.liu</a>
			  <nav class="nav" id="nav">
				  <ul>
					  <li><a href="/" >首页</a></li>
					  <li><a href="#" @click.stop.self="blog()">博客</a></li>
					  <li><a href="#" @click.stop.self="leaveWord()">留言</a></li>
					  <li><a href="#" @click.stop.self="diary()">日记</a></li>
					  <li><a href="#" @click.stop.self="FriendsOfTheChain()">友链</a></li>
				  </ul>
			  </nav>
			  <a href="#" class="blog-user">
				  <i class="el-icon-user-solid" @click="login()"></i>
			  </a>
			  <a class="phone-menu">
				  <i></i>
				  <i></i>
				  <i></i>
			  </a>
		  </div>
	  </div>
  </header>
</template>
css
<style scoped>
.Handler{
	width: 100%;
	min-height: 60px;
	position: fixed;
	background-color: rgba(255,255,255,1);
	z-index: 999;
	top: 0;
	left: 0;
	border-bottom: 1px solid #e8e9e7;
	font-size: 14px;
	
	display: block;
	font: 14px/1.5 "Helvetica neue",Helvetica,Tahoma,"lantinghei sc","Microsoft Yahei",sans-serif;
	color: #515250;
	-webkit-font-smoothing: antialiased;
	
	overflow: hidden;
}
.header-fixed {
    width: 90%;
}
.header-fixed {
    margin-left: auto;
    margin-right: auto;
    position: relative;
}
.header-inner {
    margin-left: 10px;
    margin-right: 10px;
    position: relative;
}
.header-logo {
    font-family: "agency fb";
    font-size: 40px;
    color: #444647;
    text-align: center;
    position: absolute;
    left: 0;
}
a, img {
    text-decoration: none;
    border: none;
}
#nav{
    display: block;
    position: absolute;
    right: 15%;
	margin: 0;
	padding: 0;
	border: 0;
}
ul {
    display: block;
    list-style-type: disc;
}
.nav li {
    display: block;
    float: left;
    margin: 10px 5px;
    position: relative;
}
.nav li:before {
    width: 0;
    height: 2px;
    position: absolute;
    bottom: -11px;
    left: 50%;
    background-color: #6bc30d;
    content: "";
    transition: all .6s;
    z-index: -1;
}
.nav li:hover:before {
    width: 100%;
    left: 0;
}
li {
    list-style: none;
}
.nav li a {
    display: block;
    line-height: 32px;
    padding: 4px 28px;
    color: #212220;
    font-weight: 400;
    font-size: 15px;
    text-shadow: 0 1px 0 rgba(255,255,255,.2);
    -webkit-transition: all .2s;
    transition: all .2s;
}
.blog-user{
	position: absolute;
	right: 0;
	line-height: 60px;
	font-size: 24px;
	color: #000000;
}
</style>
js
<script>
export default {
  name: 'HelloWorld',
  props: {
    msg: String
  },
  methods:{
	  blog(){
		  this.$router.push({name:'Blog'})
	  },
	  login(){
		  this.$router.push({name:'Login'})
	  },
	  leaveWord(){
		  // this.$router.push({name:'留言'})
	  },
	  diary(){
		  // this.$router.push({name:'日记'})
	  },
	  FriendsOfTheChain(){
		  // this.$router.push({name:'友链'})
	  },
  }
}
</script>

2、解决路由重复点击报错

在这里插入图片描述

const originalPush = VueRouter.prototype.push

 VueRouter.prototype.push = function push(location) {
   return originalPush.call(this, location).catch(err => err)
}

3、引用组件

在这里插入图片描述

<template>
	<div>
		<Handler id="handler"></Handler>
		lll
	</div>
</template>

<script>
	import Handler from '@/components/Handler.vue'
	export default{
		components:{
			Handler
		}
	}
</script>

<style>
	#handler{
		position: relative;
	}
</style>
SpringBoot的个人博客管理系统(毕业论文范文) 个人博客系统的毕业范文。可供同学们进行参考和讨论 阅读详情

相关推荐

blog:一个基于SpringBoot简约优雅的个人博客

SpringBoot个人博客 一。博客效果预览 博客首页预览 博客详情预览 博客评论区预览 博客底部栏预览 关于页面预览 二。博客效果在线预览 三。项目技术 初始SpringBoot框架分为控制层(Controller)业务层(Service)数据持久层(Dao)按照SpringMVC架构模式规范进行开发。 前端语义UI前端模板引擎 数据持久层采用SpringBootJPA,数据库为MySQL8.0 四。运行教程 公告 由于某些因素,国内用户会出现克隆速度过慢乃至无法克隆的情况,想要获取项目本地压缩包的同学公众号【Github推荐】【二维码在文末】回复【博客】或者【个人博客】获取项目压缩文件。 1.引进项目 Fork本项目,用IDEA新建项目,点击 Create Project For Version Control,复制项目github地址 粘贴到IDEA中的Git地址 选择 点击cl

基于vue+SpringBoot前后端分离毕设模板(最全的案例--附源码地址)

本套实例模板适用于刚刚学习vue和SpringBoot的小白,也适用于大学生做毕业设计,如果你是这方面的小白,请一定不要错过。

lslxgg的博客 6120

springboot-boke个人博客系统

使用springboot和mybatis重构,加深对框架的理解,原本使用的是轻量级的mvc框架Blade。 模板引擎改用thymeleaf 实现docker服务部署mysql,tomcat,redis,mongdb并管理和Nginx反向代理 切换数据源为druid,正式上线后使用其sql统计对项目进行优化 可能会删除install步骤,自己用的话没必要做这个操作 页面布局做一下修改 新增文章描述字段,删除可订阅等字段 评论功能修改,删除对评论进行评论的功能 docker-compose 上线 ELK整合 添加搜索引擎 添加部署过程文档

10.后台管理系统-首页头部组件制作

10.后台管理系统-首页头部组件制作 1.新建首页头部组件 组件位置:components/common/CommonHeader.vue 组件内容 <template> <header> <div> <i class="el-icon-s-fold"></i> <i class="el-icon-s-unfold" v-show="false"></i> </div&g

weixin_38644630的博客 946

Spring Boot开发一个小而美的个人博客

该套课程为精心打造的Spring Boot项目实战视频课程,我会带你从零开始,一步一步的完成一个小而美的个人博客产品,通过学习能让你掌握完整的全栈开发套路,开发前端UI的小套路,还会get到很多小技能哦....... 本课程使用的数据库是 spring boot + jpa,开发工具 idea

基于SpringBoot技术开发的个人博客系统

Thymeleaf模板引擎,Elasticsearch全文搜索,启动Elasticsearch 和mysql,更改配置文件即可运行

2.学城项目 头部底部组件&首页轮播图

1. 下载框架/组件/库 * 1. 下载项目中需要使用的框架个组件. 1. axion 网络请求的第三方框架 (之前测试前后端通信已经安装过了) cnpm install axios -S 2. vue操作cookies 的组件 cnpm install vue-cookies -S 3. element-ui ui库 cnpm install element-ui -S 4. jquery框架(bootstrap需要使用) cnpm install jquery -S (不适合 vue.js 开

清风 517

引入公共头部时,控制引入js、css、title

NULL 博文链接:https://liuxing87327.iteye.com/blog/1634033

spring boot 与 Ant Design of Vue 首页布局的实现(五)

spring boot 与 Ant Design of Vue 首页布局的实现(五)公众号前言本章内容腾讯视频 公众号 大家可以直接微信扫描上面的二维码关注我的公众号,然后回复【ant05】 里面就会给到源代码的下载地址同时会附上相应的视频教程,并定期在我的公众号上给大家推送相应的技术文章,欢迎大家关注我的公众号。 前言 之前在优快云上编写了基于spring-boot和iview的前后端分离系...

笨鸟不会飞 2586

ROS2_Moveit2_Ur5e_Grasp项目详解(二):核心模块功能解析

本文深入解析了ROS2_Moveit2_Ur5e_Grasp项目的核心模块功能。重点阐述了OctoMap建图模块如何为机械臂提供实时三维环境感知,并详细介绍了Robotiq夹爪与MoveIt2的集成控制、UR5e的运动规划策略,以及视觉模块如何协同工作,最终实现从目标检测到动态抓取的完整闭环。

weixin_29254029的博客 112

NAT反向代理技术的实现(外网访问内网)

NAT反向代理技术的实现(外网访问内网)(版权所有,引用 请联系作者,注明出处) NAT技术是网络中的重要应用之一。当有一个场景:内网搭建了服务器,需要外网访问时,可以借助NAT映射来实现。如:单位建立了一个Web服务器,我们希望在员工回家之后,依然可以访问到它,那怎么实现呢? 下面的拓扑图,就用来示范这个应用反面场景的实现过程。 一、题目要求: 地址配置如图。使用静态路由: 1、配置右侧交换机2950T,实现单臂路由; 2、配置路由使网络连通; 3、配置NAT访问,实现外网对风网服务器的

joyousmime的博客 8487

阿里首推的“SpringBoot+Vue全栈项目”有多牛X?

人事管理系统提供了员工资料管理、人事管理、工资管理、统计管理以及系统管理等功能,通过人事管理系统,人事组织部门能做到以人为中心,各部门之间实现资源共享,并且实现即时通信,提高工作效率,简化繁琐的手工统计、信息汇总和工资业务等大量的人工工作,让人事组织和工资管理工作在人事组织相关的各部门之间活跃起来。由于文案过长,SpringBoot+Vue微人事项目以图片的形式展示给大家,对这份《SpringBoot+Vue全栈开发实战》实战项目教程感兴趣需要面试技巧的朋友点——【思维导图】——即可!...

JHIII的博客 1911

麒麟KylinV10系统yum源更换全攻略:从官方源到第三方仓库的保姆级教程

本文详细介绍了麒麟KylinV10系统yum源的更换与优化方法,包括官方源配置、第三方仓库集成及RPM包管理技巧。通过实战案例和命令示例,帮助用户快速解决软件依赖问题,提升系统管理效率。特别适合需要在国产操作系统上进行开发的工程师参考。

weixin_30752699的博客 648

spring boot+vue个人博客一:(后端)搭建spring boot脚手架

文章目录一、环境搭建1、数据库2、创建工程并引入依赖3、application.yaml4、启动类5、mybatis plus 分页插件6、代码生成器1、相关依赖2、配置(根据注释修改即可)3、编写controller并测试7、统一返回结果1、创建公共模块2、测试8、整合swagger测试接口 一、环境搭建 1、数据库 CREATE TABLE `m_user` ( `id` bigint(20) NOT NULL AUTO_INCREMENT, `username` varchar(64) DEFAUL

殷志鹏的博客 8723

从零开始用TS开发babylonjs - 本机环境搭建

babylonjs,初始化本地安装,web3d引擎

han3527638的专栏 794

echarts 生成中国陕西省份(或其他省份)的地图,大屏使用

效果图: 一、首先第一步需要下载echarts和获取到陕西身份的地图信息。 1.下载echarts链接(官网): Apache ECharts 2.生成指定省份的地图数据信息,数据可以在阿里云获取。 DataV.GeoAtlas地理小工具系列 如图,点击左圈需要的省份,这里我选择的是陕西省,然后点击右圈复制下载链接,得到一个json格式的数据,可以在json转换网站转成js格式。 Json在线解析格式化-Json在线校验Json格式化压缩-Jsons在线工具 转成js格.

PrimaryColor 3889

spring boot+vue个人博客六:博客页面,观看博客,博客编辑功能

文章目录一、博客展示1、api接口2、代码二、博客编辑1、整合mavon-editor编辑器2、博客编辑页面 一、博客展示 1、api接口 import request from '@/utils/request.js' export default { limitSelect(current,size) { return request({ url: `/service_blog/m-blog/limitSelect/${current}/${size}`, met

殷志鹏的博客 1029

概率质量函数(PMF)、概率密度函数(PDF)、累积分布函数(CDF)

1.概率分布函数(Probability Distribution Functions) 笔记来源:Probability Distribution Functions (PMF, PDF, CDF) 1.1 离散型:PMF和CDF 1.2 连续型:PDF和CDF 累积分布函数的导数 === 概率密度函数的函数值 dF(x)dx=f(x) \frac{dF(x)}{dx}=f(x) dxdF(x)​=f(x) 概率密度函数与 xxx 轴围成的面积 === 累积分布函数的函数值 ∫−∞xf(x)d

一个搬运知识的笨小孩 3万+

spring boot+vue个人博客七:打包部署,多节点部署方案

请先确保你会使用docker和Linux linux:https://blog.youkuaiyun.com/grd_java/article/details/107233667 docker:https://blog.youkuaiyun.com/grd_java/article/details/107220162 文章目录一、数据库节点1、Mysql集群2、使用docker下载PXC镜像3、划分一个docker内部网段,专门给PXC集群使用4、docker卷5、创建PXC容器二、后端部署1、打包2、使用...

殷志鹏的博客 2333

C# WPS操作PPT,全屏,缩率图,备注,跳转播放

本文介绍了一个使用C#开发的PPT操作工具,主要功能包括检测当前打开的PPT文件、获取选中PPT路径、指定播放PPT、获取PPT页面序号和缩略图、提取备注内容等。文章展示了操作界面效果图,并重点解决了用户手动退出PPT后重新获取路径时报错的问题。核心代码实现了通过WPS API进行PPT文件的打开、全屏播放、页面跳转、获取当前页位置等功能,同时支持生成PPT缩略图预览和备注信息提取。当用户未通过工具按钮打开PPT时,程序会自动初始化PPT信息确保功能正常使用。

遇见--专栏 310

作为一名爬虫人如何实现千万级数据爬取?

爬虫门槛不高,高就高在往后余生的每一次实操都随时会让你崩溃!Bro

吴秋霖的博客 1万+

spring boot+vue个人博客五:完成登陆注册页面,nginx网关对接后端

文章目录一、页面整合1、下载bootstrap(去官网下载即可)2、编写单独样式表3、引入一个图标库4、配置nginx,编写异步接口5、api接口6、登陆页面开发二、逻辑测试与完善1、测试当前接口2、集中化管理数据3、方法重构4、测试三、获取登陆信息完善页面1、编写头部组件2、测试 一、页面整合 1、下载bootstrap(去官网下载即可) 2、编写单独样式表 /* Please ❤ this if you like it! */ @import url('https://fonts.google

殷志鹏的博客 1141

Probability and Statistics - 4th edition

Probability and Statistics - 4th edition

spring boot+vue个人博客二:权限整合shiro+jwt,完成后端接口

在b站发现了一个不错的前后端分离博客项目 原本我是想整合spring security来做权限,手写一套前端。但是最近学校要求我去整合项目 所以我前往b站找了找现成的,但是教学视频大多数为了让观众容易理解,将大部分分布式和扩展性逻辑极简化 我将其源码和笔记拿了过来,用了两个小时整合到这个脚手架中 这样这个项目就有了充分的扩展性,大家可以跟着把这个先做完部署到服务器 之后我将学校的任务完成后,会将shiro换成spring security,然后将页面和功能重写 b站视频链...

殷志鹏的博客 1828

efm32 入门.pdf

本PDF共计22页,介绍的是操作驱动API,下载与否自己斟酌。

精雕软件(JDpaint) 5.5 绿色版

精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版

spring boot+vue个人博客三:搭建前端vue整合element ui脚手架

系列大纲 第一章:(后端)搭建spring boot脚手架:https://blog.youkuaiyun.com/grd_java/article/details/107452826 第二章:权限整合shiro+jwt,完成后端接口:https://blog.youkuaiyun.com/grd_java/article/details/107481570 第三章:搭建前端vue整合element ui脚手架: 我在17素材网下载了一套模板,之后会完全从零开发 1、使用sass写一套c...

殷志鹏的博客 1440

SIMATIC S7-1200, S7-1500 PID 控制[手册]

SIMATIC S7-1200, S7-1500 PID 控制[手册]

SpringBoot实战——个人博客项目

项目名称:个人博客系统主要操作的对象是:文章和用户,用户可在该系统上发表自己的博客,查看自己或别人已经发表的文章需要用到两张表:userinfo(用户表)、articleinfo(文章表)登录+注册博客的分页列表功能新增发表博客修改、删除自己的博客项目技术栈MySQLjQuery项目亮点手动对用户密码实现随机加盐统一异常处理、拦截器用户登录持久化(session内存)分页功能。

夏壹分享 2487

基于Spring Boot的个人博客系统(源码+数据库)

个人博客系统分为前台管理和后台管理。前台管理的功能有用户登录、文章分页展示、文章详情查看、文章评论。后台管理的功能有用户登录、系统数据展示、文章发布、文章修改、文章删除。

WHT869706733的博客 1万+
上一篇: spring boot+vue个人博客三:搭建前端vue整合element ui脚手架
下一篇: spring boot+vue个人博客五:完成登陆注册页面,nginx网关对接后端
ydenergy_殷志鹏
博客等级 码龄7年 5885粉丝 543原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

ydenergy_殷志鹏

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值