引言
现实工作中小程序微信授权是最常见的需求,多少情况根据文档说明来基本上能够获取微信用户的openid。由于政策的改变,获取不到 微信头像和昵称,需要前端上传相关信息。
实战
简洁的两三行代码即可实现
@PostMapping("wxMinReg")
public AjaxResult wxMinReg(@RequestParam("code") String code){
if(StrUtil.isEmpty(code)){
return AjaxResult.bad("缺少参数");
}
WxMinVo wxMinVo=new WxMinVo(wxMinAppid,wxMinSecret,code);
String response = HttpUtil.get("https://api.weixin.qq.com/sns/jscode2session", BeanUtil.beanToMap(wxMinVo, String.valueOf(new HashMap<>())));
WxMinLoginVo wxMinLoginVo= JSONUtil.toBean(response,WxMinLoginVo.class);
String unionid=wxMinLoginVo.getUnionid();
if(StrUtil.isEmpty(unionid)){
return AjaxResult.bad("注册失败");
}
System.out.println("获取信息"+unionid);
***********************************
//TODO 实现注册流程
}
我这里自定义两个实体WxMinVo、WxMinLoginVo。根据自己的项目需求来就行。