# myweb_bigevent_server **Repository Path**: yang-yu1997/myweb_bigevent_server ## Basic Information - **Project Name**: myweb_bigevent_server - **Description**: 本项目地址为基于 Node.js,Express 框架搭建的小型服务器,匹配 myweb_bigevent 大事件后台管理系统项 - **Primary Language**: NodeJS - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 2 - **Forks**: 0 - **Created**: 2021-08-18 - **Last Updated**: 2024-04-08 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README
## 大事件后台管理项目(后端) ​![输入图片说明](https://img.shields.io/static/v1?label=&message=Layui&color=yellowgreen "在这里输入图片标题") ​![输入图片说明](https://img.shields.io/static/v1?label=&message=jQuery&color=yellow "在这里输入图片标题") ​![输入图片说明](https://img.shields.io/static/v1?label=&message=Node.js&color= "在这里输入图片标题") ​![输入图片说明](https://img.shields.io/static/v1?label=&message=Express&color=blue "在这里输入图片标题") ​![输入图片说明](https://img.shields.io/static/v1?label=&message=MySQL&color=lightgrey "在这里输入图片标题")
### 基本介绍 **前后端分离的后台管理项目**,用户可以登录注册后,进入管理系统,管理文章分类,编辑更新文章,并可设置昵称,设置个人头像(可裁剪),设置密码等功能 - 本项目地址为基于 Node.js,Express 框架搭建的小型服务器,匹配 myweb_bigevent 大事件后台管理系统项目 **仓库地址** - 前端:https://gitee.com/yang-yu1997/myweb_bigevent - 后端:https://gitee.com/yang-yu1997/myweb_bigevent_server **技术栈**: - **前端** Layui + jQuery + Echarts - **后端** Node.js + Express 框架 + 数据库 MySQL ### 前端 - MPA 应用 - 基于 jQuery 实现页面主要业务逻辑功能,操作 DOM,实现文章增删改查,个人中心编辑,发送 Ajax 请求等 - 模板引擎实现数据的动态渲染 - Less 编写样式,使用 Layui 快速搭建基本页面 UI,使用表单,按钮,layer 弹出层提示框等 - rem 适配,Echarts 绘制后台系统首页 **主要功能展示** 1. 首页 ![home png](preview-imgs/01-home.png) 2. 文章管理-文章类别 ![home png](preview-imgs/02-文章类别.jpg) 3. 文章管理-文章列表 ![home png](preview-imgs/03-文章列表.jpg) 4. 文章管理-文章发布 ![home png](preview-imgs/04-文章发布.png) 5. 个人中心-基本资料修改 ![home png](preview-imgs/05-个人中心-基本资料修改.png) 6. 个人中心-修改密码 ![home png](preview-imgs/06-修改密码.png) 7. 登录页面 ![home png](preview-imgs/07-登录页面.jpg) ### 后端 - 基于 Express 框架 - Node.js 操作 MySQL(本地) 实现用户的登录注册功能 - 配置 HTTP2,配置 JWT 跨域认证,CORS 跨域,加密密码,表单数据合法性验证 - 声明中间件,如错误级别中间件捕获全局错误信息 - 实现文章增删改查功能,实现用户数据增删改查功能 - 模块化架构 ### 目录结构描述 (本项目——后端部分) 1. app.js 是入口文件,使用 `node app.js` 运行 2. router 文件夹,用来存放所有的路由模块,只存放客户端的请求与处理函数之间的映射关系 3. router_handler 文件夹,用来存放所有的路由处理函数模块,专门负责存放每个路由对应的处理函数 4. schema 文件夹,用来存放验证规则 5. db 文件夹下,导入数据库对象 ``` ├── app.js -- 入口文件 ├── config.js -- 全局配置文件(token) ├── package-lock.json -- 包管理lock ├── certs -- ssl证书 │ └──art_cate.html -- 证书 │ └──ca.csr -- 证书请求文件 │ └──ca.key -- 证书私钥 │ └──openssl.cnf -- openssl 配置文件 ├── db │ └──index.js -- 导入数据库模块 ├── router -- 路由,存放客户端的请求与处理函数之间的映射关系 │ └──artcate.js -- 文章分类路由 │ └──article.js -- 文章信息增删查改路由 │ └──user.js -- 用户注册登录路由 │ └──userinfo.js -- 个人中心路由 ├── router_handler -- 路由处理模块,存放每个路由对应的处理函数,结构同router ├── schema -- 校验规则 │ └──artcate.js -- 文章分类校验 │ └──article.js -- 文章信息增删查改校验 │ └──user.js -- 用户注册登录校验 ├── uploads -- 托管文章封面-静态资源 │ └──index.js -- 导入数据库模块 ├── node_modules -- 依赖 ``` ### 项目运行 #### 依赖及插件 - 前端: jQuery, Layui, Echarts, cropper(裁剪图片), tinymce(富文本编辑器), art-template(数据渲染模板引擎) - 后端:MySQL, Node.js, Express, cors 跨域中间件, jsonwebtoken + express-jwt 解析 token, bcryptjs 加密密码,hapi/joi + escook/express-joi 中间件定义验证规则 #### 使用说明 1. 前端项目:`git clone git@gitee.com:yang-yu1997/myweb_bigevent.git` 2. 后端项目:`git clone git@gitee.com:yang-yu1997/myweb_bigevent_server.git` 3. 导入并连接本地 MySQL 模块——示例 ```js // 1. 导入 mysql 数据库模块 首先要npm i mysql const mysql = require("mysql"); const { resourceLimits } = require("worker_threads"); // 2. 建立与 mysql 数据库连接 指定配置对象 const db = mysql.createPool({ host: "127.0.0.1", // 数据库的IP地址 这里是本机地址 user: "root", // 数据库的账号 password: "admin123", // 数据库用户的密码 database: "my_db_01", // 指定要操作的数据库 }); ``` 4. 后端项目:`npm install` 5. 启动后端项目:`node app.js` 6. 前端项目:live-server 启动 login.html ### 版本更新 - 2022.08.05 更新支持 HTTP2 #### 参与贡献 1. Fork 本仓库 2. 新建分支 3. git commit 提交代码 4. 新建 Pull Request