- 优化 `车站-设备-告警` 轮询机制 - 改进设备卡片的布局 - 支持修改设备 - 告警轮询中获取完整告警数据 - 车站告警详情支持导出完整的 `今日告警列表` - 支持将状态持久化到 `IndexedDB` - 新增轮询控制 (调试模式) - 新增离线开发模式 (调试模式) - 新增 `IndexedDB` 数据控制 (调试模式)
58 lines
3.1 KiB
Markdown
58 lines
3.1 KiB
Markdown
# 网络设备管理平台
|
||
|
||
从 `ndm-web-client` 项目重构而来,包含升级依赖库、目录结构调整、轮询机制优化、enum重构、持久化方案改进等大型变更,因此重新命名为 `ndm-web-platform`。
|
||
|
||
## 安装依赖
|
||
|
||
```bash
|
||
pnpm install
|
||
```
|
||
|
||
### `vite` 代理配置
|
||
|
||
在 `vite.config.ts` 中,已经配置了4号线和10号线的代理,并启用了10号线的 `/api` 和 `/minio` 请求代理。
|
||
|
||
需要注意 `ProxyItem` 类型中的 `rewrite` 字段,它用于配置请求路径的重写规则。
|
||
|
||
例如有这样一个 `ProxyItem` 配置:
|
||
|
||
```typescript
|
||
{ key: '/1001/api', target: 'http://10.18.129.10:18760', rewrite: ['/1001/api', '/api'] }
|
||
```
|
||
|
||
此时如果我们发送一个请求到路径为 `/1001/api/ndm/ndmCamera/page` 的接口,则会命中 `vite` 的代理配置,将请求代理到 `http://10.18.129.10:18760` 上。
|
||
|
||
而 `vite` 的默认行为会将 `target` 和 `key` 拼接起来,即完整的请求路径是 `http://10.18.129.10:18760/1001/api/ndm/ndmCamera/page`,但是我们配置了 `rewrite` 规则,那么 `vite` 会将请求路径中的 `/1001/api` 替换为 `/api`,即最终的请求路径是 `http://10.18.129.10:18760/api/ndm/ndmCamera/page`。
|
||
|
||
因此,在克隆该项目后,需要根据实际情况修改 `vite.config.ts` 中的代理配置,并将 `target` 和 `key` 替换为实际的目标地址和路径前缀。
|
||
|
||
## 启动项目
|
||
|
||
```bash
|
||
pnpm dev
|
||
```
|
||
|
||
## 构建项目
|
||
|
||
```bash
|
||
pnpm build
|
||
```
|
||
|
||
在执行 `pnpm build` 之前,你可以在 `package.json` 中修改 `version` 字段,将其设置为你期望的版本号,构建完成后,项目的根目录中除了 `dist` 目录外,还会生成三个压缩包,文件名的格式统一为 `ndm-web-platform_v<version>_<datetime>`,文件格式则分别为 `zip`、`tar`、`tar.gz`。
|
||
|
||
## 调试模式
|
||
|
||
在调试模式中,用户可以查看设备的原始诊断数据,也可以对轮询器进行控制,或者启用离线开发模式,系统不会自动调用一些主动触发的请求。
|
||
|
||
### 开启调试模式
|
||
|
||
在非登录页的任意页面中,使用键盘组合键 `Ctrl+Alt+D`,系统会弹出一个输入框,输入环境变量 `.env` 中的 `VITE_DEBUG_CODE` 对应的值即可开启调试模式,如需关闭调试模式,再次使用上述组合键并点击 `确认` 按钮即可。
|
||
|
||
注意调试模式与其内部的功能之间没有联动关系,例如在开启调试模式后可以关闭轮询或者启用离线开发模式,但是在关闭调试模式后,轮询不会重新被开启,离线开发模式也不会被关闭,因此在关闭离线开发模式前,请务必确保系统处于正确的运行状态下。
|
||
|
||
### 关于离线开发模式
|
||
|
||
由于离线开发模式涉及到登录操作,因此项目中将离线开发模式暴露到了全局变量 `window.$offlineDev` 中,允许在登录页中直接开启离线开发模式。
|
||
|
||
如果你第一次启动这个项目,系统在正常情况下会先跳转至登录页,此时如果希望开启离线模式,可以直接打开浏览器的开发者工具,在控制台输入 `window.$offlineDev.value = true` 即可,系统会直接跳转到首页。
|