需求是:根据前端传入的code,需要获取到用户的openID,和手机号;但是因为code只能使用一次,第一次使用就获取用户ID,只能通过第二种方式去获取手机号 phoneInfo = wxMaService.getUserService().getPhoneNoInfo(session.getSessionKey(), encryptedData, iv); 但是这种情况 频繁出现微信返回数据格式错误,原始响应:java.lang.IllegalStateException: Expected BEGIN_OBJECT but was STRING at line 1 column 1 path $错误
看文档:https://developers.weixin.qq.com/miniprogram/dev/framework/open-ability/login.html
wx.login和获取手机号的code不是同一个,按你的描述你应该是混淆了这两种code
前端有两个code,一个是wx.login的code,一个是获取手机号的code