vehicle-monitor/mock/community.ts

125 lines
3.2 KiB
TypeScript
Raw Normal View History

2025-05-12 17:12:01 +08:00
import { defineFakeRoute } from 'vite-plugin-fake-server/client';
2025-05-16 21:55:58 +08:00
const BASE_URL = '/mock/community';
2025-05-12 17:12:01 +08:00
const randomNumber = (range: number = 100) => {
return parseInt((Math.random() * range).toFixed(0));
};
export default defineFakeRoute([
2025-05-13 20:04:27 +08:00
// 设备总数
2025-05-12 17:12:01 +08:00
{
2025-05-16 21:55:58 +08:00
url: `${BASE_URL}/devices-amount`,
2025-05-12 17:12:01 +08:00
method: 'GET',
response: () => ({
code: 200,
2025-05-13 20:22:00 +08:00
data: {
list: [
{ name: '设备类型一', outside: randomNumber(), connect: randomNumber() },
{ name: '设备类型二', outside: randomNumber(), connect: randomNumber() },
{ name: '设备类型三', outside: randomNumber(), connect: randomNumber() },
{ name: '设备类型四', outside: randomNumber(), connect: randomNumber() },
],
total: randomNumber(9999),
},
2025-05-13 20:04:27 +08:00
message: '操作成功',
}),
},
// 预警概览
{
2025-05-16 21:55:58 +08:00
url: `${BASE_URL}/alarms-overview`,
2025-05-13 20:04:27 +08:00
method: 'GET',
response: () => ({
code: 200,
data: {
total: 500000,
list: Array(4)
.fill(0)
.map((_, index) => ({ name: `name-${index}`, value: randomNumber(9999) })),
},
message: '操作成功',
}),
},
// 中间顶部区域
{
2025-05-16 21:55:58 +08:00
url: `${BASE_URL}/community-statistics`,
2025-05-13 20:04:27 +08:00
method: 'GET',
response: () => ({
code: 200,
data: Array(4)
.fill(0)
.map((_, index) => ({
name: `统计人口-${index + 1}`,
2025-05-12 17:12:01 +08:00
total: randomNumber(9999),
2025-05-13 20:04:27 +08:00
subtitle: `常驻人口${index + 1}`,
2025-05-12 19:19:32 +08:00
subPercent: `${randomNumber()}%`,
2025-05-12 17:12:01 +08:00
subTotal: randomNumber(99999),
2025-05-13 20:04:27 +08:00
})),
message: '操作成功',
}),
},
// 中间区域设备运行状态
{
2025-05-16 21:55:58 +08:00
url: `${BASE_URL}/devices-status`,
2025-05-13 20:04:27 +08:00
method: 'GET',
response: () => ({
code: 200,
data: {
2025-05-16 21:55:58 +08:00
devices: [
2025-05-13 20:04:27 +08:00
{
title: '正常运行总数',
total: randomNumber(100),
},
{
title: '故障总数',
total: randomNumber(100),
},
{
title: '故障总数',
total: randomNumber(100),
},
{
title: '故障总数',
total: randomNumber(100),
},
],
security: randomNumber(),
},
2025-05-12 17:12:01 +08:00
message: '操作成功',
}),
},
2025-05-16 21:55:58 +08:00
// 数据统计
{
url: `${BASE_URL}/data-statistics`,
method: 'GET',
response: () => ({
code: 200,
data: [
{ name: '园区面积', value: randomNumber(9999) },
{ name: '绿化面积', value: randomNumber(9999) },
{ name: '道路面积', value: randomNumber(9999) },
{ name: '新能源车', value: randomNumber(9999) },
{ name: '安防在线率', value: randomNumber(9999) },
{ name: '安防在线率', value: randomNumber(9999) },
],
message: '操作成功',
}),
},
// 服务项目
{
url: `${BASE_URL}/server-project`,
method: 'GET',
response: () => ({
code: 200,
data: Array(15)
.fill(0)
.map((_, index) => ({
name: `服务项目-${index}`,
left: randomNumber(),
right: randomNumber(),
})),
message: '操作成功',
}),
},
2025-05-12 17:12:01 +08:00
]);