Skip to content

Vue 后台调试与编译 ​

109 与 113 各有一套 Vue 后台,不共用源文件。修改 109 时只进入 d2109/admin-ui;修改 113 时只进入 d2113/admin-ui。页面标题、登录、导航和 API 网关也都在各自目录。

目录说明 ​

路径作用是否手改
src/Vue 页面、组件、路由、样式和浏览器 API 客户端是
src/views/各功能页面是
src/components/可复用组件是
src/router.ts页面路由和浏览器标题是
server.js生产 Node 网关、登录会话和反向代理谨慎修改
login.html、login.js后台登录页是
project-profile.js本项目固定版本信息不用于跨版本切换
package.json脚本与依赖声明谨慎修改
package-lock.json精确依赖版本由 npm 维护
node_modules/下载的依赖不手改、不提交
dist/编译后的静态文件不手改、由构建生成

启动 109 开发页面 ​

先确保依赖已安装。开发服务器只用于本机查看页面,不会自动修改正式服务器。

powershell
# 进入项目根目录。
Set-Location C:\D2113server
# 安装 109 后台锁定依赖;首次运行或锁文件变化后执行。
npm.cmd --prefix .\d2109\admin-ui ci
# 启动 109 Vue 开发服务器;保持窗口打开。
npm.cmd --prefix .\d2109\admin-ui run dev

终端会显示本地网址,通常是 http://localhost:5173/。按住 Ctrl 点击网址,或复制到浏览器。需要停止时回到终端按 Ctrl+C。

启动 113 开发页面 ​

不要与 109 使用同一端口。Vite 发现端口占用时会自动选择下一个端口,以终端显示的网址为准。

powershell
# 安装 113 后台锁定依赖。
npm.cmd --prefix .\d2113\admin-ui ci
# 启动 113 Vue 开发服务器;保持窗口打开。
npm.cmd --prefix .\d2113\admin-ui run dev

修改页面和标题 ​

  1. 在 VS Code 左侧打开对应版本的 src。
  2. 使用 Ctrl+Shift+F 搜索页面中已经显示的中文文字。
  3. 浏览器标签标题通常由 src/router.ts 设置。
  4. 登录页标题位于同版本的 login.html。
  5. 导航栏标题通常位于 src/components/AppShell.vue 或项目配置文件。
  6. 保存后观察浏览器是否自动刷新。

不要为了“省事”从 113 复制整个文件覆盖 109。两个版本的角色存档、任务、商品、服务能力和 API 契约不同。

使用浏览器调试 ​

在页面按 F12 打开开发者工具:

  • Console:查看 JavaScript 错误。红色内容要保存完整截图。
  • Network:查看 API 请求。点击请求可查看地址、状态码和响应。
  • Elements:查看 HTML 和 CSS,仅用于临时试验,刷新后会消失。
  • Application:查看 Cookie 和 Session Storage。退出登录测试时可清理本项目数据。

状态码含义:200 成功,400 参数错误,401 未登录,403 无权限,404 路径或代理错误,500 服务端异常,502/504 IIS ARR 无法连接后端。

测试与正式编译 ​

powershell
# 运行 109 后台测试;失败时不要部署。
npm.cmd --prefix .\d2109\admin-ui test
# 编译 109 后台;输出位于 d2109\admin-ui\dist。
npm.cmd --prefix .\d2109\admin-ui run build
# 运行 113 后台测试;失败时不要部署。
npm.cmd --prefix .\d2113\admin-ui test
# 编译 113 后台;输出位于 d2113\admin-ui\dist。
npm.cmd --prefix .\d2113\admin-ui run build

构建成功后仍要查看 git status --short。dist 和 node_modules 通常不提交;部署脚本会读取已构建产物并制作发布包。

只部署一个后台 ​

powershell
# 预演 109 后台发布;不修改服务器。
python .\scripts\d2ctl.py deploy 109b --component admin
# 正式发布 109 后台;不会修改 113 后台。
python .\scripts\d2ctl.py deploy 109b --component admin --apply
# 预演 113 后台发布;不修改服务器。
python .\scripts\d2ctl.py deploy 113c --component admin
# 正式发布 113 后台;不会启动 113 游戏服务。
python .\scripts\d2ctl.py deploy 113c --component admin --apply

正式目录分别是 D:\GM109.DIABLO2.COM.CN\admin 和 D:\GM113.DIABLO2.COM.CN\admin。部署器会保留受保护的 run-admin.cmd 密钥,使用临时目录校验后再替换,并重启对应的 D2Admin109 或 D2Admin113。

编译后验收 ​

  1. 打开 https://GM109.ZHIYESHI.CN/ 和 https://GM113.ZHIYESHI.CN/,确认不是 404。
  2. 在同一浏览器分别登录,确认 Cookie 不冲突。
  3. 确认标题和版本标识正确。
  4. 打开修改过的页面,检查电脑和手机宽度。
  5. 在 Network 中确认请求只到本版本后台,不出现公共 /api。
  6. 确认 109 后台只能控制 109,113 后台只能控制 113。
  7. 确认部署 113 后台后,113 的 BNetD、D2CS、D2DBS 和 D2GS 仍停止。

仅供 CNBN D2 服务管理与开发人员使用