Node.js登录(接口)

1.使用express生成器搭建项目

2.搭建三层架构

  • 为了更好的组织我们的代码结构
    1.表示层(public+router)
    2.业务逻辑层(service)
    3.数据访问层(持久层)(dao)
    在这里插入图片描述

连接数据库(mongoose)- dbUtil.js

// 公共代码
var mongoose = require('mongoose');

mongoose.connect("mongodb://127.0.0.1:27017/eggcms", { useNewUrlParser: true, useUnifiedTopology: true })
// 监听是否连接成功
mongoose.connection.on("connected", function() {
  console.log("连接数据库成功");
})

设置Schema - userModel.js

var mongoose = require('mongoose');

let userSchema = new mongoose.Schema({
  username: String,
  password: String
})

const userModel = mongoose.model('User', userSchema, 'user')

module.exports = userModel

数据访问层(持久层)(dao)- userDao.js

// 设计一个函数,用来获取数据
async function findUser(data) {
  // mongoose连接数据库API方法都是异步方法

  const user = await userModel.find(data);
  return user;
}

module.exports = findUser

在这里插入图片描述

业务逻辑层(service)- userService.js

const {findUser, addUser} = require('../dao/userDao')

async function login(data) {
  const res = await findUser(data);
  // 判断是否查找到
  if (res.length > 0) {
    return {success: res, msg: '登录成功'}
  } else {
    return {success: false, msg: '登录失败'}
  }
}

module.exports = login

表示层(public+router)- user.js

var express = require('express');
var router = express.Router();
var { login } = require('../service/userService')

/* GET users listing. */
router.get('/login', async function (req, res, next) {
  // 获取客户端传递过来的参数
  // 获取消息体里的信息:post: req.body   get: req.query (express封装好的)
  const { username, password } = req.query;
  const val = await login({ username, password });
  res.send(val)

});

module.exports = router;

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值