Appearance
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修改页面和标题
- 在 VS Code 左侧打开对应版本的
src。 - 使用
Ctrl+Shift+F搜索页面中已经显示的中文文字。 - 浏览器标签标题通常由
src/router.ts设置。 - 登录页标题位于同版本的
login.html。 - 导航栏标题通常位于
src/components/AppShell.vue或项目配置文件。 - 保存后观察浏览器是否自动刷新。
不要为了“省事”从 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。
编译后验收
- 打开
https://GM109.ZHIYESHI.CN/和https://GM113.ZHIYESHI.CN/,确认不是 404。 - 在同一浏览器分别登录,确认 Cookie 不冲突。
- 确认标题和版本标识正确。
- 打开修改过的页面,检查电脑和手机宽度。
- 在 Network 中确认请求只到本版本后台,不出现公共
/api。 - 确认 109 后台只能控制 109,113 后台只能控制 113。
- 确认部署 113 后台后,113 的 BNetD、D2CS、D2DBS 和 D2GS 仍停止。