Commit Graph
167 Commits
Author SHA1 Message Date
Henry_Du cf0a49867c feat(ui): 优化购卡键盘渲染逻辑与单程区间选中样式
- 重构 showCardNameInput 渲染逻辑,添加 renderInput 局部更新,解决按键闪烁问题
- 优化单程区间的选中样式,移除文本前缀,改为绿色背景高亮,与购票界面保持一致
- 更新版本号至 v1.5.30
2026-08-08 09:58:34 +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 b7cdcc570a feat(卡片): 新增卡片发行警告提示功能
将版本号更新至v1.5.29。新增cardIssueWarning状态变量以管理卡片发行过程中的警告信息,在重置票务和卡片流程时同步重置该状态。在卡片发行的各逻辑分支中设置对应警告文案,优化完成界面的展示逻辑以显示警告信息并调整提示语,同时在卡片发行快照中新增对应存储字段。
2026-07-31 13:29:23 +08:00
Henry_Du a59e9e60a4 feat(gate): 优化显示屏显示逻辑并更新版本
为 install_ticketmachine.lua 添加标准文件头注释
升级 gate.lua 版本至 v1.5.28
新增 splitDisplayLines 函数用于拆分多行显示文本
重构 draw 与 readyLine2 函数以支持多行状态文本的居中渲染
新增 displayStationCode 函数优化车站代码格式,移除 ST 前缀与多余空格
2026-07-31 12:43:58 +08:00
Henry_Du d685dee2a4 refactor(peripheral): 移除tm_gpu外设支持并清理冗余代码
删除gate.lua与ticketmachine.lua中所有与tm_gpu相关的代码逻辑,移除冗余的table.pack兼容函数与事件重写代码,简化外设发现与终端处理流程,同步更新两个文件的版本号。
2026-07-31 11:22:21 +08:00
Henry_Du 9c7e99633b fix(peripheral): 完善tm_gpu外设检测逻辑并升级版本号
新增scanForTmGpu函数用于遍历所有外设查找tm_gpu设备,在原有按类型匹配的查找失败时启用该后备逻辑,同时更新两个脚本文件的版本号。
2026-07-31 11:18:38 +08:00
Henry_Du 879445b9f6 feat(ticketmachine): 新增自定义TM GPU外设支持并更新版本至v1.5.26
- 新增table.pack兼容函数适配旧版Lua环境
- 实现TM GPU设备检测、终端仿真与坐标颜色转换逻辑
- 添加事件兼容层转换自定义触摸事件为标准事件并修正坐标
- 更新外设发现逻辑优先使用TM GPU终端
- 将版本从v1.5.25升级至v1.5.26
2026-07-31 11:15:31 +08:00
Henry_Du 200dbda9bd feat(display): 新增tm_gpu外设显示支持并升级版本至v1.5.28
实现tm_gpu外设的终端包装与适配逻辑,将其纳入显示外设选择流程。
2026-07-31 11:10:39 +08:00
Henry_Du 7e72bbeae5 feat: 新增错误问题追踪与管理功能
- 升级程序版本至 v1.5.25
- 新增对比度文本颜色计算与垂直滚动条绘制工具函数,优化选择界面滚动显示
- 网页端新增问题记录管理页面,配套完整的表格与详情展示样式
- 实现issue记录标准化处理、实时事件推送接收与按时间倒序排序展示
- 重构原有选择界面的滚动逻辑,替换为通用滚动条绘制函数
2026-07-29 12:29:54 +08:00
Henry_Du 0e8f86b478 1 2026-07-29 11:48:08 +08:00
Henry_Du 4db60ddc9e feat(ui): 新增购票兑换菜单,优化输入交互与界面布局
新增new_menu中间页面,拆分首页NEW按钮为购票和兑换码两个入口
抽离通用输入渲染函数,重构线上券码和IC卡兑换页面的代码逻辑
优化输入交互,按键、退格、清空时实时更新输入显示与提示
完善键盘快捷键支持,调整部分按钮布局与显示文本
统一音频播放逻辑,仅购票时播放欢迎音效
2026-07-29 11:34:47 +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 be0077743c fix: 修复售票机付款成功后出票失败 2026-07-24 21:35:30 +08:00
Henry_Du 4ddc4cb4ad style: 稳定订票页线路按钮布局与尺寸 2026-07-19 03:41:50 +08:00
Henry_Du 04d0badce8 1 2026-07-19 00:38:18 +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 77b487c326 feat(gate): support passing stationId to markEntered API 2026-07-17 00:44:37 +08:00
Henry_Du 1f5bc1d40d fix(gate): support java peripheral markEntered and bypass missing updateICCard 2026-07-17 00:33:35 +08:00
Henry_Du 2096dd8d89 fix(gate,installer): 修复进站刷卡字段兼容并清理安装器头注释 2026-07-17 00:19:35 +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 e6eae25cf1 refactor(gate): streamline gate installers and support multi-station codes via splitCsv 2026-07-14 20:34:58 +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