Wechat-Group / WxJava

微信开发 Java SDK ,支持包括微信支付,开放平台,小程序,企业微信,视频号,公众号等的后端开发
Apache License 2.0
29.86k stars 8.67k forks source link

第三方平台获取授权小程序的登录用户手机号 #2918

Closed guangxian closed 1 year ago

guangxian commented 1 year ago

简要描述

需求:第三方平台在授权小程序中获取登录用户的手机号 目前只使用了weixin-java-open包,但该包未含小程序phonenumber.getPhoneNumber 接口,是不是还需引入weixin-java-miniapp包去实现获取手机号

官方文档地址

https://developers.weixin.qq.com/miniprogram/dev/OpenApiDoc/user-info/phone-number/getPhoneNumber.html

binarywang commented 1 year ago

open模块已经自动依赖了miniapp模块,你看下依赖关系就清楚了

cnscoo commented 1 year ago

miniapp 模块中的 phonenumber.getPhoneNumber 接口应该是小程序自己开发时调用的,第三方服务商代替小程序获取登陆用户手机号确实没有提供

官方文档说明:

第三方调用

难道每次调用的时候,构建一个该小程序的WxMaService和WxMaUserService? 或者是有其他的写法?

cnscoo commented 1 year ago

看了源码才明白了,服务商代替小程序的实现有很多,需要获取代替小程序操作的服务。

WxOpenMaService maService = wxOpenService.getWxOpenComponentService().getWxMaServiceByAppid(appid);
WxMaPhoneNumberInfo phoneInfo = maService.getUserService().getPhoneNoInfo(code);