【Vue-Koa2全栈撸win10风格管理系统】交个朋友系列(1)

前言

vue-win10-adminhtml

  • 这多是目前惟一一个用Vue+Koa构建较为完整windows10风格的开源先后端集成的管理系统(效果以下图)
  • 前端 Vue + Vuex + Vue-Router + Element+UI
  • 后端 Node + koa2 + Sequelize
  • 数据库 mysql

【vue-koa2全栈撸win10风格管理系统】交个朋友系列文章,带各位全栈撸win10风格管理系统开发,固然项目也参考不少优秀的先后端项目构建方案(好比vue-element-admin、win10ui、winadmin、BBS_node)和我在工做中的一些中的一些经验应用,主要是交个朋友的心态,若是你对这个项目有兴趣,也但愿你的加入一块儿完善维护这个项目,let go~~~前端

完整项目地址:vue-win10-adminvue

本篇文章是【vue-koa2全栈撸win10风格管理系统】交个朋友系列(1)-基础阶段,主要讲述:项目框架搭建思想以及项目构建

1、目前项目状况

序号 功能 功能 描述
0 前端系统功能 开发中 仪表盘工做台、分析页面、主题设置
1 前端系统UI 已完成 win10风格桌面系统:仿开始菜单、快捷菜单、任务栏、消息、支持窗口大小拖动(有小bug待修复)
2 前端功能 已完成 (1)登陆、动态菜单和权限生成
(2)系统设置:权限设置、角色设置、用户设置、系统日志
(3)平台管理:桌面背景设置
3 后端 已完成 跨域解决、token 统一拦截、权限拦截、路由合并、基本完成相关功能的API开发

2、项目展望

Vue3发布后会考虑同步更新,TS重写,mock数据的搭建,更多其余有趣的功能开发~node

3、项目技术架构

粗糙画了个技术栈图,大概意思一下mysql

4、项目搭建

(0)项目初始化

开发环境: 安装 node + mysql,项目框架是由vue-cli 构建的
编译器: Visual Studio Code(我的习惯,其余也可)
数据库可视化工具: Navicat for MySQL(我的习惯,其余也可)
接口调试工具: Postman(我的习惯,其余也可)git

(1)项目目录

├── public                     // 项目前端html模板
├── server                     // 服务端源代码
│   ├── config                 // 服务端基础配置
│   │    ├── config.js         // 数据库信息配置和密钥
│   │    ├── db.js             // 配置Sequelize的数据库连接
│   ├── controllers            // 控制器
│   ├── module                 // 数据表模型
│   ├── routes                 // 服务端路由
│   ├── utils                  // 服务端封装的基础工具
│   ├── validate               // 服务端请求参数校验文件
│   ├── app.js                 // 服务端启动文件
├── src                        // 前端源代码
│   ├── api                    // 前端全部请求
│   ├── assets                 // 前端主题 字体等静态资源
│   ├── components             // 前端全局公用组件
│   ├── dictionary             // 前端字典
│   ├── filtres                // 前端全局 filter
│   ├── layout                 // 前端基础公共布局
│   ├── mock                   // 前端项目mock 模拟数据
│   ├── router                 // 前端路由
│   ├── store                  // 前端全局 store管理
│   ├── styles                 // 前端全局样式和字体图标
│   ├── utils                  // 前端全局公用方法
│   ├── views                  // 前端view
│   ├── App.vue                // 入口页面
│   ├── main.js                // 入口 加载组件 初始化等
│   ├── permission.js          // 权限管理
│   └── settings.js            // 基础设置
├── .env.development           // 开发环境全局变量配置
├── .env.prod                  // 生产环境全局变量配置
├── .env.test                  // 测试环境全局变量配置
├── babel.config.js            // babel 配置项
├── package.json               // package.json
├── .gitignore                 // git 忽略项
└── vue.config.js              // vue配置文件
复制代码

(2)项目运行介绍

咱们看到 package.json文件github

"scripts": {
    "dev": "vue-cli-service serve",
    "server": "nodemon server/app",
    "start": "concurrently -k \"npm run server\" \"npm run dev\"",
    "build": "vue-cli-service build",
    "lint": "vue-cli-service lint"
  },
复制代码
  • dev 是启动前端项目,方便单独开发前端
  • server 是启动服务端,方便单独开发服务端
  • start 是同时启动服务端和前端服务

值得一提是这里用了同时启动服务端和前端服务的方案
concurrently插件,这样可让npm script命令同时开启多个监听服务,并且若是一个进程服务失败,其余进程服务仍然继续运行,甚至不会注意到其中的区别,赞~sql

(3)项目启动

步骤1、建立一个空的mysql数据库(如:db_win),能够直接导入建立数据库和数据, 在'server/mysql/db_win.sql'vue-cli

步骤2、在server/config/config.js修改相关数据库配置数据库

const config = {
  // 启动端口
  port: 3000,
  //秘钥
  secret:'win10',
  // 数据库配置
  database: {
    dbName: 'db_win',
    host: 'localhost',
    port: 3306,
    user: 'root',
    password: '123456@cao',
    timezone: '+08:00'
  }
}

module.exports = config
复制代码

登陆帐号:root, 密码:root (数据库存的密码进行了md5加密)

接下来就能够愉快的玩耍了~

5、项目拓展

一、 添加新页面

如今⽂件 src/router/asyncRoutes.js 中按照其余路由的格式添加新的⻚⾯,添加完成后在使⽤管理员帐号在系统设置-权限设置中新增权限,菜单的路径与上述⽂件配置中的name字段对应,必须保持⼀致

二、 添加新功能

功能是依附于菜单的,须要先配置系统设置-权限设置 才能在菜单下⾯挂功能接⼝

三、 添加或者更新新数据库表

server/model 里对应添加数据库模型,根据模型自动建立表,只须要建完模型后,把server/config/db.js 里把下面这段代码放开,运行 npm run server或者npm run start ,看到 init db ok,说明数据库表更新完~

// sequelize
//   .sync({alter: true} )
//   .then(() => {
//     console.log('init db ok')
//   })
//   .catch(err => {
//     console.log('init db error', err)
//   })
复制代码

三、 添加功能接口

6、总结

【vue-koa2全栈撸win10风格管理系统】交个朋友系列(1)-基础阶段,主要讲述:项目框架搭建思想和项目运行相关的配置。目前已经开发完一个基础项目,接下来【vue-koa2全栈撸win10风格管理系统】交个朋友系列文章,会根据项目搭建和讲功能点实现,欢迎你们一块儿交流~
完整项目地址:vue-win10-admin

相关文章
相关标签/搜索