数据中心及机房需要 7×24 小时对动力与环境进行监控,包括温湿度、配电、UPS、空调、门禁、烟感、漏水等。传统方式依赖 PC 或大屏,不便于现场巡检和移动查看。本系统以**微信小程序**为前端,与现有动环主机(C 语言后端)通过 HTTP 接口对接,实现移动端实时监控与告警处理。
点击空白处退出提示
数据中心及机房需要 7×24 小时对动力与环境进行监控,包括温湿度、配电、UPS、空调、门禁、烟感、漏水等。传统方式依赖 PC 或大屏,不便于现场巡检和移动查看。本系统以**微信小程序**为前端,与现有动环主机(C 语言后端)通过 HTTP 接口对接,实现移动端实时监控与告警处理。
- **移动化**:在手机微信内完成机房动环数据查看、告警处理,无需固定工位。
- **实时性**:首页与各监控页展示最新数据,支持下拉刷新与连接状态提示。
- **易部署**:支持在登录/设置页配置服务器地址,适配不同现场网络。
- **安全可控**:登录态校验、按用户展示,重要操作(如告警确认)需登录后执行。
系统采用 **BS(Browser-Server)架构**,前后端分离:微信小程序作为前端,动环主机上的 C 语言服务作为后端,通过 HTTP + JSON 接口通信。前端不依赖固定后端地址,支持在登录/设置页配置服务器地址,便于在不同现场部署。**配置化**:服务器地址从本地存储读取,未配置或需更换时在登录页/设置页填写并保存,所有请求统一基于该地址发起。
- **登录与鉴权**:登录成功后写入登录态与用户名到全局和本地存储;除登录页外,各业务页在 `onShow` 中校验登录态,未登录则 `reLaunch` 到登录页。
- **连接状态统一管理**:在 `app.js` 中维护 `connectionStatus`(已连接/未连接/连接中/未知)和 `lastConnectTime`,通过 `checkConnection()`、各接口请求结果及设置页的“测试连接”“重新连接”更新;页面通过回调或 `globalData` 获取状态,用 `data` 驱动展示,避免状态显示异常。
- **接口分层**:`utils/http.js` 提供通用请求能力(GET/POST、拦截器、重试、超时);`utils/api.js` 按业务模块(用户、环境、告警、UPS、空调、配电、门禁、烟感、漏水等)封装具体接口,页面只调用 `api.xxx()`,不直接写 URL。
- **页面按功能拆分**:每个功能对应一个页面目录(如 `pages/alarm/`),包含 `.js`(逻辑)、`.wxml`(结构)、`.wxss`(样式),数据在 `onLoad`/`onShow` 或下拉刷新时请求,列表类页面支持上拉加载更多。| **前端框架** | 微信小程序 | 使用微信官方小程序框架,双线程模型(逻辑层 + 渲染层)。 |
| **结构** | WXML | 页面结构,数据绑定、列表渲染、条件渲染等。 |
| **样式** | WXSS | 页面样式,支持 rpx、全局/页面样式、CSS 变量(如主题色、字号)。 |
| **逻辑** | JavaScript(ES5/ES6)| 页面与 App 逻辑,无 DOM/BOM,通过 `this.setData` 更新视图。 |
| **网络** | wx.request | 通过 `utils/http.js` 封装:统一 baseURL、请求/响应拦截器、重试、超时、错误提示。 |
| **存储** | 微信本地存储 | `wx.setStorageSync` / `wx.getStorageSync` 存储服务器地址、登录态、用户名等。 |
| **后端** | C 语言 + HTTP 服务 | 动环主机上运行的 C 程序,提供 `/ajax/*` 接口(如 `android_user_login`、`android_cabinet_realtime`、`android_distributing_realtime` 等)。 |
| **数据格式** | JSON | 前后端交互统一使用 JSON;接口返回列表/对象,前端按字段展示或分组展示。 |独立完成小程序制作




评论