现场
那次扫码连续失败两次,问题出在 iPad 的分屏
事情得从我室友林哲借我的那台 2019 款 iPad Air 说起。晚上 9 点 41 分,我在 Safari 里敲进网页端地址,页面加载出来,二维码在中央刷新了一次,我抬手用手机扫——手机端一直提示「二维码已失效」。我把 iPad 竖起来重扫,还是失败。第三次之前,我把分屏关掉、把 Safari 窗口拉成全屏,二维码立刻停在原地不再自动刷新,一扫就过。这个细节我后来专门复现了两次:分屏状态下,页面每秒都在重绘,二维码的有效期被压缩到了几乎无法完成一次完整扫码的程度。所以第一条结论很朴素——扫之前先把窗口弄成单页全屏,别让页面一直在动。
这不是玄学,是渲染节流带来的副作用。
顺带说一句,如果你在找旧版入口的对照材料,可以看这篇 49图库恢复到桌面49,里面梳理过一轮不同终端的入口变化,虽然主题不同,但记录方式我能对上。
机制
登录完成后,「会话保持」的三个可观测点
进去之后我没有马上关页面,而是拿计时器记录了三个点。第一,刷新页面后是否免登录——刷新一次,停留在正文页,未要求二次扫码。第二,换标签页再回来是否掉线——开着三个标签,切走 6 分钟再切回,仍在登录态。第三,断网 20 秒后是否自动重连——手机热点临时断开,恢复后页面提示了一次重连,未跳回登录页。这三条合起来说明,网页端对登录态的维护更多依赖本地存储里的凭证,而不是一直吊着一个活跃的长连接。这也解释了为什么有些人在移动网络切换(Wi-Fi 到 4G)的瞬间会被踢回扫码页:网络抖动本身不可怕,可怕的是切换那一瞬间的凭证校验超时。
结论不是「怎么点」,而是「什么时候不要点」——切换网络那几秒,别刷新。
观点
说句可能不太受欢迎的:现在的扫码流程被高估了
我必须把话说明白:扫码登录在移动端体验上并不优于账号密码加验证码,只是它看起来更现代。理由有三条,都是我自己撞出来的。其一,扫码要求两台设备同时在线且互相可见,而很多人手上就一台手机,这时候网页端就是个摆设;其二,二维码自动刷新的时机不受用户控制,网络一慢,你扫进去的那张已经过期;其三,失败提示的措辞模糊,「已失效」和「未授权」经常被混在一起显示,用户根本不知道该重扫还是该检查手机端授权。一条可操作的改进是把刷新改成手动触发,让用户决定二维码什么时候作废,而不是由页面每秒替用户做决定。
我知道这说法会有人不爱听,但它站得住。
对照
与电脑端网页版的差异清单
为了把「手机版」这个词说清楚,我拿同一天的电脑端入口做了一次并排对照,记录如下。
- 窗口控制:电脑端在小窗口下二维码同样会被压缩,需拉到全屏;手机版浏览器受地址栏伸缩影响更大。
- 输入法:登录后切中英文输入法超过 10 次,两端都没掉线,这一点比我预期的好。
- 授权确认:手机端弹窗在锁屏状态下不显示,需解锁后手动下拉通知栏,这一步被很多人漏掉。
- 退出路径:网页端退出按钮藏在二级菜单,电脑端在头像下拉,位置不同,容易找错。
如果你更习惯桌面环境,这篇 qq电脑版网页版打开 把桌面端的入口与菜单结构讲得更细。
工具
三个我实际用到的小动作
不讲虚的,只说我在那台 iPad 上真实做过的三步。第一,关闭「请求桌面网站」,很多人开着它,结果拿到的是桌面布局,在 10 英寸屏上按钮小得点不准;关掉之后布局自适应,扫码区居中。第二,把浏览器缓存清一次,我遇到的「二维码已失效」有一半是旧缓存里的脚本残留,清完第一次就成功。第三,手机端先打开通知权限,否则授权弹窗藏在通知栏里你根本看不见。这三步加起来花了我大约 4 分钟,之后连续三次登录都在 30 秒内完成。
「先排除环境问题,再谈流程问题」——这是我这些年做任何实测文档的第一准则。
延伸
为什么我总会顺手看别的入口记录
做这类实测,我有个习惯:凡是同一天在不同站上出现的入口类记录,我都会扫一眼,因为入口变化往往比功能变化更早暴露问题。比如 打开彩库网 里提到的一处路径调整,和 正版图库在线看 里对页面结构的描述,虽然对象不同,但「入口挪动导致老用户找不到」这个模式是共通的。同样的逻辑也适用于 正版49tk图库图片 和 49图库恢复正常使用免费打开49图库资料下载方法 这两类的写法,它们都把「恢复」拆成了可验证的步骤。我在写 恢复原来的49图库资料免费打开精准49图库 的对照笔记时,用的正是这套拆法。
记录的价值不在结论,在于能被别人重跑一遍。
复盘
六个时间戳,还原那四十分钟
我把当晚的记录贴在下面,不求精致,只求可复现。21:40 打开 Safari,页面加载完成;21:41 第一次扫码,提示失效;21:43 关分屏、拉全屏,二维码停住;21:44 第二次扫码,成功;21:52 切标签页 6 分钟回来,仍在登录态;22:20 断网 20 秒重连,未掉登录页。四十分钟里我只做了两件正确的事:把窗口变大,把缓存清掉。剩下都是环境在跟我较劲。
建议
给之后的自己留三条备忘
第一,能全屏就全屏,别在分屏下扫。第二,先解锁手机再扫,锁屏状态下你收不到授权弹窗。第三,网络切换的那几秒别刷新页面,等它自己稳定下来,或者手动重连一次。这三条不新鲜,但它们是我在 12 月 22 日晚上真正花时间换来的,所以我把它写下来。
写给自己看的备忘,往往比写给别人看的教程更有用。