一个简易的接收设备报警的服务
在同一目录下创建以下两个文件即可运行
GBAlarmServer/ ├── package.json # 项目配置文件 └── server.js # 服务端主程序代码
package.json
{
"name": "gbalarmserver",
"version": "1.0.0",
"main": "index.js",
"type": "module",
"scripts": {
"test": "echo \"Error: no test specified\" && exit 1"
},
"keywords": [],
"author": "",
"license": "ISC",
"description": "",
"dependencies": {
"express": "^5.1.0"
}
}
server.js
import express from 'express';
const app = express();
const port = 3000;
// 使用中间件解析JSON请求体
app.use(express.json());
// 基本路由
app.post('/notify', (req, res) => {
console.log(req.body);
res.end('OK');
});
// 启动服务器
app.listen(port, () => {
console.log(`服务器运行在 http://localhost:${port}`);
});
使用说明
安装项目依赖包
npm install # 安装生产依赖
运行服务
node server.js # 直接运行服务
数据释义
{
// 设备编号 - 报警源设备ID(20位国标编码)
DeviceID: '34020000001180000013',
// 通道编号 - 报警发生的视频通道ID(20位国标编码)
ChannelID: '34020000001310000002',
// 报警级别 - 表示报警的严重程度
// 1-一级(最高),2-二级,3-三级,4-四级(最低)
AlarmPriority: '4',
// 报警方式 - 触发报警的技术类型
// 1-人工报警,2-设备报警,3-视频分析报警,4-其他系统报警,5-智能分析报警
AlarmMethod: '5',
// 报警时间 - 报警发生的UTC时间
// 格式:ISO 8601扩展格式(YYYY-MM-DDThh:mm:ss)
AlarmTime: '2025-04-11T14:44:31',
// 报警类型 - 具体的报警事件分类
// 1-视频遮挡,2-移动侦测,3-视频丢失,4-输入报警,5-智能分析报警...
AlarmType: '2',
// 事件类型 - 智能分析报警的子类型(可选字段)
// 当AlarmMethod=5时使用,如:1-区域入侵,2-越线检测,3-人员聚集...
EventType: ''
}