mockjs

// 引入mockjs
const Mock = require('mockjs');
const baseURL = process.env.VUE_APP_BASE_API;
// 获取 mock.Random 对象
const Random = Mock.Random;
// mock一组数据
const produceNewsData = function () {
let articles = [];
for (let i = 0; i < 100; i++) {
let newArticleObject = {
title: Random.csentence(5, 30), // Random.csentence( min, max )
thumbnail_pic_s: Random.dataImage('300x250', 'mock的图片'), // Random.dataImage( size, text ) 生成一段随机的 Base64 图片编码
author_name: Random.cname(), // Random.cname() 随机生成一个常见的中文姓名
date: Random.date() + ' ' + Random.time() // Random.date()指示生成的日期字符串的格式,默认为yyyy-MM-dd;Random.time() 返回一个随机的时间字符串
};
articles.push(newArticleObject)
}
return {
data: articles
}
};
// 拦截ajax请求,配置mock的数据
Mock.mock(${baseURL}/api/articles, 'get', produceNewsData);

const assetHistotyData = function () {
let history = [];
for (let i = 0; i < 10; i++) {
let newArticleObject = {
assetId: 1,
macAddress: "B0.12.34.DF.SD.GD",
ip: Random.ip(),
createUser: Random.natural(7, 10),
detail: Random.csentence(10, 20), // Random.cname() 随机生成一个常见的中文姓名
createTime: Random.date() + ' ' + Random.time(), // Random.date()指示生成的日期字符串的格式,默认为yyyy-MM-dd;Random.time() 返回一个随机的时间字符串
updateTime: Random.date() + ' ' + Random.time()
};
history.push(newArticleObject)
}
return {
data: history
}
};

/**
*

  • @returns {{data: *}}
    */
    const securityBaseLineList = function () {
    let list = [];
    for(let i = 0; i < 16; i++) {
    let auditList = [];

     for(let j = 0; j < 6; j++) {
         let checkObj = {
             name: Random.cname(),
             checkId: Random.integer(1, 10),
             weight: 1
         };
         auditList.push(checkObj)
     }
     let newCreateObject = {
         id: Random.integer(1, 20),
         deviceName: Random.cname(),
         ipAddress: Random.ip(),
         deviceType: ["设备","设备","设备"],
         name: Random.cname(),
         status: "1",
         preserver: "负责人",
         createTime: Random.date(),
         auditList: auditList
     };
     list.push(newCreateObject);
    

    }
    return {
    list
    }
    };

/**

  • 审核项信息列表内容生成
  • @returns {{data: *}}
    */
    const auditList = function () {
    let list = [];
    for (let i = 0; i < 16; i++) {
    let newCreateObject = {
    id: Random.integer(1, 10),
    name: Random.cname(),
    description: Random.csentence(10, 20),
    createTime: Random.date()
    };
    list.push(newCreateObject);
    }
    return {
    list
    }
    };

const mockjsTestData = function(data) {
console.log("mock-reqParam",data);
let reqData = JSON.parse(data.body);
let responseData = [], i, count=21;
let len = reqData.paging ? Math.ceil(count/reqData.paging.pageSize) === reqData.paging.pageNo ? count : (reqData.paging.pageNo) * reqData.paging.pageSize : 10
,startIndex = reqData.paging ? ((reqData.paging.pageNo ? reqData.paging.pageNo : 1) - 1) * (reqData.paging.pageSize ? reqData.paging.pageSize : 10) : 0;
console.log("len",len);
console.log("startIndex",startIndex);
for (i = startIndex; i < len; i++) {
let obj = {
incrementID: Random.increment, //全局自增主键
id: Random.increment, // Random.id(), //生成ID
uuid: Random.guid(), //生成UUID
first: Random.first(), // 随机返回常见英文名
last: Random.last(), // 随机返回常见英文姓
name: Random.cname(), // 生成中文姓名 ,俩字仨字
ctitle: Random.ctitle(), // (min,max) 随机生成一句中文标题
email: Random.email(),
phone: Random.phone,
url: Random.url(),
ip: Random.ip(),
protocol: Random.protocol(), //随机返回一种协议
word: Random.last(), // 随机生成一个单词。
an: Random.word(1,1), // (min,max)随机生成一个单词。
sentence: Random.sentence(), // (min,max)随机生成一个句子,第一个单词的首字母大写。
csentence: Random.csentence(5,8), // (min,max)随机生成一个中文句子
cword: Random.cword(), // (pool, min, max)随机生成一个或多个汉字。
cparagraph: Random.cparagraph(1,5), // (min,max)随机生成一段文本
nowTime: Random.now(), // (unit, format) 返回当前时间的 year|month|day|hour|minute|second|week
dateTime: Random.datetime('yyyy年MM月dd日 HH:mm:ss'), // 返回一个随机的日期和时间字符串。不填,yyyy-MM-dd HH:mm:ss
image: Random.img(), //(size, background, foreground, format, text) 生成一个随机的图片地址。
base64Image: Random.dataImage('90x90', 'mock的图片'), // Random.dataImage( size, text ) 生成一段随机的 Base64 图片编码
dataImage: Random.dataImage, //(size,text) 生成一段随机的 Base64 图片编码。

        //数
        natural: Random.natural(0,999), // (min,max) 返回一个随机的自然数(大于等于 0 的整数)。
        integer: Random.integer(2, 4), // (min,max) 返回一个随机的整数。
        'float|1-2.2-2': Random.float(),     // (min,max, dmin, dmax) 返回一个个随机的浮点数。
        character: Random.character(), // (pool) 返回一个字符 number: '0123456789',symbol: '!@#$%^&*()[]', lower: 'abcdefghijklmnopqrstuvwxyz',upper: 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'
        integerArray: Random.range(-20,120), //(start, stop, step) 返回一个整形数组
        pick: Random.pick([]), // (arr, min, max) 随机抽取一个元素           shuffle : 打乱数组返回                    :tree  构造一个树返回,prop{}
        boolean: Random.boolean(),   //(min,max,cur) 返回一个随机的布尔值。
        colorRGB: Random.color(), //随机生成一个有吸引力的颜色,格式为 '#RRGGBB  : rgb(128,255,255)  : rgba  : hex  或使用 #ADE6FC
        color: Random.teal, //直接取值

        //地区
        region: Random.region(), //随机返回一个中国的大区
        province: Random.province(), //随机生成一个(中国)省(或直辖市、自治区、特别行政区)
        city: Random.city(), //市
        county: Random.county(), //县
        zipNum: Random.zip() //随机邮编
    };
    responseData.push(obj);
}
return { status: 200, resultCode: "RESULT_SUCCESS"
            , obj: {list:responseData, total: count , pageNum: reqData.paging.pageNo , pageSize: reqData.paging.pageSize}
            , message: '@cword|5-6'};

};

Mock.mock(RegExp(${baseURL}/mockjs/.*), 'post', mockjsTestData);
Mock.mock(RegExp(${baseURL}/mockjs/.*), 'get', mockjsTestData);

posted @ 2020-07-15 16:55  taufferrily  阅读(278)  评论(0)    收藏  举报