在WiFi认证系统里,Portal认证页面是用户看到的东西里最直观的一层——手机连上WiFi之后,自动弹出的那个页面长什么样、加载速度快不快、填写方不方便,这套体验好不好,直接决定了用户对这个WiFi的第一印象。
加载速度是体验问题的第一道坎
Portal认证页面最容易被抱怨的其实不是设计好不好看,而是"为什么这么慢"。用户连上WiFi之后等了好几秒弹不出认证页面,或者弹出来了但一直在转圈加载,这个体验基本就毁了。加载速度慢的根因通常不在页面本身的设计上,而在基础设施层面。
第一个常见原因是Portal服务器的部署位置。如果Portal服务器部署在云端或者总部,而用户终端在分支机构的WiFi网络中,认证页面的HTTP请求需要走公网或者跨专线才能到达服务器。链路延迟加上页面资源加载,体验就很差。做过项目的都知道,Portal服务器应该尽量靠近用户终端所在的网络——至少保证在同一机房或者同一个城域网内。
第二个原因是页面资源体积。有些Portal认证页面为了好看的视觉效果,加载了大量的图片、CSS和JS文件,单页面体积超过2MB。在未认证状态下,终端的上行带宽可能已经做了限速——毕竟你还没通过认证,网络策略就是限制的——这时候加载一个大体积页面会非常慢。Portal页面的设计原则应该是尽量轻量,单页面体积控制在200KB以内,能用文字和少量图标解决问题就不要上高清大图。
页面在移动端上的显示适配
现在绝大多数WiFi用户用的都是手机,Portal认证页面如果在手机上显示不正常——字体太小、输入框太窄、按钮点不动——基本就是废的。但现实中有相当数量的WiFi认证系统,Portal页面的移动端适配做得非常粗糙。
移动端适配不只是一个"响应式布局"的问题。还有一个WiFi场景特有的坑:终端连接WiFi后会自动弹出一个系统级别的Captive Portal检测页面。在iOS上,这个页面是Safari的简版WebView,在一些Android手机上,也是系统内置浏览器的简化版。这些系统内置浏览器的渲染能力和标准浏览器有差异,某些CSS属性和JS功能可能不支持。实际经验是:Portal页面尽量避免过于复杂的交互设计,表单验证逻辑放到服务器端而不是前端JS,不要依赖localStorage或cookie做状态保持。
还有一个经常被忽略的细节:输入框的类型属性。在Portal页面的手机号输入框上,如果写了type="number",iOS的键盘会只显示数字,但会把数字之间的空格也纳入输入——这给后端数据清洗带来额外的工作量。
短信认证按钮的重复点击防护
Portal认证页面里"获取验证码"按钮的重复点击防护,看起来是个前端细节,实际上直接关系到运营成本。每一条短信验证码都是按条计费的,如果一个住客手快点了几下"获取验证码",几毛钱就出去了。如果一天有几万个住客,这不是一笔小钱。
标准的做法是在"获取验证码"按钮点击后立刻置灰,倒计时60秒,期间不可再次点击。倒计时逻辑要放在客户端做,但后端也要有防刷机制——同一个手机号在60秒内不能重复下发验证码,同一IP在一定时间内的下发次数也要限制。纯前端倒计时是防不了用工具直接调短信下发接口的行为的。
认证失败的错误提示信息设计
Portal页面上的认证失败提示怎么写,也是一个被低估的设计问题。常见的问题是:"认证失败,请重试"——用户看到这句话完全不知道问题出在哪,是自己输错号码了、还是这个手机号不在白名单里、还是系统出问题了?不同原因应该有不同提示:输入错误提示"手机号格式不正确"、"验证码已过期,请重新获取",账号权限问题提示"该账号暂未开通WiFi权限,请联系IT部门"。
这些提示信息的措辞,做设计的时候最好拉IT运维和客服的人一起来看一遍。因为用户看到提示后的第一反应,大概率不是自己排查,而是打电话找IT或者找酒店前台。提示信息能不能让接到电话的人快速判断问题类型,直接决定了运维和客服的工作量。
Portal认证页面是整个WiFi认证系统里和用户距离最近的一环,它的设计质量不会直接决定系统的技术能力,但会直接决定用户愿不愿意再用第二次。第一印象就是所有印象——至少对WiFi体验来说是这样的。 实际上还有一个维度值得提一下:Portal页面的多语言支持。酒店和高档商业场所的WiFi,境外用户占比可能不低。如果Portal页面只有中文,一个外国住客连上WiFi之后面对的全是中文提示和中文按钮,基本就是盲操作。支持英文至少是最低要求,部分场景可能还需要日文、韩文。多语言支持的技术实现不复杂——根据HTTP请求头里的Accept-Language字段做判断,或者直接根据设备系统语言做切换。但关键是要在设计阶段就把多语言的文案准备好,不要做完中文版之后才发现需要英文版时文案对不上。 另外,Portal认证成功之后的跳转页面也是一个体验细节。认证成功后用户看到的是什么——是一个"认证成功"的提示页面然后自动关闭,还是直接跳转到一个指定的网站?在酒店场景里,很多品牌希望认证成功后自动跳转到酒店的官网或者活动页面,这相当于把WiFi认证当成了一次免费的营销曝光机会。但需要注意一点:如果跳转的目标页面加载很慢、或者在外网且此时用户的网络策略还未完全生效,可能会出现跳转失败的情况。建议在认证成功后的跳转逻辑里加上一个本地确认机制——先确认用户的网络策略已经生效,再触发跳转,避免跳到一个打不开的页面。