Files
console-dev/README.md
T
2026-11-06 00:04:38 +08:00

73 lines
4.4 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# crashwork-console 完整前端工程(源码重建版)
这是根据当前 `20261025-kky-traffic-display` 发布包重建的独立工程,不是原始源码的逐字恢复。
覆盖 52 个页面、104 个业务组件、4 套布局,包含现有图片、字体和样式。开发、构建和运行均不依赖旧发布目录。
这里交付的是整个会员中心前端,不是仅含四个改写文件的示例。已只读核对服务器当前发布版本;
模块元数据及其 735 个构建资源与重建依据一致。范围、证据与边界见 [完整项目交接说明](docs/project-completeness.md)。
原工程的模板、注释和局部变量名已在编译时丢失。多数页面恢复为可编辑的 Vue 单文件组件及渲染函数,
部分局部变量仍为短名;请求/会话核心、应用入口、鉴权、主题和图表集成已重新编写。
第二轮已将登录页、旧平台登录入口、SSH 密钥页和公共认证布局改为手写 `<script setup>` 与 `<template>`,
使用业务命名,保留原接口及样式契约;这四个文件合计净减少 863 行,未增加依赖。
这不是“所有业务均已重新设计并完成线上验收”的声明。具体验证与限制见 [验收报告](docs/validation.md)。
## 开发
需要 Node.js 22.12+ 与 npm,建议在团队中统一 Node 版本。
```sh
npm ci
cp .env.example .env
npm run dev
```
在 `.env` 设置 `NUXT_PUBLIC_API_BASE` 为后端 origin,例如 `http://127.0.0.1:8080`。
不要附加 `/console/v1`;代码会自动追加。空值表示同源,开发或部署的反向代理必须另行转发该路径。
图形验证码的 `/captcha/` 和远控的 `/remote-console/sessions`(包括 WebSocket)仍走前端同源,
必须另外配置对应后端/网关的反向代理;只设置 API origin 不会自动转发这两类请求。
前端不会替你启动后端服务、短信、验证码、支付渠道或 VNC 网关。
## 构建与验证
```sh
npm run check
npm run build
npm test
```
浏览器测试自动启动本地模拟接口与真实构建服务,并禁止访问外网。默认使用 macOS 已安装的 Chrome;
其他环境请设置 `CHROME_PATH=/absolute/path/to/chrome`。详细说明见 [测试说明](tests/README.md)。
当前离线验收为 21 项,包含短信配置与倒计时、SSH 增改删/末页恢复和旧入口失败后重试。
构建结果位于本工程的 `.output/`,不是仓库根目录的 `.output`。
```sh
NUXT_PUBLIC_API_BASE=http://127.0.0.1:8080 HOST=127.0.0.1 PORT=3000 npm run preview
```
## 源码结构
- `app/pages`、`app/layouts`、`app/components`:页面、布局和业务组件。
- `app/lib/auth.js`:会话、接口协议、请求截止时间、购买前置校验及列表缓存。
- `app/middleware/auth.global.js`:公开路由与鉴权、旧平台登录入口。
- `app/plugins`:UI、站点初始化、跨标签页会话同步。
- `app/config`:中文文案及 MIT 主题配置;图标由本地服务提供。
- `tests`:通过真实页面操作和 HTTP 边界验证的回归场景。
- `docs/module-inventory.json`:重建范围与路由清单。
- `scripts/reconstruct.mjs`:一次性导入过程的留档;不是构建步骤,拒绝覆盖已有源码。
维护源码后执行正常构建即可,不要重新运行导入器覆盖修复,也不要手工修改生成的哈希 JS 文件。
导入器仅留档用于可信的自有发布产物,不是通用归档解包器;不要给它提供第三方元数据或不可信构建输入。
Vue、Vue Router、PrimeVue、Pinia、ECharts、noVNC 等通过正式 npm 依赖引用,不携带旧框架副本。
保留的 CryptoJS AES 参数属于现有后端登录协议,不能在前后端未协商时单独修改。
## 发给员工与发布
交付本目录的源码压缩包或 Git 分支即可。员工运行 `npm ci`,配置自己的后端 origin,然后开发和验证。
不要发送 `.env`、登录凭证、数据库备份、`node_modules` 或 Git 历史;示例配置不包含秘密。
依赖包及保留静态资产应遵守各自许可证和你方资产授权。
本次没有修改线上发布指向,也没有部署。上线前应先在测试环境连接真实后端验证商品配置、验证码、
安全验证、账务、支付和 VNC 反代;现有根目录发布脚本不会自动改为构建这个新工程。
确认通过后,再按团队的版本发布/回滚流程发布本工程 `.output`,不要直接覆盖正在服务的版本。