跳到主要内容
弗美科技
服务案例

签证表单那 17 个字段,我们删到 11 个

纸质签证表 A4 两面、17 个字段,搬到线上第一版照单全收,审材料的大姐填完打电话说比纸的还麻烦。把字段贴墙上一条条问「审的时候看不看」,删到 11 个、必填 8 个。上线第三天附件丢失,是 session 24 分钟过期撞上 tmp 目录每小时清理。

2016年10月28日表单设计附件上传签证

客户拿来一张纸质签证申请表,A4 两面,让我们搬到线上。数了数字段,17 个,其中 6 个是「如不适用请填无」这种。我第一反应不是建模,是问了一句:这表是谁审的?

先按纸质表做了一版

第一版老老实实 17 个字段全搬,加护照扫描件上传,加分步保存。前端 jQuery 校验,后端 PHP 收,附件存到服务器目录,路径写进 MySQL。做完自己填了一遍,填到第 9 个字段就不耐烦了,父亲姓名、母亲姓名、配偶职业,对短期旅游签来说,很多申请人根本填不上。

客户那边负责审材料的是位大姐,我们把测试链接发过去,她填完打了电话过来,第一句是:这表比纸的还麻烦。

删字段不是拍脑袋

第二周我们坐在他们办公室,把 17 个字段打印出来贴墙上,一条条问「这条审的时候看不看」。看完的留在左边,没看过的挪右边。最后右边 6 条:父亲姓名、母亲姓名、配偶信息、曾用名、宗教信仰、备用联系方式。其中「曾用名」和「备用联系方式」保留成选填,其余 4 条直接去掉,改成后台备注框。17 变 11,必填只剩 8 个。

这一步没什么技术含量,但比后面所有代码都值钱。

附件那次真丢了人

分步保存我们是这么做的:每一步 POST 到后端,把已填字段存进 session,最后一步统一写库。测试都过了。上线第三天,有个申请人传到第二步,接了个电话,二十分钟后回来点下一步,附件没了。

原因不难查:session 默认 24 分钟过期,而且我们把上传的临时文件名存在 session 里,文件本身放在 tmp 目录,服务器上有个清理脚本每小时扫一次,删掉 30 分钟没动的文件。两个超时撞一块了。

改法挺笨但管用:附件一上传就立刻落正式目录,数据库先插一条草稿记录拿 id,文件名带这个 id;后面每一步只更新那条记录的字段,不再依赖 session 存文件。草稿表加了 updated_at,超过 7 天没动的由定时任务清掉。顺手把「上一步」按钮也补了,之前只能一路往前。

那 11 个字段后来又动过两次

第一次是 2017 年,客户加了一栏「同行未成年人」,因为一家三口出行,孩子的材料要跟主申请人绑在一起。没往主表塞,改成明细子表,一行一个人,主表只留一个人数。加的时候我们特意没动那 8 个必填项,怕又变回一张让人填到一半就烦的表。

第二次是 2019 年,把「护照签发地」从下拉改成了自动带出。那会儿 OCR 还没上,是从扫描件里读机读码,读不到就留空、标成待补,不硬拦。审材料的大姐说这栏她从来只看一眼,有就对一下,没有也不影响。

有意思的是,删掉的 6 个字段里,「备用联系方式」两年后又回来了,不过换了位置:它不再是对账单上的一列,而是放进了「联系不上时」的一个选填框。客户说,不是要那数据,是客服真遇见过申请人手机关机、只能打家里电话的情况。

审材料那边的账

表单收了两年多,客户那边统计过一次退回原因,排第一的从「漏填」变成了「照片拍糊」。这跟字段数没什么关系了,是上传那一步的事。我们后来在上传按钮旁边加了一行小字,写「四角要拍全,别反光」,比改校验规则管用。

那张贴过字段的墙,去年去的时候已经换成白板了,上面写着当月的团期,字比我们当年贴的纸整齐。有回新来的同事问,为什么第一版要照着纸质表做,不直接按我们想的来。我说,因为审的人是照着那张纸干了十几年,你先得知道她眼睛落在哪几格,才谈得上删哪几格。这话当时没写进文档,现在补上。那 8 个必填项一直用到 2025 年重做那版才又动,中间八年没人提过要加回来。

后来

表单上线跑了三个月,收了两千多份。客户说最直观的变化是电话少了,以前申请材料退回来,大半是填错或漏填,现在必填校验在前端就挡住,格式不对的当场提示。

那张贴过字段的墙,我们走的时候没揭。后来听说他们自己又往右边挪了两条。

商务咨询 · 免费初步沟通

需要针对你的场景给个建议?

把业务背景和当前系统情况告诉我们,我们会给出可执行的思路。

在线留言

周一至周五 9:00–18:00 · 工作日 9:00–18:00 响应,留言会在一个工作日内回复。

商务微信
商务微信二维码

扫一扫,加商务微信咨询服务与方案报价

或填写需求表单