如何保证getPhoneNumber用户只需点击一次即可获得手机号码?
在app.js中 onLaunch时 调用wx.login获取code并传递到服务端,服务端调用auth.code2Session获取该用户的session_key并保存。 检测到该用户未绑定手机号码,进入获取用户手机号码页面。 正常场景: 用户在获取用户手机号码页面,短时间(2分钟内)点击获取手机号码button(open-type="getPhoneNumber")得到iv和encryptedData传递到服务端,服务端使用上面保存的session_key和传递的iv/encryptedData进行解密,可获得用户的手机号码。 --------------------------- 异常场景: 用户在获取用户手机号码页面,10分钟后点击获取手机号码button(open-type="getPhoneNumber")得到iv和encryptedData传递到服务端,服务端使用上面保存的session_key和传递的iv/encryptedData进行解密,解密失败,无法获得用户的手机号码。 解决办法:在这种异常场景,可以返回给小程序客户端获取手机号码失败,客户端根据返回的错误信息,再次调用wx.login获取code并传递到服务端,服务端调用auth.code2Session获取该用户的session_key并保存,并再次引导用户点击获取手机号码button得到iv和encryptedData传递到服务端,服务端再次解密才可获得用户的手机号码。(需用户点击两次) ========== 问题:如何在这种异常场景,用户只需点击一次即可获得手机号码?