17 Star 210 Fork 52

hanlei525 / Node后台管理系统

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
克隆/下载
README.md 4.97 KB
一键复制 编辑 原始数据 按行查看 历史
hanlei525 提交于 2022-07-10 10:49 . fix:修正 sql/foods.json 数据;

Node后台管理系统

介绍

express+mongoDB的一套后台管理系统后端部分,前端部分(vue后台管理系统

注意事项

  1. 由于是开源项目,用户密码并未加密,使用者可自行 在用户新增接口进行密码加密入库
  2. 本项目删除操作为真实删除,在一般业务中,删除操作为逻辑删除,即变更数据库数据状态而非真实删除,查询时根据非删除状态查询
  3. 图片上传分两种方式七牛云存储 和 传统文件服务器存储,使用传统文件服务器存储,数据库存储图片为不含域名(ip)的文件路径,使用图片需拼接服务前缀,如
    const imgPrefix = 'http://localhost:6166/'
    const imgUrl = imgPrefix + '/static/img/tudousi.jpg'
    // 最终展示 'http://localhost:6166/static/img/tudousi.jpg'

软件架构

  1. 基于express+mongoDB实现的一套后台管理系统,功能点有:

邮箱验证、注册、登录、jwt验证、用户管理、权限列表、角色列表、商品的增删改查、国际化管理(增删改查、批量添加、excel导入导出、导出js文件)、图片上传两种方式(七牛云、文件服务器)等

  1. 利用apidoc生成接口文档 文档生成示例

  2. 数据库ORM使用Mongoose

  3. 用到的依赖

    "archiver": "^5.0.0",
    "cors": "^2.8.5",
    "express": "^4.17.1",
    "jsonwebtoken": "^8.5.1",
    "mongoose": "^5.9.25",
    "multer": "^1.4.2",
    "nodemailer": "^6.4.10",
    "qiniu": "^7.3.2",
    "xlsx": "^0.16.6"
  4. 目录结构

    .
    ├── apidoc                   # 命令生成的接口文档
    ├── db                       # 数据库相关
          ├── model              # 定义表结构
          └── connect.js         # 连接数据库
    ├── output                   # 导出多语言JS临时存放点用于前端下载
    ├── router                   # 接口路由进行数据库CRUD
    ├── sql                      # 本项目用到的sql文件导入到MongoDB数据库
          └── mongoDB命令.txt
    ├── static                   # 静态资源暴露在外部可访问
          ├── excel              # 导出excel临时存放点用于前端下载
          ├── img                # 图片资源
          └── rar                # 导出rar压缩文件临时存放点用于前端下载
    ├── utils                    # 公共JS方法或变量
          ├── counter.js         # 为数据库表自增id
          ├── exportXlsx.js      # 导出excel相关方法
          ├── mail.js            # 邮箱发验证码
          ├── qiniu.js           # 七牛云上传方法
          ├── rar.js             # rar压缩
          └── token.js           # 生成验证token
    ├── 多语言文件.xlxs            # 用于测试多语言批量导入的模板
    ├── apidoc.json              # apidoc的配置文件
    ├── package.json
    └── serve.js                 # 项目入口文件

安装教程

# 查看源
npm config get registry
# 更换源
npm config set registry https://registry.npmjs.org
# 淘宝源
npm config set registry https://registry.npm.taobao.org

npm install

使用说明

  1. 启动mongoDB

  2. 将sql文件夹下json导入mongoDBexpressdbs数据库

  3. npm run dev 启动,默认6166端口

  4. npm run doc 生成接口文档,放于apidoc文件夹(如要使用apidoc,需全局安装npm install apidoc -g

  5. 部署到服务器推荐使用pm2

    eg. 运行

    D:\Projects\node\gitee\express_mongoDB>pm2 start serve.js --name express_mongoDB
    # pm2 命令如下
    npm install pm2 -g                     # 命令行安装 pm2 
    pm2 list                               # 显示所有进程状态
    pm2 start serve.js --name my-api       # 命名进程并运行在该项目目录下创建别名my-api并运行serve.js
    pm2 stop 0                             # 通过id停止指定的进程0是id
    pm2 stop my-api                        # 通过别名停止指定的进程my-api是别名
    pm2 restart 0                          # 重启指定的进程
    pm2 restart all                        # 重启所有进程
    pm2 stop all                           # 停止所有进程
    pm2 reload all                         # 0秒停机重载进程 (用于 NETWORKED 进程)
    pm2 logs                               # 显示所有进程日志
    pm2 monit                              # 监视所有进程
    pm2 startup                            # 产生 init 脚本 保持进程活着
    pm2 delete 0                           # 杀死指定的进程
    pm2 delete all                         # 杀死全部进程
NodeJS
1
https://gitee.com/hlshare/express_mongoDB.git
git@gitee.com:hlshare/express_mongoDB.git
hlshare
express_mongoDB
Node后台管理系统
master

搜索帮助