# 现场表具指标曲线 **Repository Path**: lk-zero-carbon/plural ## Basic Information - **Project Name**: 现场表具指标曲线 - **Description**: No description available - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: main - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2026-06-25 - **Last Updated**: 2026-10-12 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # 表具曲线(meter-curves) 基于 TDengine 的表具数据可视化页面,支持按时间周期(时/日/月/年)查询并展示表具曲线,使用 ECharts 绘图,ExcelJS 支持导出。 --- ## 文件说明 | 文件 | 作用 | | --- | --- | | `meter-curves.html` | 页面入口,依赖 ECharts CDN 和 `/config.js` | | `config.js` | 前端运行时配置,挂载到 `window.TDENGINE_PAGE_ENV` | | `server.js` | Node.js 服务:静态文件 + TDengine REST 反向代理(端口 8080) | | `deploy.sh` | 一键部署脚本(备份 + 上传 HTML,需 SSH 免密登录) | | `nginx-static-tdengine.conf` | Nginx 静态站点 + TDengine 反向代理示例配置 | --- ## 本地运行 ### 方式一:Node.js 服务(推荐) 同时提供静态文件和 TDengine API 代理,开箱即用。 ```bash node server.js ``` 启动后访问: ``` http://127.0.0.1:8080/ ``` > `server.js` 会将 `/api/` 开头的请求代理到 TDengine,其余请求作为静态文件返回。 ### 方式二:Python 静态服务(仅页面) ```bash python3 -m http.server 8080 ``` 访问: ``` http://127.0.0.1:8080/meter-curves.html ``` > 注意:Python 静态服务不会代理 TDengine 接口,需另配 Nginx 反向代理才能正常查询数据。 --- ## 部署方式 一键将最新的 `meter-curves.html` 部署到远程服务器 `192.168.14.125`。 脚本会自动在远程备份当前文件(目录名格式 `backMMDD_HHMM`),然后上传新文件并校验大小。 ### 使用方法 在 **Git Bash** 中执行: ```bash bash deploy.sh ``` > 前提:本地需安装 Git for Windows,且能通过 SSH 免密登录目标服务器。若尚未配置免密登录,参考以下步骤: > > **1. 生成 SSH 密钥(如果还没有)** > > ```bash > ssh-keygen -t rsa -b 4096 > ``` > > 一路回车,会在 `~/.ssh/` 下生成 `id_rsa`(私钥)和 `id_rsa.pub`(公钥)。 > > **2. 将公钥上传到目标服务器** > > 手动将 `~/.ssh/id_rsa.pub` 的内容追加到服务器 `/root/.ssh/authorized_keys` 文件中: > > ```bash > # 在服务器上执行 > mkdir -p ~/.ssh && chmod 700 ~/.ssh > echo '<你的公钥内容>' >> ~/.ssh/authorized_keys && chmod 600 ~/.ssh/authorized_keys > ``` > > **3. 验证** > > ```bash > ssh root@192.168.14.125 > ``` > > 不再提示输入密码即配置成功。 --- ## 配置说明 编辑 `config.js` 调整运行时参数: ```js window.TDENGINE_PAGE_ENV = { browserDirect: false, proxyUrl: "/api/-/rest/sql?tz=Asia/Shanghai", username: "", password: "", database: "adw300_db", table: "stb_adw300", timeColumn: "ts", meterColumn: "tbname", meterLimit: 128, }; ``` | 参数 | 说明 | | --- | --- | | `proxyUrl` | TDengine REST 代理地址,生产环境建议使用同源反代路径 | | `username` / `password` | 浏览器侧认证,生产环境建议留空,由 Nginx 服务端注入 | | `database` | 查询数据库名 | | `table` | 查询超级表名,支持 `database.table` 格式 | | `timeColumn` | 时间列名 | | `meterColumn` | 表具编号列名 | | `meterLimit` | 每次查询的表具数量上限 |