浅析微信支付:微信公众号网页授权

 本文是【浅析微信支付】系列文章的第四篇,主要讲解微信支付前如何获取获取网页授权及用户信息获取。


浅析微信支付系列已经更新三篇了哟~,没有看过的朋友们可以看一下哦。


微信测试号-2
微信测试号-3
微信测试号-4

按要求设置上方图片中的配置,即可减少80%的问题,如果调用时还有其他问题,请到文末添加作为微信,可进入讨论群和大家一起交流。

3、获取微信网页授权

使用以下代码获取微信网页授权:

微信官方js文件:

<script src="upload/201811201103482605.png" alt="微信网页授权-1" style="margin: 0px; padding: 0px; border: none; max-width: 800px; height: auto;" />

如果出现其他错误,需要检查一下第一步时设置的路径安全接口、域名是否正确,开启weixinConfig中的debug模式,看是否为没有正确设置功能模块;如果还不能解决,请到文末看楼主上一篇文章或者添加作者进群即可。

4、获取微信用户信息

这里说一下上面获取用户授权的具体参数:

第一步,获取config需要的基础参数:

/**  * 根据appid获取wx.config需要的基础参数  * @param reqMap requestUrl 请求页面地址、appid appid  * @return json  *  * @author yclimb  * @date 2018/9/25  */ @ApiOperation(value = "微信公众号|config需要的基础参数", httpMethod = "POST", notes = "config需要的基础参数") @PostMapping("/getSignature") public AppMessage getSignature(@RequestBody Map<String, String> reqMap) {     Map<String, Object> map = Maps.newHashMap();     switch (reqMap.get("appid")) {         case WXPayConstants.APP_ID:             map = wxUtils.getSignature(reqMap.get("requestUrl"), reqMap.get("appid"), BaseConstants.WX_MINI_PROGRAM_YUEDIAN_CODE);             break;         case WXPayConstants.APP_ID_CHUNBO:             map = wxUtils.getSignature(reqMap.get("requestUrl"), reqMap.get("appid"), BaseConstants.WX_CHUNBO_JSAPI_YUEDIAN_CODE);             break;     }     return AppMessage.success(map); }

第二部分:获取用户授权的基础信息:

// 这里的appid就是咋们测试号的appid $appid="xxx";  // 这里的地址需要http://且必须encodeURI,此地址为获取用户信息后,微信自动转发的服务器端接口,用来接收微信的授权code,在后端处理而得到用户基本信息 $redirect_uri=encodeURI("http://127.0.0.1:8888/weixin/auth/authorize.do");  // 微信官方的授权接口 $url="https://open.weixin.qq.com/connect/oauth2/authorize?appid="+$appid+"&redirect_uri="+$redirect_uri+"&response_type=code&scope=snsapi_userinfo&state=" + state + "#wechat_redirect";  // state可以用来区分特殊参数和配置 

具体可见微信官方文档,文档如下:微信网页授权接口

以上为js页面处理,下面我们来具体讲解 redirect_uri 这个接口中需要处理的逻辑;

WXAuthController

/**  * 微信网页授权  * https://mp.weixin.qq.com/wiki?t=resource/res_main&id=mp1421140842  * 第一步:用户同意授权,获取code  * 第二步:通过code换取网页授权access_token  * @return str  *  * @author yclimb  * @date 2018/7/30  */ @ApiOperation(value = "微信用户|网页授权", httpMethod = "GET", notes = "获取前端微信用户的网页授权,得到用户基础信息") @GetMapping(
                    
50000+
5万行代码练就真实本领
17年
创办于2008年老牌培训机构
1000+
合作企业
98%
就业率

联系我们

电话咨询

0532-85025005

扫码添加微信