前端Vue + 后端node 搭建完成电商后台管理系统 ,技术选型有`node.js+express+vue+axios +elementUI +mongoDB`

目录

我写的项目别人怎么访问 

后端路由

前端操作逻辑源码


前言:

  • 资源已经上传,另一套电商后台管理项目点击跳转在我博客的资源中可以找到,用node.js+ +express+vue+axios +elementUI +mongoDB独立完成`电商后台管理系统` 用户增删改查,用户的操作在MongoDB Compass数据可视化软件可以一目了然,软件可以在网上下载,教程一大把,绝对没法难到小伙伴,也可以在我的资源下载,我会整套包括用到的软件一起压缩上传
  • 我有个问题?壮汉疑问?设计一个完整的项目不仅有前台项目设计,还需要搭建本地服务器、数据库什么的,作为一个前端开发者,选用什么数据库好?周围好多人都在用mongodb,mongodb有哪些适合前端开发的优点?
  • 前端开发你选啥数据库?这怎么说也是后端的活!或者说是你自己想搞一个大项目出来?

    如果是你自己想撸个项目出来,那么首先应该说明是什么项目,然后再去考虑技术选型之类的东西。
    如果是纯前端/静态页面,那不需要数据库,你把ssh、ftp、apache/nginx这些东西捋清楚就行了。

  • 为什么 全栈学 MongoDB  ?  开源  高并发  处理高效  学习成本低 。

    MongoDB  安装:
    1.傻瓜式安装   下一步  
    2.注意   第三步  默认  install  MongoDB  compass  勾选去掉 

    命令行启动MongoDB 指令:
     mongo  127.0.0.1:27017

    启动mongodb 服务指令:  net  start mongodb 
    出现  请求的服务已经启动。  说明  MongoDB 服务器 已经启动可以使用了。

    net stop  mongodb   指令 : 停止 mongodb服务 
    安装  mongodb 数据库 可视化界面工具    Compass  

  • 需要安装node MongoDB  Compass       启动mongodb 服务指令:  net  start mongodb 


加油哦 

  • 说有上辈子的人是在骗自我;说有下辈子的人是在骗别人
  • 谁有历经千辛万苦的意志,谁就能达到任何目的
  • 一个人只要强烈地坚持不懈地追求,他就能达到目的!加油

前端Vue + 后端node 搭建完成电商后台管理系统 ,技术选型有`node.js+express+vue+axios +elementUI +mongoDB`_第1张图片

 如何启动

图例

 前端Vue + 后端node 搭建完成电商后台管理系统 ,技术选型有`node.js+express+vue+axios +elementUI +mongoDB`_第2张图片

 前端Vue + 后端node 搭建完成电商后台管理系统 ,技术选型有`node.js+express+vue+axios +elementUI +mongoDB`_第3张图片

  

我写的项目别人怎么访问 

  • 创建服务器 --开启服务器 --必须联网 --网站地址栏搜索 --想要被人访问让你输入我的ipconfig的ip要在一个 局域网而且ipv4后加端口名--自己访问127.0.0.1:端口|| localhost:端口
  • 默认端口http://localhost:3000/

还有其他事例就不一一展示了,说一下数据库

/*

 model/db.js

*/
const mongoose = require('mongoose');
mongoose.connect("mongodb://127.0.0.1:27017/01", { useNewUrlParser: true, useUnifiedTopology: true }).then(() => {
    console.log('数据连接成功');
}).catch(() => {
    console.log('数据连接失败');

});
const shopSchema = mongoose.Schema({
    username: String,
    emial: String,
    tel: String,
    role: String,
    status: String,
})
const shop = mongoose.model('shop', shopSchema);
module.exports = shop

后端路由

  • 添加、分页、编辑、删除。。更新。。等都在这里
/*

router/index.js

*/

var express = require('express');
var router = express.Router();
var shop = require('../model/db');

/* GET home page. */
router.get('/', function(req, res, next) {
    res.render('index', {
        title: 'Express'
    });
});


//  展示  列表  路由     结合 搜索 
router.get('/list', async(req, res) => {
    console.log(req.query);

    let keyword = req.query.keyword; // 前端发送过来的关键字
    // 正则   
    let reg = new RegExp(keyword, 'g'); //    /^\w$/g  --  不可以用变量
    console.log(reg);

    let sum = await shop.count({
        username: reg
    }); // 同步方式 执行异步函数 总条数
    let limit = req.query.limit; // 每页限制  条数   默认  字符串
    limit = Number(limit); //  强制转换 
    let page = req.query.page; // 页码 
    page = Number(page); // 强制转换
    let skip = (page - 1) * limit; // 每页跳过的数据 
    shop.find({
        username: reg
    }).limit(limit).skip(skip).sort({
        _id: -1
    }).then(data => { // 展示  所有数据
        if (data.length > 0) { //  有数据
            res.send({
                code: 1,
                msg: '查询成功!',
                data: data,
                sum: sum
            });

        } else { // 没有数据
            res.send({
                code: 0,
                msg: '查询失败,暂无数据!',
                data: []
            }); // data:[]   异常处理

        }
    })

})



//  添加 路由    /add
router.post('/add', (req, res) => {
    let obj = req.body;
    console.log(obj);
    shop.find({
        username: obj.username
    }).then(data => {
        if (data.length > 0) {
            res.send({
                code: 0,
                msg: '此用户已经存在!'
            });
        } else {

            // 不存在此用户 可以添加 
            shop.create(obj).then(() => {
                res.send({
                    code: 1,
                    msg: '添加成功!'
                })
            })


        }

    })



})



// 删除接口    /del    get  
router.get('/del', (req, res) => {
    shop.remove({
        _id: req.query.id
    }).then(() => {
        res.send({
            code: 1,
            msg: '删除成功!'
        }); //    res.send({status:200,success:true})
    }).catch(() => {
        res.send({
            code: 0,
            msg: '删除失败!'
        }); //  res.send({status:404,success:false})
    })


})


// 更新修改  接口     /update   post1
router.post('/update', (req, res) => {
    let obj = req.body;
    console.log(obj);

    shop.update({
        _id: obj._id
    }, {
        $set: obj
    }).then(() => { // obj {}  --简写 前端的form对象
        // $set:{
        //   username:req.body.username,
        //   email:req.body.email,
        //   tel:req.body.tel
        // }
        res.send({
            code: 1,
            msg: '更新成功!'
        });
    }).catch(() => {
        res.send({
            code: 0,
            msg: '更新失败!!'
        });
    })



})

module.exports = router;

前端操作逻辑源码


 

完 !

We must stay true to ourselves.
忠于自我,顺心而为。加油

你可能感兴趣的:(vue2,mongodb,vue.js,elementui)