三层架构

三层架构

1、目录结构

在这里插入图片描述
2、代码:

// ./routes/users.js    表现层:完成与用户端的交互,并负责简单的数据梳理

//  ./routes/users.js      表现层:完成与用户端的交互,并负责简单的数据处理
const usersService = require("../service/users");
router.post('/login', async function (req, res, next) {
  const { username, password } = req.body;
  const data = await usersService.login({ username, password });
  res.send(data);
});
// ./service/users.js      业务层:整个路由接口处理对应业务的主体逻辑
const usersDao = require("../dao/users");
const service = {}
service.login = async ({ username, password }) => {
    const data = await usersDao.findUser({ username, password });
    let isLogin = false;
    if (data.length >= 1) {
        isLogin = true;
    }
    return { isLogin };
}
module.exports = service;
//  ./dao/users.js			数据接口层:用来访问数据库,完成指定数据库操作
const  usersModel = require("./models/usersModel");
const dao = {}
dao.findUser = async (condition)=>{
    return await usersModel.find(condition);
}
module.exports = dao;

//下面是其他的一些附加操作(模块化):

//   ./dao/db.js     用来链接数据库的模块
const mongoose = require('mongoose');
const dbname = "f67";
mongoose.connect(
  'mongodb://localhost/' + dbname,
  { useNewUrlParser: true, useUnifiedTopology: true }
);
const db = mongoose.connection;
db.on('error', console.error.bind(console, 'connection error:'));
db.once('open', function () {
  // we're connected!
  console.log("we're connected to " + dbname);
});

//   ./dao/models/usersModel    与数据库对应的某一个集合的模型
const mongoose  = require("mongoose");
const usersSchema = mongoose.Schema({
    username: String,
    password: String
  }, { versionKey: false });
const usersModel = mongoose.model('users', usersSchema);//users集合
module.exports = usersModel;

分页

1、在mongoose里面(原生也有),有两个API,一般用来做分页:

  • - query.skip:
    - query.limit:

  • countDocuments

2、静态页面:自己梳理页面逻辑,下面是主要思想
创建一个pager对象,用来管理页面状态
aja、x发送的数据的数据应该来自pager,ajax接受的数据应该整合到pager

数据的数据应该来自pager,ajax接受的数据应该整合到pager

RestFul接口规范

1、我们用到的接口如下

Get:/students/getStudents

​ =>get:/students/

Post:/students/addStudents

​ =>post:/students/:name

Post:/students/updataStudents

​ =>put:/students/:id

Post:/students/deleteStudents

​ =>delete:/students/:id

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值