From ddb1df24b17dd22e1fa088fa9fe8573913baec33 Mon Sep 17 00:00:00 2001
From: 刘嘉威 <daidaibg@163.com>
Date: 星期五, 24 二月 2023 15:06:40 +0800
Subject: [PATCH] perf: 请求项目路径下文件问题

---
 src/mock/mock-index.ts |  213 +++++++++++++++++++++++++++++++++++++++++++++++++++-
 1 files changed, 207 insertions(+), 6 deletions(-)

diff --git a/src/mock/mock-index.ts b/src/mock/mock-index.ts
index b9ebfe2..4119b12 100644
--- a/src/mock/mock-index.ts
+++ b/src/mock/mock-index.ts
@@ -1,6 +1,28 @@
 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 [
     {
         url: "/bigscreen/countUserNum",
@@ -9,14 +31,193 @@
             const a = Mock.mock({
                 success: true,
                 data: {
-                    offlineNum: '@integer(1, 100)',
-                    lockNum: '@integer(1, 10)',
-                    totalNum: 218
+                    offlineNum: '@integer(50, 100)',
+                    alarmNum: '@integer(20, 100)',
+                    lockNum: '@integer(10, 50)',
+                    totalNum: 368
                 }
             })
-            a.data.onlineNum = a.data.totalNum - a.data.offlineNum - a.data.lockNum
+            a.data.onlineNum = a.data.totalNum - a.data.offlineNum - a.data.lockNum - a.data.alarmNum
             return a
         },
     },
+    {
+        url: "/bigscreen/countDeviceNum",
+        type: "get",
+        response: () => {
+            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
+        }
+    },
+    //宸︿笅
+    {
+        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