# 网络设备管理平台 从 `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_`,文件格式则分别为 `zip`、`tar`、`tar.gz`。 ## 调试模式 在调试模式中,用户可以查看设备的原始诊断数据,也可以对轮询器进行控制,或者启用离线开发模式,系统不会自动调用一些主动触发的请求。 ### 开启调试模式 在非登录页的任意页面中,使用键盘组合键 `Ctrl+Alt+D`,系统会弹出一个输入框,输入环境变量 `.env` 中的 `VITE_DEBUG_CODE` 对应的值即可开启调试模式,如需关闭调试模式,再次使用上述组合键并点击 `确认` 按钮即可。 注意调试模式与其内部的功能之间没有联动关系,例如在开启调试模式后可以关闭轮询或者启用离线开发模式,但是在关闭调试模式后,轮询不会重新被开启,离线开发模式也不会被关闭,因此在关闭离线开发模式前,请务必确保系统处于正确的运行状态下。 ### 关于离线开发模式 由于离线开发模式涉及到登录操作,因此项目中将离线开发模式暴露到了全局变量 `window.$offlineDev` 中,允许在登录页中直接开启离线开发模式。 如果你第一次启动这个项目,系统在正常情况下会先跳转至登录页,此时如果希望开启离线模式,可以直接打开浏览器的开发者工具,在控制台输入 `window.$offlineDev.value = true` 即可,系统会直接跳转到首页。