QQ扫一扫联系
链接在群里传了几轮,点开的人不少,注册的人没几个。看数据发现跳出全发生在登录页那一步:微信里打开,要填手机号、收验证码,很多人到这一步就走了。
微信自动登录助手(WechatAutoLoginer)做的是:识别出访问来自微信内置浏览器,主动把微信授权登录推到用户面前。它依赖 Member,后台在「功能设置 → 微信自动登录助手」。
要同时满足才会出现提示:
AgentUtil::isWechatMobile(),靠 User-Agent 判断)第三条是配置来的:WechatAutoLoginer_Urls 是一组路径前缀,比的是当前路径的开头。帮助文字里举的例子是填 /n/,意思是所有以 /n/ 开头的地址都会提示。
白名单为空时整个模块不生效。 这是装完之后最常见的「没反应」原因:忘了填白名单。
登录页、注册页、找回密码、单点登录地址,以及所有以 oauth_ 开头的地址,都不会弹提示。这段忽略逻辑在代码里写死了,不用配置。
作用是避免用户在登录页上再被弹一次登录框,也避免授权回调页自己触发自己。
弹窗(默认):页面加载完弹出一个居中对话框,上面是一个绿色的「微信一键登录」按钮,下面是提醒文案。文案在 WechatAutoLoginer_LoginTip 里配,默认是「登录后享受更多权益」。弹窗有关闭按钮,关掉就不再出现。
自动跳转(WechatAutoLoginer_AutoLoginEnable):打开开关后,页面直接执行跳转到授权地址,连弹窗都不给。用户看到的是一闪而过的授权过程。
第二种方式要谨慎。它意味着白名单里的页面对未登录用户来说是无法直接浏览的,打开就被带走去授权。适合放在本来就需要登录的内容前面,不适合放在首页或者营销页。
跳转目标统一是微信授权登录地址,带一个 redirect 参数指回当前页,授权完回到原页面。

模块 require 里只写了 Vendor 和 Member,但跳转地址是微信授权登录的路由。也就是说微信登录那套必须先配好:公众号或开放平台的应用信息、回调域名、授权作用域,缺一样点了按钮就是报错。
这个模块不负责配置微信登录,它只负责把入口推到用户面前。
适合:内容在微信里传播、且需要登录后才能完整使用的站点。把手机号注册那一步省掉,转化会好看不少。
不适合:内容本身是公开的、希望未登录用户先浏览的场景。开了自动跳转之后这个愿望就落空了,建议只用弹窗模式。
也不适合微信外的渠道:它只认微信内置浏览器,普通手机浏览器、企业微信、微信桌面版都不在触发范围内。
先确认微信登录单独能走通:不用这个模块,手工访问授权地址能拿到用户信息。这是前提。
然后只填一两个路径进白名单试,别一上来就填 / 全站。全站生效意味着每个页面都可能弹窗,包括一些你不想打扰的页面。
最后用微信真机测一次,并确认关闭按钮点了之后不再反复弹出。弹窗是靠移除一个 class 关掉的,刷新会重新出现,这是预期行为。