新加坡和中国免签之前,地接公司有大量签证申请任务,每次需要人员登录新加坡移民厅(ICA),手动核对和填写申请信息,工作效率极低且容易出错。为实现数据校验与自动提交,设计本工具。通过 WinForm 管理本地数据,通过 Puppeteer + WebSocket 多语言协同与浏览器自动化,对接飞猪 API 与新加坡移民厅,完成从下单到办证的全链路打通。
点击空白处退出提示
新加坡和中国免签之前,地接公司有大量签证申请任务,每次需要人员登录新加坡移民厅(ICA),手动核对和填写申请信息,工作效率极低且容易出错。为实现数据校验与自动提交,设计本工具。通过 WinForm 管理本地数据,通过 Puppeteer + WebSocket 多语言协同与浏览器自动化,对接飞猪 API 与新加坡移民厅,完成从下单到办证的全链路打通。
1、订单管理:从 Excel 导入与刷新订单,列表含订单号、购买数量、个人资料完整度、客户订单编号、买家昵称与姓名、团号,支持分页与关键词搜索。
2、申请人数据:按人展示送签状态(已送签/申请退款)、剩余天数、下单与入新日期、客户拼音名及护照号;支持按剩余天数查询排序、显示历史和图片、证件照预览。
3、等待送签中:集中管理待送签队列,掌握送签进度。
4、通讯状态:实时监控 WinForm 与 Node.js(Puppeteer)之间的 WebSocket 通讯链路。
5、机器人查询与 ICA操作状态:查看 Puppeteer 自动化机器人运行状态及 ICA 提交结果。
6、数据获取与回执:获取数据对接飞猪 API 拉取订单,送签报告与压缩文件存放目录统一管理回执。
我独立负责该工具的需求梳理、架构设计与全部编码。技术栈:C# / .NET WinForm + Node.js + Puppeteer + WebSocket + MySQL。架构与亮点:① 多语言协同——WinForm(C#)作为主控与数据管理端,Node.js 侧运行 Puppeteer 做浏览器自动化,两端经 WebSocket 双向通信,实现任务下发与结果回传;② 浏览器自动化——Puppeteer 模拟登录 ICA 移民厅、自动填表与提交,并处理会话失效等异常重试;③ 数据校验前置——提交前按 ICA 字段规则校验,降低退件率;④ 对接飞猪 API 自动获取订单与旅客信息,打通下单到办证全链路。难点在于跨进程多语言通信的稳定性,以及移民厅页面改版后的脚本自适应维护。



评论