三层架构
程序员文章站
2022-03-14 10:16:12
...
三层架构
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
上一篇: 用PPT制作了一个双面翻书的效果可与专业动画相媲美
下一篇: 三层架构