// js 语法
var json = merge({
// params: req.query,
req: req,
// page: req.query.pi, // 取url查询参数的分页字段,加到要返回的数据里,达到模拟分页数据的效果
total: 60
}, render('data-list.json', null, 'mock')); // render 可以渲染上文提到名为“mock_json_demo”的数据模板,返回一个json
// https://www.baidu.com?Id=process_node_queryPage&body=%7B%22businessLineList%22%3A%5B%221001%22%5D%2C%22pageNo%22%3A1%2C%22pageSize%22%3A10%7D
// *************************** 接口 分页加载mock *******************************
// 最大页码,超过后返回空数据
const MAX_PAGE_NO =4
// 入参页码
const REQ_PAGE_KEY = 'pageNo'
// 入参条数
const REQ_PAGE_SIZE_KEY = 'pageSize'
// 出参页码
const RES_PAGE_KEY = 'pageNo'
// 出参条数
const RES_PAGE_SIZE_KEY = 'pageSize'
// 返回参数对象
var tempObj = {}
// 接口入参数据
const reqLocalsBody = JSON.parse(req.locals.body)
// color接口获取入参,赋值到响应数据中
if (req.locals.functionId) {
// 页码
tempObj[RES_PAGE_KEY] = reqLocalsBody[REQ_PAGE_KEY]
// 条数
tempObj[RES_PAGE_SIZE_KEY] = reqLocalsBody[REQ_PAGE_SIZE_KEY]
}
// 页码大于3时,返回空数据
const renderList = reqLocalsBody[REQ_PAGE_KEY] > MAX_PAGE_NO ? 'data-list-empty.json' : 'data-list.json'
// 接口响应数据合并
const colorJson = merge(render(renderList, null, 'mock'), {
total: MAX_PAGE_NO * reqLocalsBody[REQ_PAGE_SIZE_KEY],
}, tempObj, {
// 请求入参
reqParams: reqLocalsBody,
// 请求req信息
req: req,
})
// 数据响应返回
if (req.query.callback) { // 如果查询参数带了callback,则返回jsonp
out(header('content-type', 'application/javascript; charset=utf8'));
var json_text = join([req.query.callback + '(', json, ')']); // join是内置方法,可合并一组数据
out(json_text); // 向body输出数据
} else { // 没有callback则返回json
console.log('响应数据:》》》',json)
out(header('content-type', 'application/json; charset=utf8'));
out(status(500));
out(colorJson);
}
// 最大页码,超过后返回空数据
const MAX_PAGE_NO = 4;
// 最大页码,超过后返回空数据
//const CODE_NO = 200;
const CODE_NO = "0";
// 入参页码
const REQ_PAGE_KEY = 'pageIndex';
// 入参条数
const REQ_PAGE_SIZE_KEY = 'pageSize';
// 出参页码
const RES_PAGE_KEY = 'pageNo';
// 出参条数
const RES_PAGE_SIZE_KEY = 'pageSize';
// 返回参数对象
const tempObj = {};
// 获取所有参数信息包括【body】、【query】
const params = req.locals || {};
// 测试数据参数查看时 打开下边的注释
//out( {
// 请求入参
// reqParams: params,
// 请求req信息
// req: req,
// });
//return;
if (params[REQ_PAGE_KEY]) {
// 页码
tempObj[RES_PAGE_KEY] = params[REQ_PAGE_KEY] || 1;
} else {
tempObj[RES_PAGE_KEY] = 1;
tempObj['*****error*****'] = '>>> ' + REQ_PAGE_KEY + ' <<<没匹配到';
}
if (params[REQ_PAGE_SIZE_KEY]) {
// 条数
tempObj[RES_PAGE_SIZE_KEY] = params[REQ_PAGE_SIZE_KEY] || 10;
} else {
tempObj[RES_PAGE_KEY] = 1;
tempObj['*****error*****'] = '>>> ' + REQ_PAGE_SIZE_KEY + ' <<<没匹配到';
}
// 页码大于3时,返回空数据
const renderList = params[REQ_PAGE_KEY] > MAX_PAGE_NO ? 'data-list-empty.json' : 'data-list.json';
// 接口响应数据合并
const colorJson = merge(
{
code: CODE_NO,
},
render(renderList, null, 'mock'),
{
total: MAX_PAGE_NO * params[REQ_PAGE_SIZE_KEY],
totalCount: MAX_PAGE_NO * params[REQ_PAGE_SIZE_KEY],
},
tempObj,
{
// 请求入参
reqParams: params,
// 请求req信息
req: req,
}
);
// 数据响应返回
out(colorJson);
最后编辑于 :
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。