Commit Graph
91 Commits
Author SHA1 Message Date
Henry_Du 3d38e16917 style(web): 清理多余的状态显示并优化刷新按钮
1. 全局移除了所有页面顶部的 \jr-top-status\ (服务器状态检测) 和 \jr-admin-header-pill\ (服务器在线标签)。
2. 将 /admin 控制台顶部的「刷新视图」按钮优化为次要按钮样式(白底边框),使其不喧宾夺主。
2026-08-08 10:19:00 +08:00
Henry_Du 3d7fa994ae feat(web): 站点编辑支持修改所属线路及编号级联更新
1. 在“站点编辑”弹窗中新增了“所属线路”的多选组件。现在可以在编辑站名和换乘时,一并把该站添加到新线路或从现有线路中移除了。
2. 重构了 saveStationSettings,不仅保存站点本身信息,还会对比前后的线路差异(增加、删除或站点编号变更),并自动调用 updateLineStations 接口保存,确保“站点管理”里的操作能实时反映到“线路规划”的可视化拓扑图中。
2026-08-08 10:08:40 +08:00
Henry_Du fa51aad3a7 fix(web): 统一UI规范并移除多余菜单
1. 从 /admin 侧边栏彻底移除了多余的“站点管理”导航项和对应的引导页,统一仅在 /route 中维护。
2. 修复了 ticket-route.js 中添加、编辑、删除站点后列表不同步的问题,通过补充 await fetchData() 实现实时更新。
3. 更新 style.css 将所有 button 和 .btn 的 border-radius 设置为 0 !important,统一取消所有按钮圆角。
2026-08-08 09:51:14 +08:00
Henry_Du 9cc3aba5e9 fix(web/route): 修复站点管理无法编辑的问题 2026-08-08 09:38:44 +08:00
Henry_Du cdf2c39220 fix(web): 彻底清理车票详情弹窗并统一后台导航
1. 在 /route 页面中彻底移除了遗留的 \showTicketModal\ 车票详情弹窗 HTML 代码,解决页面刷新时偶发的乱码闪烁问题。
2. 在 /admin (index.html) 的左侧边栏补齐了「站点管理」导航入口。
3. 为了保证体验一致性,当用户在 /admin 点击「站点管理」时,会显示一个友好的迁移引导页,引导用户跳转到更专业的 /route 线路规划后台进行站点编辑。
2026-08-08 00:07:53 +08:00
Henry_Du 7e0a114635 refactor(web/route): 精简导航菜单 & 修复初始加载闪屏
1. 根据需求移除了“仪表盘”、“车票记录”、“系统设置”、“凭证管理”等多余的页面导航和对应代码。
2. 目前仅保留三个核心功能页:【线路规划】、【站点管理】、【票价地图】。
3. 修复了刷新页面时Vue未初始化完成导致的大段未解析模板闪屏的问题:引入了 v-cloak 并在 CSS 中隐藏未就绪的 DOM。
4. 确认了 /api/stations 请求本身已经直接对接数据库 DataService.saveStations,前端现也去掉了多余的视图判断,保证修改后立即反映。
2026-08-08 00:03:47 +08:00
Henry_Du 0e3f1a6e86 feat(web/route): 新增全局站点管理页面 (Station Management)
1. 在左侧侧边栏新增「站点管理」导航项,并支持在 /route 内无缝切换视图。
2. 实现了全局的站点列表:
   - 支持显示所有已入库站点的编号、中英文名称。
   - 动态计算并展示每个站点目前被关联到了哪些线路(所属线路)。
   - 支持通过站点编号或中英文名称进行快速搜索过滤。
3. 提供了独立于线路外的全局新增、编辑和删除站点功能:
   - 新增:不再强制需要选中线路,直接在库中创建。
   - 编辑:复用原有的站点编辑弹窗。
   - 删除:可从库中全局删除无用站点。
4. 移动端和电脑端均已应用自适应表格和工具栏布局。
2026-08-07 23:56:40 +08:00
Henry_Du 0a37c0cba2 fix(web/route): 解决移动端列表与空状态卡片重叠问题
1. 修复移动端下由于 .management-sidebar 高度受限导致内容溢出、与下方主面板重叠的布局 bug。
2. 将 .management-sidebar 高度锁定在最大 40vh 并限制内部 .card 溢出,同时保持线路列表自身的内部滚动,优化了上下排布时的展示效果。
3. 当移动端未选中任何线路时,直接隐藏掉右侧面板(.management-main.is-empty),避免多余的“选择左侧线路”空状态卡片挤占宝贵的手机屏幕空间。
4. 修复了桌面端误显移动端专属提示文本的问题。
2026-08-07 23:41:47 +08:00
Henry_Du 6605c67f23 feat(web/route): 支持电脑端鼠标平移画布 & 优化动态SVG宽度
1. 修复电脑端画布无法拖拽滑动问题:
   - 新增 onPanStart/onPanMove/onPanEnd 逻辑
   - 绑定鼠标事件到 .visual-line-container,实现按住左键平移 scrollLeft
2. 修复长线路无法完全滚动的问题:
   - 将固定 100% 的宽度替换为动态宽度计算:Math.max(100, 50 + stations.length * 120 + 50) + px
   - 确保原生 overflow-x: auto 能正确感知超出容器的内部站点
3. 更新静态资源版本号避免缓存
2026-08-07 23:32:05 +08:00
Henry_Du 1046aa8dda feat(web/route): 适配移动端响应式布局 + 统一站点拖拽逻辑
1. 线路规划页面(/route)移动端适配:
   - 新增 980px / 768px / 480px 三档响应式CSS
   - 侧边栏改为抽屉式叠加层,主容器垂直流式布局
   - 顶部导航、工具栏、编辑器堆叠式排列
   - SVG线路容器开启横向惯性滚动,最小宽度720px
   - 票价地图、表格、模态框均针对小屏优化
   - 按钮/输入框统一最小高度44px,满足可访问性

2. 重构站点拖拽逻辑(修复电脑端拖拽失效):
   - 原实现:mousemove绑定单站点<g>,鼠标离开即丢失拖拽
   - 新实现:mousedown/touchstart仅记录起点,
     window级别监听 mousemove/mouseup/touchmove/touchend
   - 通过 SVG createSVGPoint + getScreenCTM().inverse()
     统一将屏幕坐标转换为SVG逻辑坐标再换算站点索引
   - 共用 swapStationByIndex() / saveDragResult() 核心函数

3. 静态资源版本号升级: style.css v16, ticket-route.js v5
2026-08-07 23:01:33 +08:00
Henry_Du 7e72bbeae5 feat: 新增错误问题追踪与管理功能
- 升级程序版本至 v1.5.25
- 新增对比度文本颜色计算与垂直滚动条绘制工具函数,优化选择界面滚动显示
- 网页端新增问题记录管理页面,配套完整的表格与详情展示样式
- 实现issue记录标准化处理、实时事件推送接收与按时间倒序排序展示
- 重构原有选择界面的滚动逻辑,替换为通用滚动条绘制函数
2026-07-29 12:29:54 +08:00
Henry_Du c840e2abfe feat: 新增客户端问题主动上报与控制台问题汇总功能
1. 客户端 (ticketmachine.lua): 修改 showAlert 支持详细错误并主动上报,使用 pcall 包装主循环捕获 Fatal Error 并上报。
2. 服务端 (data.js, api.js): 增加 issues 数据表,提供 /report_issue 和 /issues 接口。
3. 控制台 (index.html, index.js): 添加“问题汇总”菜单及界面状态管理。
2026-07-24 22:37:26 +08:00
Henry_Du 4ddc4cb4ad style: 稳定订票页线路按钮布局与尺寸 2026-07-19 03:41:50 +08:00
Henry_Du 847957be61 feat: 支持编辑线路图署名并固定 CC BY 4.0 2026-07-19 00:16:20 +08:00
Henry_Du 6195ebb6be chore: 为线路图展示补充 CC-BY 4.0 署名 2026-07-18 23:51:32 +08:00
Henry_Du ec31c12130 feat: 改造线路图上传后台并接入购票页总览图 2026-07-17 03:17:03 +08:00
Henry_Du 289ed65e79 style: 优化移动端线路按钮与区间卡片布局 2026-07-17 02:54:35 +08:00
Henry_Du 95bf4d3d8e style: 同步购票页移动端直角与线路列表布局 2026-07-17 01:19:35 +08:00
Henry_Du c6ab010974 style: 调整购票页外框直角样式并上移线路列表 2026-07-17 01:16:24 +08:00
Henry_Du 234e22468a style: 合并断点线路展示并改为直角线段 2026-07-17 01:13:10 +08:00
Henry_Du 5e8d4f7bbe fix: 统一不同线路的地图容器大小,无论站点多少,容器最小宽度都保持一致 2026-07-16 22:49:13 +08:00
Henry_Du 9d145c3d16 style: 优化 TVM 购票地图,缩小元素尺寸,增加切换动画,适配移动端 2026-07-16 22:16:10 +08:00
Henry_Du cfaa622dcd feat: 重构选择购票区间地图为 TVM 瀑布流样式 2026-07-16 06:05:33 +08:00
Henry_Du 7812d47f0c refactor & feat & fix: 重写SVG生成器,优化前端线路绘制与修复样式
重写服务器端SVG生成逻辑,将原铁路线路图生成功能替换为站点间票价矩阵生成。
优化前端换乘路径绘制:新增线路偏移与弯道处理,避免多条线路路径重叠。
修复站点标记的外层圆圈填充颜色,使其正确使用对应线路的配色。
2026-07-16 03:49:45 +08:00
Henry_Du d32d72a3da feat(web): 优化区间选择界面线路图布局
1. 实现正交布线与圆角拐角连接,减少斜线交叉

2. 动态调整线路间距与节点位置,提高整体紧凑性

3. 优化线路名称与换乘站标签的避让逻辑,避免遮挡

4. 删除不再使用的全局预览页(map-preview.html)
2026-07-16 00:26:18 +08:00
Henry_Du 86f3d478d6 feat(ticket-order): 重写线路地图可视化功能,替换原有线路UI
替换原有的标签式线路站点UI,新增加载渲染官方线路SVG地图、线路分段展示、换乘站标记、站点中英文标注、路线规划高亮预览等功能,优化响应式布局与交互逻辑。
2026-07-15 20:41:11 +08:00
Henry_Du 4ea58772d3 feat(route-map): 新增线路预览页面并优化八向布线布局
- 新增全网线路图预览前端页面 `/web/map-preview.html`
- 调整布局物理参数与迭代次数优化排布效果
- 新增正交八向布线强制对齐逻辑
- 实现节点网格对齐与优化线路路径转角处理
- 调整锚点固定力度提升布局稳定性
2026-07-15 02:54:11 +08:00
Henry_Du 620289e836 更新线路图绘制 2026-07-15 00:50:55 +08:00
Henry_Du 5bd2e5b882 feat(ticket-order): 优化单线线路展示与同线区间高亮 2026-07-14 05:47:47 +08:00
Henry_Du fefd919031 chore(ticket-order): 提升 ticket-order.js 版本号以破除浏览器缓存 2026-07-14 04:43:07 +08:00
Henry_Du 3311ee70ce feat(ticket-order): 添加单线地铁图选中高亮金线及箭头动画,取消鼠标悬浮动画 2026-07-14 01:43:24 +08:00
Henry_Du 63d710114d feat(ticket-order): 将 TVM UI 的网格站点改为与后台一致的单线地铁图样式 2026-07-14 01:17:49 +08:00
Henry_Du a79142660f fix(ticket-order): 修复无法正常切换路线的问题,优化移动端及主题适配 2026-07-14 00:50:19 +08:00
Henry_Du 139a65f24c refactor(ticket-order): 清理废弃的SVG渲染代码并优化TVM界面高亮反馈 2026-07-13 23:47:57 +08:00
Henry_Du ae11f9e34b feat(web): 新增后台线路拓扑图布局编辑器,允许手动拖拽调整所有站点坐标 2026-07-13 21:07:24 +08:00
Henry_Du 6a80db6d1d feat(web): 回退到以发散方式显示各条水平线路 2026-07-13 20:51:42 +08:00
Henry_Du ccb7ad5721 feat(web): 重构线路图渲染引擎,引入网格化对齐与拓扑深度推导算法,完美还原真实地铁图的整齐排版 2026-07-12 12:17:56 +08:00
Henry_Du 20cfdc5174 style(web): 调整线路名防遮挡偏移、缩小线路间距,并根据线路颜色动态匹配文字深浅色 2026-07-12 10:28:15 +08:00
Henry_Du e1637da9c6 style(web): 优化车站文本颜色层次并增加白色描边以解决与线条重叠的问题 2026-07-12 10:19:31 +08:00
Henry_Du 46f8a17157 feat(web): 优化车站名与线路名显示,增加车站编号与英文名称 2026-07-12 10:04:40 +08:00
Henry_Du 423a5972fc refactor(web): 优化线路图走线为45度和直角转折,并在起终点显示线路名 2026-07-12 09:50:36 +08:00
Henry_Du 9ef5d2099e refactor(web): 将订票线路图改为90度规整走线并保留圆角 2026-07-12 09:02:12 +08:00
Henry_Du a651fac095 refactor(web): 将换乘站合并为单点并重绘订票线路图 2026-07-12 08:35:07 +08:00
Henry_Du 83c7d25cbe refactor(web): 优化订票线路图布局与换乘站视觉表现 2026-07-11 23:37:35 +08:00
Henry_Du dc835f498d fix(web): 修复重构导致 allStations 变量未定义引发的渲染崩溃问题 2026-07-11 23:20:35 +08:00
Henry_Du d6f37d1415 fix(web): 重构线路图渲染算法,实现平行水平走线与胶囊式垂直换乘 2026-07-11 23:15:36 +08:00
Henry_Du 4052cd2f58 fix(web): 修复断点站点的X轴坐标偏移问题,并优化换乘站的视觉连接 2026-07-11 22:42:46 +08:00
Henry_Du 1ce7fd630b feat(web): 撤销静态SVG图片渲染,回退到自动线条生成模式,并保留断点支持 2026-07-11 22:23:12 +08:00
Henry_Du 116b2af4ef feat(admin): 优化换乘设置与坐标绑定逻辑,自动识别同名换乘站 2026-07-11 21:46:12 +08:00
Henry_Du aede84f164 feat(web): 订票地图升级为静态SVG并叠加动态坐标交互;完善断点支持 2026-07-11 21:15:48 +08:00