From 6630b15a2c3ffdfcd99b164131b4668efb994ffa Mon Sep 17 00:00:00 2001 From: 刘嘉威 <daidaibg@163.com> Date: 星期一, 08 五月 2023 17:39:26 +0800 Subject: [PATCH] perf: 更新依赖 --- src/mock/mock-index.ts | 191 ++++++++++++++++++++++++++++++++++++++++++++++- 1 files changed, 187 insertions(+), 4 deletions(-) diff --git a/src/mock/mock-index.ts b/src/mock/mock-index.ts index 6442cfa..4119b12 100644 --- a/src/mock/mock-index.ts +++ b/src/mock/mock-index.ts @@ -1,6 +1,27 @@ import Mock from "mockjs"; //澶勭悊璺緞浼犲弬 -import {parameteUrl} from "@/utils/query-param" +import { parameteUrl } from "@/utils/query-param" + +function ArrSet(Arr: any[], id: string): any[] { + let obj: any = {} + const arrays = Arr.reduce((setArr, item) => { + obj[item[id]] ? '' : (obj[item[id]] = true && setArr.push(item)) + return setArr + }, []) + return arrays +} +/** +* @description: min 鈮� r 鈮� max 闅忔満鏁� +* @param {*} Min +* @param {*} Max +* @return {*} +*/ +function RandomNumBoth(Min: any, Max: any) { + var Range = Max - Min; + var Rand = Math.random(); + var num = Min + Math.round(Rand * Range); //鍥涜垗浜斿叆 + return num; +} //宸︿腑 export default [ { @@ -16,7 +37,7 @@ totalNum: 368 } }) - a.data.onlineNum = a.data.totalNum - a.data.offlineNum - a.data.lockNum-a.data.alarmNum + a.data.onlineNum = a.data.totalNum - a.data.offlineNum - a.data.lockNum - a.data.alarmNum return a }, }, @@ -29,12 +50,174 @@ data: { alarmNum: '@integer(100, 1000)', offlineNum: '@integer(0, 50)', - totalNum:698 + totalNum: 698 } }) - a.data.onlineNum=a.data.totalNum-a.data.offlineNum + a.data.onlineNum = a.data.totalNum - a.data.offlineNum return a } + }, + //宸︿笅 + { + url: "/bigscreen/leftBottom", + type: "get", + response: () => { + 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 + } + }, + //鍙充笂 + { + url: "/bigscreen/alarmNum", + type: "get", + response: () => { + 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 + } + }, + //鍙充腑 + { + url: "/bigscreen/ranking", + type: "get", + response: () => { + let num = Mock.mock({ "list|80": [{ value: "@integer(50,1000)", name: "@city()" }] }).list + // console.log("ranking",num); + let newNum: any = [], numObj: any = {} + num.map((item: any) => { + if (!numObj[item.name] && newNum.length < 8) { + numObj[item.name] = true + newNum.push(item) + } + }) + let arr = newNum.sort((a: any, b: any) => { + return b.value - a.value + }) + let a = { + success: true, + data: arr + } + return a + } + }, + //鍙充笅 + { + url: "/bigscreen/rightBottom", + type: "get", + response: () => { + 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 + } + }, + //瀹夎璁″垝 + { + url: "/bigscreen/installationPlan", + type: "get", + response: () => { + + 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 + } + } + }, + { + url: "/bigscreen/centerMap", + type: "get", + response: (options: any) => { + let params = parameteUrl(options.url) + //涓嶆槸涓浗鐨勬椂鍊� + if (params.regionCode && !["china"].includes(params.regionCode)) { + const a = Mock.mock({ + success: true, + data: { + "dataList|100": [ + { + name: "@city()", + value: '@integer(1, 1000)' + } + ], + regionCode: params.regionCode,//-浠h〃涓浗 + } + }) + return a + } else { + const a = Mock.mock({ + success: true, + data: { + "dataList|12": [ + { + name: "@province()", + value: '@integer(1, 1100)' + } + ], + regionCode: 'china', + } + }) + // 鍘婚噸 + a.data.dataList = ArrSet(a.data.dataList, "name") + return a + } + } } ]; -- Gitblit v1.8.0