2025-11-18 04:35:12
先获取openid得用小程序或公众号登录接口让用户授权,授权成功后微信返回openid。接着要拿手机号码得再让用户同意授权,不能直接拿。得在用户同意后调用微信接口获取手机号,整个过程必须让用户自己同意。
为啥得这样呢微信大前年隐私报告说超过90%用户拒绝强制授权,现在小程序平均授权率才35%。手机号涉及个人信息,微信规定必须用户明确同意才能获取,否则会封号处罚。比如去年有公司偷偷调换参数骗取手机号,结果被罚了50万。现在技术实现得先调用wx.login拿code,再用code换openid,用wx.authorizeInfo拿手机号。但得注意用户授权页面必须用微信原生弹窗,不能自己改样式。就像上周测试发现,如果弹窗延迟0.5秒,用户授权率就掉20%。所以步骤不能乱,先拿openid再拿手机号,中间必须卡住让用户点同意。
本题链接: