热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

Vue2Vuex多人博客系统:共享创作与交流平台

多人博客体系断断续续写了个单页面的博客体系,实际上是想给我和我的小伙伴写日记用的,租了do服务器,express写接口,用nginx反向代办,也算是练练手。不得不说外洋的服务器照样
多人博客体系

断断续续写了个单页面的博客体系,实际上是想给我和我的小伙伴写日记用的,租了do服务器,express写接口,用nginx反向代办,也算是练练手。不得不说外洋的服务器照样做单页面更好

vue前台部份

前台依靠模块

vue-cli
vue-router
vuex
axios
moment-timezone
vue-waterfall
wangeditor

功能模块

  • canvas粒子结果

  • 登录/注册

  • 个人中间

  • 增加文章

  • 编辑文章

  • 搜刮文章

  • 下拉加载列表

  • 文章留言

  • H5多图上传

  • 缩略图天生

  • 图片瀑布流规划

路由设置

import Vue from 'vue'
import VueRouter from 'vue-router'
Vue.use(VueRouter);
import store from '../store/index'
import index from '../page/index'
import dairy from '../page/dairy'
import photo from '../page/photo'
import login from '../page/login'
import reg from '../page/reg'
import user from '../page/user'
import set from '../page/set'
import page from '../page/page'
import article from '../page/article'
import edit from '../page/edit'
import userIndex from '../components/user/index'
import userAlbum from '../components/user/album'
import userTogether from '../components/user/together'
import userInfo from '../components/user/info'
import setIndex from '../components/set/index'
import setFriend from '../components/set/friend'
import setPassword from '../components/set/password'
const routes = [{
path: '/',
component: index,
meta: { auth: false }
}, {
path: '/dairy',
component: dairy,
meta: { auth: false }
}, {
path: '/photo',
component: photo,
meta: { auth: false }
}, {
path: '/login',
component: login,
},{
path: '/reg',
component: reg,
meta: { auth: false }
},{
path: '/article',
component: article,
},{
path: '/p/:aid',
name: 'page',
component: page,
meta: { auth: false }
},{
path: '/p/:aid/edit',
name: 'edit',
component: edit,
},{
path : '/set',
component : set,
children : [{
path: '',
name: 'setIndex',
component : setIndex,
},{
path : 'password',
name: 'setPassword',
component : setPassword,
},{
path : 'friend',
name: 'setFriend',
component : setFriend,
}]
}, {
path: '/u/:uid',
component: user,
children: [{
path: '',
name: 'userIndex',
component: userIndex,
meta: { auth: false }
}, {
path: 'album',
name: 'userAlbum',
component: userAlbum,
meta: { auth: false }
}, {
path: 'together',
name: 'userTogether',
component: userTogether,
meta: { auth: false }
}, {
path: 'info',
name: 'userInfo',
component: userInfo,
meta: { auth: false }
}]
}];
const router = new VueRouter({
mode: 'history',
saveScrollPosition: true,
routes
});
router.beforeEach(({meta, path}, from, next) => {
var { auth = true } = meta;
var isLogin = Boolean(store.state.auth.token); //true用户已登录, false用户未登录
if (auth && !isLogin && path !== '/login') {
return next({ path: '/login' })
}
if(isLogin && (path == '/login' || path == '/reg')){
return next({ path: '/' })
}
next()
});
export default router;

前台运转顺序

npm install
npm run dev
http://localhost:8080/

api背景部份

背景依靠模块

express
mongoose
bluebird
jsonwebtoken
gm 需装置ImageMagick

背景文件目次

│─ config
│ └─ index.js
│─ models
│ ├─ album.model.js
│ ├─ article.model.js
│ ├─ comment.model.js
│ └─ user.model.js
├─ public/uploads
├─ routes
│ ├─ album
│ │ ├─ album.controller.js
│ │ └─ index.js
│ ├─ article
│ │ ├─ article.controller.js
│ │ └─ index.js
│ ├─ auth
│ │ ├─ local
│ │ │ ├─ index.js
│ │ │ └─ passport.js
│ │ ├─ auth.service.js
│ │ └─ index.js
│ ├─ comment
│ │ ├─ comment.controller.js
│ │ └─ index.js
│ ├─ user
│ │ ├─ user.controller.js
│ │ └─ index.js
│ └─ index.js
├─ app.js
└─ package.json

背景运转顺序

npm install
开启mongodb
mongod --dbpath
node app

源码地点

前台界面
背景api
在线地点

《vue2 vuex 多人博客体系》


推荐阅读
  • 本文档汇总了Python编程的基础与高级面试题目,涵盖语言特性、数据结构、算法以及Web开发等多个方面,旨在帮助开发者全面掌握Python核心知识。 ... [详细]
  • 本文探讨了2019年前端技术的发展趋势,包括工具化、配置化和泛前端化等方面,并提供了详细的学习路线和职业规划建议。 ... [详细]
  • 本文详细介绍了Java编程语言中的核心概念和常见面试问题,包括集合类、数据结构、线程处理、Java虚拟机(JVM)、HTTP协议以及Git操作等方面的内容。通过深入分析每个主题,帮助读者更好地理解Java的关键特性和最佳实践。 ... [详细]
  • 本文详细探讨了HTML表单中GET和POST请求的区别,包括它们的工作原理、数据传输方式、安全性及适用场景。同时,通过实例展示了如何在Servlet中处理这两种请求。 ... [详细]
  • Nginx 反向代理与负载均衡实验
    本实验旨在通过配置 Nginx 实现反向代理和负载均衡,确保从北京本地代理服务器访问上海的 Web 服务器时,能够依次显示红、黄、绿三种颜色页面以验证负载均衡效果。 ... [详细]
  • 本文介绍了如何使用JavaScript的Fetch API与Express服务器进行交互,涵盖了GET、POST、PUT和DELETE请求的实现,并展示了如何处理JSON响应。 ... [详细]
  • 优化Flask应用的并发处理:解决Mysql连接过多问题
    本文探讨了在Flask应用中通过优化后端架构来应对高并发请求,特别是针对Mysql 'too many connections' 错误的解决方案。我们将介绍如何利用Redis缓存、Gunicorn多进程和Celery异步任务队列来提升系统的性能和稳定性。 ... [详细]
  • 本文深入探讨了MySQL中常见的面试问题,包括事务隔离级别、存储引擎选择、索引结构及优化等关键知识点。通过详细解析,帮助读者在面对BAT等大厂面试时更加从容。 ... [详细]
  • 搭建Jenkins、Ant与TestNG集成环境
    本文详细介绍了如何在Ubuntu 16.04系统上配置Jenkins、Ant和TestNG的集成开发环境,涵盖从安装到配置的具体步骤,并提供了创建Windows Slave节点及项目构建的指南。 ... [详细]
  • 1:有如下一段程序:packagea.b.c;publicclassTest{privatestaticinti0;publicintgetNext(){return ... [详细]
  • 深入理解 SQL 视图、存储过程与事务
    本文详细介绍了SQL中的视图、存储过程和事务的概念及应用。视图为用户提供了一种灵活的数据查询方式,存储过程则封装了复杂的SQL逻辑,而事务确保了数据库操作的完整性和一致性。 ... [详细]
  • 本文深入探讨了Linux系统中网卡绑定(bonding)的七种工作模式。网卡绑定技术通过将多个物理网卡组合成一个逻辑网卡,实现网络冗余、带宽聚合和负载均衡,在生产环境中广泛应用。文章详细介绍了每种模式的特点、适用场景及配置方法。 ... [详细]
  • 2018-2019学年第六周《Java数据结构与算法》学习总结
    本文总结了2018-2019学年第六周在《Java数据结构与算法》课程中的学习内容,重点介绍了非线性数据结构——树的相关知识及其应用。 ... [详细]
  • 本文介绍如何从字符串中移除大写、小写、特殊、数字和非数字字符,并提供了多种编程语言的实现示例。 ... [详细]
  • Win10 UWP 开发技巧:利用 XamlTreeDump 获取 XAML 元素树
    本文介绍如何在 Win10 UWP 开发中使用 XamlTreeDump 库来获取和转换 XAML 元素树为 JSON 字符串,这对于 UI 单元测试非常有用。 ... [详细]
author-avatar
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有