shiran
|
765f925482
|
feat(admin): 主机组映射展示全部主控并展开加载主机组
Build and Deploy Vue3 / build (push) Successful in 1m23s
Build and Deploy Vue3 / deploy (push) Successful in 30s
主机组映射页改为卡片列表展示所有主控服务,展开后按需请求主机组;套餐管理增加必填参数未配置提醒。
Co-authored-by: Cursor <cursoragent@cursor.com>
|
2026-05-25 18:31:56 +08:00 |
|
shiran
|
9974a82ac8
|
chore(ci): 构建产物改为dist.tar.gz部署(上传单包+远程解压),测试部署前ssh mkdir,生产ssh-keyscan前置到Set up SSH
Build and Deploy Vue3 / build (push) Successful in 1m33s
Build and Deploy Vue3 / deploy (push) Successful in 29s
Co-authored-by: Cursor <cursoragent@cursor.com>
|
2026-05-22 16:18:44 +08:00 |
|
shiran
|
61d777af8e
|
chore(ci): 部署目标合并为单服务器变量WEB_SERVICE_SERVER_IP,部署路径改为/home/www/web-online/admin.007yjs.com/
Build and Deploy Vue3 / build (push) Successful in 1m37s
Build and Deploy Vue3 / deploy (push) Successful in 1m21s
Co-authored-by: Cursor <cursoragent@cursor.com>
|
2026-05-22 15:35:41 +08:00 |
|
shiran
|
a443e4f147
|
feat(admin): KSM内存去重管理+监控图表增强+额度统计UI重构+流量管理合并 -- 缘由: 后端新增KSM状态/配置接口,监控数据改为绝对值,额度统计需可视化 -- 预期: HostDetail支持KSM查看/启停/调参,内存图表改为绝对值+磁盘IOPS图+流量趋势图,额度统计改为环形进度卡片,流量策略与统计合并为流量管理tab,订单代金券改为非必填,VmManage显示累计流量
Build and Deploy Vue3 / build (push) Failing after 48s
Build and Deploy Vue3 / deploy (push) Has been skipped
Co-authored-by: Cursor <cursoragent@cursor.com>
|
2026-05-20 16:41:00 +08:00 |
|
shiran
|
a5f8a9ef13
|
feat(admin+user): 虚拟机断网/恢复网络+每小时流量图表+宿主机额度统计 -- 缘由: 后端新增disconnect/connect_network,traffic_hourly,quota_stats接口,VM新增network_disabled字段 -- 预期: VmDetail/UserVmDetail/用户详情支持断网恢复操作并显示断网状态,VmDetail新增流量统计tab,HostDetail新增额度统计tab
Co-authored-by: Cursor <cursoragent@cursor.com>
|
2026-05-15 16:29:18 +08:00 |
|
shiran
|
564e6cc017
|
feat(admin/vm-network): 网络列表增加is_primary主IP标识+设为主IP+重置MAC地址 -- 缘由: 后端新增network/set_primary和vm/reset_mac接口 -- 预期: VmDetail与UserVmDetail网络列表显示主IP标签,非主IP行有设为主IP按钮,更多菜单增加重置MAC地址
Co-authored-by: Cursor <cursoragent@cursor.com>
|
2026-05-15 10:59:45 +08:00 |
|
shiran
|
98678859cb
|
fix(admin/host): 硬盘IO限制带宽字段改为动态单位选择(B/s~GB/s), 带宽与IOPS分组渲染修复标签溢出 -- 缘由: 带宽字段直接展示bytes原始值且标签过长导致换行错乱 -- 预期: 带宽字段参照内存/磁盘方式通过下拉选择单位(默认MB/s), IOPS独立分组, 标签简化为读取/写入/突发读取/突发写入
Co-authored-by: Cursor <cursoragent@cursor.com>
|
2026-05-14 13:20:32 +08:00 |
|
shiran
|
dc63020943
|
feat(admin/host): 宿主机表单与详情增加硬盘IO限制8字段(可折叠动态展示) -- 缘由: 后端新增 read/write_bytes_sec, read/write_iops_sec 及突发对应字段 -- 预期: HostManage/HostDetail/HostTreeManage 的新增/编辑/令牌表单含可折叠IO参数区, 详情页可展开查看IO限制值
Co-authored-by: Cursor <cursoragent@cursor.com>
|
2026-05-14 13:00:26 +08:00 |
|
shiran
|
59c5d16082
|
feat(admin/product): 商品表单与列表增加 sold_out 售罄字段 -- 缘由: 后端新增 sold_out 布尔字段, 管理员可手动设置商品售罄状态 -- 预期: 商品创建/编辑表单含售罄开关, 列表显示售罄/在售标签
Co-authored-by: Cursor <cursoragent@cursor.com>
|
2026-05-13 16:44:00 +08:00 |
|
shiran
|
ea571563e0
|
fix(admin): 安全组选择器新增成功未关弹框 + 概览vCPU/带宽合并布局
缘由:
1) UserVmSecurityGroupSelector 中新增安全组成功后,若后端返回码非严格 200
则 showCreate 不会置 false、列表不会刷新、无成功反馈。
2) /user-goods/vm-detail 概览第一行 vCPU、内存、下行带宽、上行带宽 各占一格,
需求要求 vCPU+内存 合并为一格、上行+下行带宽 合并为一格并加编辑按钮。
修改:
- UserVmSecurityGroupSelector.vue submitCreate:响应码判断放宽为 200/201/2xx;
catch 块提取 e.response.data.message 作更精确的错误信息。
- UserVmDetail.vue config-row 第一行:vCPU/内存 合并为「vCPU / 内存」单格;
带宽合并为「带宽 ↓ / ↑」单格并内嵌修改按钮(handleMoreCmd('updateTraffic'));
原第二行重复的用户名/远程端口 cell 移至第一行,外网IP/内网IP 独占第二行。
预期:
- 安全组选择器中新增安全组后弹框关闭、列表刷新、显示成功消息。
- 概览第一行信息密度提升,带宽格可一键触发修改带宽弹框。
测试:admin_dashboard_pc 本地 HMR 通过,无编译/lint 报错。
安全组新增接口联调需在有后端环境下验证实际 response code。
Co-authored-by: Cursor <cursoragent@cursor.com>
|
2026-05-13 16:27:52 +08:00 |
|
shiran
|
e38ea4cc32
|
feat(admin/vm): 流量概览展示新字段 + 修改入口改挂 traffic_policy 接口
缘由:上次(802eaa3)我把概览"流量上限"的"修改"按钮挂到旧 update_traffic 接口
(兼容字段 traffic_max),与 docs/2026.05.08.12.37-add.json 中真正的流量策略接口
(traffic_policy/update + add_fixed + add_temporary)路径错位;同时 vm 详情返回
已新增 traffic_max_mb / temporary_traffic_mb / temporary_cycle_start / traffic_used /
traffic_exhausted_rx_mbps / traffic_exhausted_tx_mbps 等字段,概览未体现。
修改:
- UserVmDetail.vue & VmDetail.vue 概览将"流量上限"单值 cell 改为分段展示:
主行 已用/总量;副行 基础 + 临时(含周期起始日期);按钮组「修改」「加临时」。
- 主行/副行字段来源 add.json 新字段,旧 traffic_max 仅作 fallback。
- 「修改」按钮改挂 openTrafficPolicyDialog / openVmTrafficPolicyDialog
(对应 user_vm/traffic_policy/update 与 host_service/point/vm/traffic_policy/update);
「加临时」直达 openAddTrafficDialog('temporary') / openVmAddTrafficDialog('temporary')。
- openTrafficPolicyDialog / openVmTrafficPolicyDialog 增加 vm / detail 字段 fallback,
并在 trafficPolicy 未加载时异步触发 loadTrafficPolicy,避免懒加载导致初值全 0。
- 新增 formatTrafficMb helper(VmDetail.vue)处理 MB 自适应单位、对 0 友好输出。
- 新增 .traffic-cell 系列样式。
预期:
- 详情概览能直接看到 总/已用/基础/临时/周期 五个关键信息。
- 概览"修改"走 add.json 中的新流量策略接口,与"流量策略" tab 行为一致。
- 旧 dropdown 中"修改带宽"路径保留(不删除),用于纯带宽场景。
未测试:admin_dashboard_pc 本地 HMR 已更新,无编译/控制台报错。新流量策略接口与
真实 vm.value 字段填充尚需联调验证(特别是 traffic_used 单位假设为 MB,若实际为
字节需调整 formatTraffic / detailTrafficUsedMb 的换算)。
Co-authored-by: Cursor <cursoragent@cursor.com>
|
2026-05-13 11:10:17 +08:00 |
|
shiran
|
0dcce0822d
|
fix(admin/user-vm): 流量上限修改按钮回调名修正为 handleMoreCmd
缘由:上一次提交(802eaa3)在 UserVmDetail.vue 流量上限单元格内追加的"修改"按钮误用了不存在的 handleCommand,点击时报 _ctx.handleCommand is not a function。该文件中触发 updateTraffic 的实际函数名为 handleMoreCmd(行 1329),dropdown 的 @command 也是绑到该函数。
修改:仅将 132 行附近的 @click="handleCommand('updateTraffic')" 改为 @click="handleMoreCmd('updateTraffic')"。
预期:流量上限单元格的"修改"按钮可正常触发 trafficVisible 弹窗,与 dropdown "修改带宽"行为一致。
测试:admin_dashboard_pc 本地 dev 已 HMR 更新,未见编译/控制台报错。VmDetail.vue 同名样式与按钮独立、不受影响。
Co-authored-by: Cursor <cursoragent@cursor.com>
|
2026-05-12 17:12:44 +08:00 |
|
shiran
|
802eaa396b
|
feat(admin/user-vm): 流量上限展示加修改入口、网络tab加删除网络操作
缘由:
1) 虚拟机详情页(UserVmDetail.vue / VmDetail.vue)中"流量上限"原仅展示无修改入口,对应 docs/2026.05.08.12.37-update.json 中 update_traffic 接口已支持 traffic_max + traffic_exhausted_rx/tx_mbps 修改,但用户需从"更多 dropdown"绕一道才能到达。
2) /user-goods/vm-detail 网络管理 tab 缺少"删除网络"操作。
修改:
- UserVmDetail.vue:流量上限单元格内追加"修改"小按钮,复用既有 updateTraffic 弹窗(已覆盖 update_traffic 全部新字段,不动接口逻辑);网络表格新增"操作"列+删除按钮,调用 host_service/point/network/delete;row 上若缺 service_id/host_id 用 getUserVmNetworkDetail 反查兜底,仍取不到则提示并阻止;二次确认弹窗明示该操作会影响所有绑定该网络的虚拟机。
- VmDetail.vue:流量上限单元格内追加"修改"小按钮,复用 handleUpdateTraffic(host_service/point/vm/update_traffic)。
预期:
- 详情页用户在"流量上限"位置可一键进入修改弹窗,无需走 dropdown。
- vm-detail 网络tab 表格每行可触发"删除网络"流程,含强提示与兜底取值。
- 不引入新依赖;trafficVisible 弹窗保持向 docs 字段对齐;UI 微调仅限新增样式 .cfg-edit-btn 与一列操作列。
未测试:未在 admin_dashboard_pc 本地 dev 验证(终端仅运行 user_dashboard_pc),需联调 update_traffic 与 point/network/delete 实际返回。
Co-authored-by: Cursor <cursoragent@cursor.com>
|
2026-05-12 17:09:23 +08:00 |
|
shiran
|
3d783cd224
|
fix(order): 新增/编辑订单提交时 price/renew_price 由"分"换算为"元"
缘由:
后端 /api/v1/admin/order/create 与 /api/v1/admin/order/update 入参单位由"分"改为
"元"(用户 2026-05-12 确认两端都已生效)。前端列表与表单内部仍按"分"持有,提交时未
做换算,导致表单里的 9900(分)被后端当作 9900 元入库 = 990000 分,下次列表读取后
表现为"价格额外 *100"。
改动:
- src/views/order/OrderList.vue:submitForm 构造 submitData 时把 price 与 renew_price
统一 /100,create 与 update 路径共享。输入框旁的"分"单位文案暂不改(用户明确仅
要求 /100),UI 一致性问题(列表显示元、弹窗输入分)作为另一个 issue 留待后续。
预期:
- 编辑订单不改价直接保存:原 9900 分 → 提交 99 元 → 入库 9900 分(一致,修复前会
入成 990000 分)。
- 编辑订单改价:用户在"分"单位输入框填 12000 → 提交 120 元 → 入库 12000 分。
- 新增订单:同上链路一致。
测试:未脚本化。建议人工核对一次"编辑→不改→保存→列表金额无变化"作为最低验收。
Co-authored-by: Cursor <cursoragent@cursor.com>
|
2026-05-12 16:29:34 +08:00 |
|
shiran
|
7394afb83f
|
chore(admin): 站点图标改用 logo.ico,与 user_dashboard 统一
Build and Deploy Vue3 / build (push) Successful in 1m31s
Build and Deploy Vue3 / deploy (push) Successful in 1m17s
缘由:
用户 2026-05-11 要求三个前端项目使用同一 logo 图标,源文件位于
ApiServer-Web-user_dashboard_pc/public/logo.ico。
admin 原本只有 public/logo.svg(491 字节),需要新增 logo.ico 并切换 link。
修改:
- public/logo.ico (new):
从 user_dashboard_pc/public/logo.ico 拷贝同源副本(267,837 字节)。
- index.html L5:
<link rel="icon" type="image/svg+xml" href="/logo.svg" />
→ <link rel="icon" type="image/x-icon" href="/logo.ico" />
原 logo.svg 保留未删(用户未要求清理,避免越权)。
预期:
- 浏览器标签页 favicon 与 user_dashboard、home 三端统一。
- Vite 静态资源走 public/ 路径,重启 dev / 强制刷新即可生效。
测试:
- 仅文件 + link 改动,lint 通过,未做运行时复现。请用户重启 vite dev / 强制刷新观察。
Co-authored-by: Cursor <cursoragent@cursor.com>
|
2026-05-11 16:33:50 +08:00 |
|
shiran
|
c43d1978a8
|
feat: 虚拟机流量精细化控制接入(接口新增,待联调)
Build and Deploy Vue3 / build (push) Successful in 1m37s
Build and Deploy Vue3 / deploy (push) Successful in 1m16s
1. userVm.js/kvmService.js 新增 traffic_policy 系列 API(GET/update/add_fixed/add_temporary)
2. UserVmList.vue/VmManage.vue 创建表单新增 traffic_max、traffic_exhausted_rx/tx_mbps 三个可选字段
3. UserVmDetail.vue/VmDetail.vue 修改带宽表单新增耗尽限速字段,并各增加流量策略 Tab(展示+修改策略+增加固定/临时流量)
Co-authored-by: Cursor <cursoragent@cursor.com>
|
2026-05-08 15:10:44 +08:00 |
|
shiran
|
475c62aefc
|
feat: 添加用户ID和订单ID链接跳转功能
Build and Deploy Vue3 / build (push) Successful in 1m30s
Build and Deploy Vue3 / deploy (push) Successful in 1m15s
- 在团购活动页面中为用户ID添加点击跳转到用户详情的功能
- 在团购管理页面中为用户ID添加点击跳转到用户详情的功能
- 在审核相关页面中为容器ID添加点击跳转到容器详情的功能
- 在营销相关页面中为用户ID和订单ID添加点击跳转功能
- 在订单列表页面中为用户ID和商品ID添加点击跳转功能
- 在商品列表页面中为用户和商品添加点击跳转功能
- 在工单列表页面中为用户名添加点击跳转到用户详情的功能
- 在用户虚拟机列表中为商品和用户添加点击跳转功能
- 在用户余额页面中为支付订单ID添加点击跳转到订单详情的功能
- 统一使用el-link组件实现可点击的链接样式
- 添加useRouter依赖并创建router实例用于页面跳转
|
2026-04-24 18:06:29 +08:00 |
|
shiran
|
c0daa6ed11
|
docs(readme): 更新文档说明
Build and Deploy Vue3 / build (push) Successful in 1m29s
Build and Deploy Vue3 / deploy (push) Successful in 1m14s
- 添加项目使用指南
- 完善API接口描述
- 修正错误的配置示例
|
2026-04-23 17:43:31 +08:00 |
|
lin
|
2e073c2b87
|
fix: 优化顶部标签页的滚动条
Build and Deploy Vue3 / build (push) Successful in 1m32s
Build and Deploy Vue3 / deploy (push) Successful in 1m13s
|
2026-04-21 15:16:32 +08:00 |
|
lin
|
13248468d3
|
fix: 用户虚拟机详情跳转参数问题
Build and Deploy Vue3 / build (push) Successful in 1m26s
Build and Deploy Vue3 / deploy (push) Successful in 1m17s
|
2026-04-21 14:13:31 +08:00 |
|
lin
|
ab7a8d5cfa
|
fix: 用户余额管理页面添加返回按钮
Build and Deploy Vue3 / build (push) Successful in 1m24s
Build and Deploy Vue3 / deploy (push) Successful in 1m13s
|
2026-04-20 16:08:11 +08:00 |
|
lin
|
64d40cbbbf
|
fix: 修改头像预览问题
Build and Deploy Vue3 / build (push) Successful in 1m25s
Build and Deploy Vue3 / deploy (push) Successful in 1m18s
|
2026-04-20 16:04:47 +08:00 |
|
lin
|
d72a4f804e
|
fix: 右侧记录栏添加已购商品
Build and Deploy Vue3 / build (push) Successful in 2m21s
Build and Deploy Vue3 / deploy (push) Successful in 1m12s
|
2026-04-20 11:32:14 +08:00 |
|
lin
|
8b2251ef97
|
feat: 增加菜单管理
Build and Deploy Vue3 / build (push) Successful in 1m26s
Build and Deploy Vue3 / deploy (push) Successful in 1m15s
|
2026-04-18 16:24:57 +08:00 |
|
lin
|
2916c04ba5
|
fix: 参数范围值修改
Build and Deploy Vue3 / build (push) Successful in 1m26s
Build and Deploy Vue3 / deploy (push) Successful in 1m28s
|
2026-04-17 19:27:25 +08:00 |
|
lin
|
c7245cec67
|
fix: 用户商品模块
Build and Deploy Vue3 / build (push) Successful in 1m34s
Build and Deploy Vue3 / deploy (push) Successful in 1m10s
|
2026-04-16 15:43:08 +08:00 |
|
lin
|
985412c3bc
|
fix: 虚拟机模块
Build and Deploy Vue3 / build (push) Successful in 1m26s
Build and Deploy Vue3 / deploy (push) Successful in 3m5s
|
2026-04-16 13:22:39 +08:00 |
|
lin
|
f53f63e679
|
fix: 虚拟机详情监控模块
Build and Deploy Vue3 / build (push) Successful in 1m30s
Build and Deploy Vue3 / deploy (push) Successful in 17m15s
|
2026-04-15 18:38:08 +08:00 |
|
lin
|
cae1f847e4
|
fix: 网络模块
Build and Deploy Vue3 / build (push) Successful in 1m59s
Build and Deploy Vue3 / deploy (push) Successful in 1m21s
|
2026-04-15 16:46:28 +08:00 |
|
lin
|
5428f01cdf
|
fix: 虚拟化平台模块
Build and Deploy Vue3 / build (push) Successful in 2m40s
Build and Deploy Vue3 / deploy (push) Has been cancelled
|
2026-04-15 16:41:06 +08:00 |
|
lin
|
7652b290b0
|
fix: 虚拟机模块
Build and Deploy Vue3 / build (push) Successful in 1m58s
Build and Deploy Vue3 / deploy (push) Successful in 1m13s
|
2026-04-15 16:35:41 +08:00 |
|
lin
|
cf188bb94a
|
fix: 数据迁移模块
Build and Deploy Vue3 / build (push) Successful in 1m30s
Build and Deploy Vue3 / deploy (push) Successful in 1m5s
|
2026-04-15 16:18:15 +08:00 |
|
lin
|
b3ed406f84
|
fix: 提交修改
Build and Deploy Vue3 / build (push) Successful in 1m31s
Build and Deploy Vue3 / deploy (push) Successful in 1m9s
|
2026-04-15 16:02:36 +08:00 |
|
lin
|
2f06aa9f5f
|
style: 优化布局和交互(Loading/空状态/骨架屏)
Build and Deploy Vue3 / build (push) Successful in 1m51s
Build and Deploy Vue3 / deploy (push) Successful in 1m15s
|
2026-04-07 16:51:12 +08:00 |
|
lin
|
f0e89695f4
|
fix: 修改新增用户商品的配置项逻辑
Build and Deploy Vue3 / build (push) Successful in 4m9s
Build and Deploy Vue3 / deploy (push) Successful in 1m3s
|
2026-04-06 18:44:11 +08:00 |
|
lin
|
c07e09c151
|
feat: 添加用户虚拟机商品管理
Build and Deploy Vue3 / build (push) Successful in 1m40s
Build and Deploy Vue3 / deploy (push) Successful in 1m8s
|
2026-03-31 15:13:04 +08:00 |
|
lin
|
71d3605f4f
|
fix: 虚拟机添加强制操作
Build and Deploy Vue3 / build (push) Successful in 1m26s
Build and Deploy Vue3 / deploy (push) Successful in 1m3s
|
2026-03-26 17:20:00 +08:00 |
|
lin
|
b7e806cc80
|
fix: 创建数据卷的系统卷展示选择镜像
Build and Deploy Vue3 / build (push) Successful in 6m0s
Build and Deploy Vue3 / deploy (push) Successful in 58s
|
2026-03-26 17:06:12 +08:00 |
|
lin
|
1a4587f893
|
fix: 重构虚拟机内网外网参数设置选择网络
Build and Deploy Vue3 / build (push) Successful in 1m28s
Build and Deploy Vue3 / deploy (push) Successful in 1m1s
|
2026-03-26 16:36:25 +08:00 |
|
lin
|
40a5e486a6
|
feat: 对接用户组网管理
Build and Deploy Vue3 / build (push) Successful in 1m43s
Build and Deploy Vue3 / deploy (push) Successful in 1m7s
|
2026-03-24 18:57:52 +08:00 |
|
lin
|
3357566b02
|
fex: 样式修改
Build and Deploy Vue3 / build (push) Successful in 1m39s
Build and Deploy Vue3 / deploy (push) Successful in 1m0s
|
2026-03-21 19:07:04 +08:00 |
|
lin
|
25d782b050
|
feat: 将页面添加分页
Build and Deploy Vue3 / build (push) Successful in 1m35s
Build and Deploy Vue3 / deploy (push) Successful in 1m5s
|
2026-03-21 17:37:06 +08:00 |
|
lin
|
9edb59d16e
|
fix: 修改内存的基础单位为kb
Build and Deploy Vue3 / build (push) Successful in 2m38s
Build and Deploy Vue3 / deploy (push) Successful in 1m3s
|
2026-03-21 15:25:38 +08:00 |
|
lin
|
cf19956b88
|
feat: 对接虚拟化平台管理
Build and Deploy Vue3 / build (push) Successful in 1m22s
Build and Deploy Vue3 / deploy (push) Successful in 1m2s
|
2026-03-19 18:13:24 +08:00 |
|
lin
|
cd16ec17ae
|
feat: 新增移动端配置信息
Build and Deploy Vue3 / build (push) Successful in 1m33s
Build and Deploy Vue3 / deploy (push) Successful in 1m15s
|
2026-03-17 18:40:12 +08:00 |
|
lin
|
f4dbf17ce9
|
feat: 对接主控服务接口
Build and Deploy Vue3 / build (push) Successful in 2m29s
Build and Deploy Vue3 / deploy (push) Successful in 1m3s
|
2026-03-14 15:45:07 +08:00 |
|
lin
|
25975c8b29
|
feat: 对接宿主机组映射管理
Build and Deploy Vue3 / build (push) Successful in 1m20s
Build and Deploy Vue3 / deploy (push) Successful in 1m0s
|
2026-03-13 17:33:02 +08:00 |
|
lin
|
d650bfeb61
|
style: 对商品管理页面进行名称样式修改
Build and Deploy Vue3 / build (push) Successful in 1m15s
Build and Deploy Vue3 / deploy (push) Successful in 54s
|
2026-03-13 14:07:09 +08:00 |
|
lin
|
3e751d4c42
|
style: 修改值字段的文字展示样式
Build and Deploy Vue3 / build (push) Successful in 1m18s
Build and Deploy Vue3 / deploy (push) Successful in 56s
|
2026-03-11 18:58:01 +08:00 |
|
lin
|
193db5735f
|
feat: 相近字排序
Build and Deploy Vue3 / build (push) Successful in 1m21s
Build and Deploy Vue3 / deploy (push) Successful in 56s
|
2026-03-11 16:55:17 +08:00 |
|