Whistle-vase.js

// 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);
}

.jd.** includeFilter://b:_queryPageQuoteList includeFilter:///queryPageQuoteList/ resHeaders://{local-reqHeaders-option.json} vase://listMockJs

// 最大页码,超过后返回空数据
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辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

友情链接更多精彩内容