功能介绍
- 通过
mockjs
模拟接口数据并返回 - 接口实现分页查询
- 支持跨域
项目搭建
1、初始化
npm init
2、安装所需要的包
npm i express cors mockjs
3、创建入口文件app.js
import express from 'express';
const app = express();
/* 监听端口 */
app.listen(3000, () => {
console.log('——————————服务已启动——————————');
});
接口实现
1、新增一个getList
接口
app.get("/getList", (request, response) => {
response.json({ code: 200, data: {} });
});
2、 mockjs
模拟数据
/**
* mockjs模拟数据
* 语法规则参考示例:http://mockjs.com/examples.html
*/
import Mock from "mockjs";
const { list } = Mock.mock({
'list|60': [
{
id: '@increment(1)',
"isTrue|1": [ 1, 0 ],
describe: "@paragraph(1, 3)",
num: "@integer(10, 100)",
author: "@cname",
title: '@ctitle',
content: '@cparagraph',
url: "@url",
create_time: '@date(yyyy-MM-dd hh:mm:ss)'
}
],
});
3、写一个分页的方法
/**
* 分页函数
* @param {*} page 页码
* @param {*} size 条数
* @param {*} list 列表数据
*/
const datapager = (page = 1, size = 10, list = []) => {
const pageNum = Number(page);
const pageSize = Number(size);
const startIndex = (pageNum - 1) * pageSize;
const endIndex = startIndex + pageSize;
return list.slice(startIndex, endIndex);
};
4、接口返回数据
app.get('/getList', (request, response) => {
const { page, size } = request.query;
response.json({
code: 200,
data: {
list: datapager(page, size, list),
total: list.length
},
})
});
配置跨域
在我们自己的服务上去允许跨域,会比在项目中去解决跨域的操作更加方便,因为我们搭建这个简单服务器的目的只是为了方便自己调试
import cors from 'cors';
/**
* 启用所有cors请求
* 详细配置参考:https://github.com/expressjs/cors
*/
app.use(cors({
"origin": true,
"credentials": true,
}));
源码地址
实用的话就给个 star
https://github.com/hizo-relax/simple-services