import Mock from 'mockjs'
|
//延时200-600毫秒请求到数据
|
Mock.setup({
|
timeout: '200-600'
|
})
|
|
const Random = Mock.Random;
|
// 用户总览
|
function countUserNum() {
|
const a = Mock.mock({
|
success: true,
|
data: {
|
offlineNum:'@integer(1, 100)',
|
lockNum: '@integer(1, 10)',
|
totalNum:218
|
}
|
})
|
a.data.onlineNum=a.data.totalNum-a.data.offlineNum-a.data.lockNum
|
return a
|
}
|
|
// 接口,第一个参数url,第二个参数请求类型,第三个参数响应回调
|
Mock.mock(new RegExp('countUserNum'), 'get', countUserNum)
|
|
// /设备总览
|
|
function countDeviceNum() {
|
const a = Mock.mock({
|
success: true,
|
data: {
|
alarmNum: '@integer(100, 1000)',
|
offlineNum: '@integer(0, 50)',
|
totalNum:698
|
}
|
})
|
a.data.onlineNum=a.data.totalNum-a.data.offlineNum
|
|
|
return a
|
}
|
|
Mock.mock(new RegExp('countDeviceNum'), 'get', countDeviceNum)
|
|
// /设备总览
|
|
function sbtx() {
|
const a = Mock.mock({
|
success: true,
|
data: {
|
"list|20": [
|
{
|
provinceName: "@province()",
|
cityName: '@city()',
|
countyName: "@county()",
|
createTime: "@datetime('yyyy-MM-dd HH:mm:ss')",
|
deviceId: "6c512d754bbcd6d7cd86abce0e0cac58",
|
"gatewayno|+1": 10000,
|
"onlineState|1": [0, 1],
|
|
}
|
]
|
}
|
})
|
return a
|
}
|
|
Mock.mock(new RegExp('sbtx'), 'get', sbtx)
|
|
|
|
//中间地图
|
|
function centermap(options) {
|
let params = parameteUrl(options.url)
|
if (params.regionCode && params.regionCode != 'china') {
|
const a = Mock.mock({
|
success: true,
|
data: {
|
"dataList|30": [
|
{
|
name: "@city()",
|
value: '@integer(1, 1000)'
|
}
|
],
|
regionCode: params.regionCode,//-代表中国
|
}
|
})
|
return a
|
} else {
|
const a = Mock.mock({
|
success: true,
|
data: {
|
"dataList|8": [
|
{
|
name: "@province()",
|
value: '@integer(1, 1000)'
|
}
|
],
|
regionCode: 'china',
|
}
|
})
|
return a
|
}
|
|
}
|
|
Mock.mock(new RegExp('centermap'), 'get', centermap)
|
|
// 报警次数
|
|
function alarmNum() {
|
const a = Mock.mock({
|
success: true,
|
data: {
|
dateList:['2021-11', '2021-12', '2022-01', '2022-02', '2022-03',"2022-04"],
|
"numList|6":[
|
'@integer(0, 1000)'
|
],
|
"numList2|6":[
|
'@integer(0, 1000)'
|
]
|
}
|
})
|
return a
|
}
|
Mock.mock(new RegExp('alarmNum'), 'get', alarmNum)
|
|
// 实时预警
|
|
function ssyj() {
|
const a = Mock.mock({
|
success: true,
|
data: {
|
"list|40":[{
|
alertdetail: "@csentence(5,10)",
|
"alertname|1": ["水浸告警","各种报警"],
|
alertvalue: "@float(60, 200)",
|
createtime: "2022-04-19 08:38:33",
|
deviceid: null,
|
"gatewayno|+1": 10000,
|
phase: "A1",
|
sbInfo: "@csentence(10,18)",
|
"terminalno|+1": 100,
|
provinceName: "@province()",
|
cityName: '@city()',
|
countyName: "@county()",
|
}],
|
|
}
|
})
|
return a
|
}
|
Mock.mock(new RegExp('ssyj'), 'get', ssyj)
|
//安装计划
|
function installationPlan() {
|
let num= RandomNumBoth(26,32);
|
const a = Mock.mock({
|
["category|"+num]:["@city()"],
|
["barData|"+num]:["@integer(10, 100)"],
|
})
|
let lineData=[],rateData=[];
|
for (let index = 0; index < num; index++) {
|
let lineNum = Mock.mock('@integer(0, 100)')+a.barData[index]
|
lineData.push(lineNum)
|
let rate = a.barData[index] / lineNum;
|
rateData.push((rate*100).toFixed(0))
|
}
|
a.lineData=lineData
|
a.rateData=rateData
|
return {
|
success: true,
|
data:a
|
}
|
}
|
Mock.mock(new RegExp('installationPlan'), 'get', installationPlan)
|
|
|
|
|
//报警排名
|
function ranking() {
|
//多生成几个避免重复 重复会报错
|
let num =Mock.mock({"list|48":[{ value:"@integer(50,1000)",name:"@city()"}]}).list
|
// console.log(num);
|
let newNum =[],numObj={}
|
num.map(item=>{
|
if(!numObj[item.name] && newNum.length<8){
|
numObj[item.name] =true
|
newNum.push(item)
|
}
|
})
|
let arr = newNum.sort((a,b)=>{
|
return b.value-a.value
|
})
|
let a ={
|
success:true,
|
data:arr
|
}
|
return a
|
}
|
Mock.mock(new RegExp('ranking'), 'get', ranking)
|
/**
|
* @description: min ≤ r ≤ max 随机数
|
* @param {*} Min
|
* @param {*} Max
|
* @return {*}
|
*/
|
function RandomNumBoth(Min,Max){
|
var Range = Max - Min;
|
var Rand = Math.random();
|
var num = Min + Math.round(Rand * Range); //四舍五入
|
return num;
|
}
|
/**
|
* @description: 获取路径参数
|
* @param {*} url
|
* @return {*}
|
*/
|
function parameteUrl(url) {
|
var json = {}
|
if (/\?/.test(url)) {
|
var urlString = url.substring(url.indexOf("?") + 1);
|
var urlArray = urlString.split("&");
|
for (var i = 0; i < urlArray.length; i++) {
|
var urlItem = urlArray[i];
|
var item = urlItem.split("=");
|
console.log(item);
|
json[item[0]] = item[1];
|
}
|
return json;
|
}
|
return {};
|
}
|