更新记录
1.0.0(2026-08-12)
v1.0.0
- 告警看板:今日/未处理/已恢复统计、设备排行、最新告警
- 告警管理:列表筛选分页、详情、标记已处理(含备注)
- 规则配置:状态/阈值/故障码规则、多条件组合(且/或 + 区间上下限)、设备/分组绑定、防抖、离线阈值、启停
- 推送渠道:UniPush/钉钉/企业微信/短信/邮件,新增/删除/启停/连通测试
- 消息模板:自定义内容与占位符、规则级内容模板
- 接收人:多渠道接收人、按项目分组定向推送
- 统计报表:趋势、总数、CSV 导出
- 告警分发引擎:规则匹配 → 模板渲染 → 多渠道推送(钉钉/企微/UniPush)→ 落库
- 离线检测:定时触发器每分钟巡检心跳,超时自动判离线并推送
- uni-id 登录鉴权:管理端接口需登录访问,设备侧上报免登录
- 云端:iot-alert-server 云对象(真实落库)+ 6 张表 schema + uni-config-center 登录配置
- 设备侧:心跳上报、告警上报(防抖去重)、恢复上报
平台兼容性
云端兼容性
| 阿里云 | 腾讯云 | 支付宝云 |
|---|---|---|
| √ | √ | × |
uni-app x(3.8.1)
| Chrome | Chrome插件版本 | Safari | Safari插件版本 | Android | Android插件版本 | iOS | iOS插件版本 | 鸿蒙 | 微信小程序 | 微信小程序插件版本 |
|---|---|---|---|---|---|---|---|---|---|---|
| 66 | 1.0.0 | 12.2 | 1.0.0 | √ | 1.0.0 | 12 | 1.0.0 | × | 2.6.8 | 1.0.0 |
其他
| 多语言 | 暗黑模式 | 宽屏模式 |
|---|---|---|
| × | × | √ |
云函数类插件通用教程
使用云函数类插件的前提是:使用HBuilderX 2.9+
IoT 设备告警消息推送插件 · 管理端
一款面向 IoT 场景的设备告警管理与推送插件:云端 iot-alert-server 云对象负责数据存储与规则判断,配套 uni-app x 管理端页面,支持告警看板、告警列表/详情、规则配置(多条件组合)、推送渠道、消息模板、接收人、统计报表等完整能力。
功能特性
- 告警看板:今日告警数、未处理数、已恢复数、设备告警排行、最新告警流
- 告警管理:列表(状态筛选/分页)、详情、标记已处理(含备注)
- 规则配置:离线/上线状态规则、阈值规则(且/或多条件组合、区间上下限)、故障码规则;支持绑定设备/分组、防抖间隔、启停开关
- 推送渠道:UniPush / 钉钉 / 企业微信 / 短信 / 邮件,支持新增、删除、启停、连通性测试
- 消息模板:自定义推送内容,支持
{deviceId}{deviceName}{status}{time}{project}{content}{level}占位符 - 接收人:按渠道配置接收人,支持按项目分组定向推送
- 统计报表:近 7/30/90 天告警趋势、总数统计、CSV 导出
云端配套
本插件需要搭配 uniCloud 云对象 iot-alert-server 使用,插件包内已包含:
uniCloud/cloudfunctions/iot-alert-server/— 云对象(含告警规则、设备心跳、告警上报/恢复、渠道/模板/接收人 CRUD、统计报表等 20+ 方法)uniCloud/database/*.schema.json— 6 张数据表结构(iot_device / iot_alert_rule / iot_alert_log / iot_channel / iot_recipient / iot_template)
使用步骤
- 导入插件:将
uni_modules/iot-alert-admin目录放入项目uni_modules下。HBuilderX 会自动将插件内uniCloud/内容(云对象 + schema)以引用方式合并到项目根目录的uniCloud-aliyun(或uniCloud-tcb) - 关联服务空间:项目根目录
uniCloud-aliyun(或uniCloud-tcb)右键 → 关联云服务空间 - 上传 schema:在项目根
uniCloud-aliyun/database下选中 6 个 schema 文件 → 右键上传(或 uniCloud 控制台「数据库 → schema」上传) - 上传云对象:项目根
uniCloud-aliyun/cloudfunctions下选中iot-alert-server→ 右键上传部署(依赖uni-id-common、uni-config-center公共模块会自动一并部署) 4.1 配置 uni-id 登录:在项目uniCloud-aliyun/cloudfunctions/common/uni-config-center/uni-id/下新建config.json,写入 tokenSecret(必填,请使用自己的随机字符串):{ "tokenSecret": "your-random-32-char-secret", "tokenExpiresIn": 2592000, "passwordErrorMaxTimes": 5 }然后右键上传公共模块
uni-config-center - 定时触发器已内置:云函数
package.json已配置每分钟定时触发(cloudfunction-config.triggers),上传云对象后自动生效。云端会定时调用云对象内置_timing方法 → 内部执行scanOfflineDevices离线巡检。若需调整频率,可修改 package.json 中config的 cron 表达式后重新上传:- 阿里云(忽略年份位):
0 * * * * *(每分钟) - 腾讯云(7 位):
0 * * * * * *(每分钟)
- 阿里云(忽略年份位):
- 注册页面:插件内
pages_init.json会在导入时自动合并页面路由到项目pages.json(无需手动配置) - 设置启动页:在项目
pages.json的pages数组第一位添加管理端首页,例如:{ "path": "uni_modules/iot-alert-admin/pages/index/index", "style": { "navigationBarTitleText": "告警看板" } } - 运行管理端:编译运行项目,进入告警管理各页面
说明:若项目已存在同名
uniCloud-aliyun目录,HBuilderX 会自动合并插件内 uniCloud 内容;若导入后未出现iot-alert-server,请在 HBuilderX 中重新加载项目。
设备接入
设备侧(MQTT/边缘网关)可调用云对象上报入口:
reportHeartbeat()— 心跳上报(自动维护设备在线状态,供离线检测使用)reportAlert()— 主动上报告警(规则匹配 → 模板渲染 → 多渠道推送,内置防抖去重)recoverAlert()— 告警恢复上报scanOfflineDevices()— 离线巡检(由定时触发器每分钟触发,经_timing入口自动调用,判定心跳超时设备离线并自动建单推送)
告警分发链路
设备上报 → 命中规则(阈值/故障码/状态)→ 渲染消息模板 → 按渠道分发:
- 钉钉机器人:POST webhook,text 消息
- 企业微信机器人:POST webhook,text 消息
- UniPush:uni-push2 服务端推送
- 短信 / 邮件:预留渠道(需配置 webhook 或专业版支持)
分发结果(渠道名、接收人、失败原因)会写回告警日志,管理端「告警详情」可查看。
权限与安全
- 默认所有 schema 为「客户端只读」(告警日志、设备表允许创建),管理端增删改均通过云对象服务端执行,不受 schema 权限限制
- 管理端接口已启用 uni-id 登录鉴权(
AUTH_ENABLED=true):看板、规则、渠道、接收人、模板、统计等接口需登录后访问,未登录返回"未登录或登录态已失效" - 设备侧上报接口免登录:
reportHeartbeat/reportAlert/recoverAlert/scanOfflineDevices自动放行(设备无用户账号),可放心对接 MQTT/边缘网关 - 登录页接入:管理端需登录后才能使用,请安装登录组件:
- 插件市场安装 uni-id-pages-x(含登录/注册页 + uni-id-co 云对象)
- 部署
uni-id-co云对象,并在uni-config-center/uni-id/config.json配置登录参数(参照上方步骤 4.1,tokenSecret请使用自己的随机值) - 客户端登录后 token 由 uniCloud SDK 自动携带,管理端各页面即可正常访问
平台兼容
- uni-app x:App(Android / iOS)、Web、微信小程序
- 云端:阿里云 / 腾讯云 uniCloud 服务空间
更新日志
详见 changelog.md

收藏人数:
购买源码授权版(
导入插件并试用
赞赏(0)
下载 16
赞赏 0
下载 34910
赞赏 159
赞赏
京公网安备:11010802035340号