springboot项目之微信小程序授权登陆

引言

现实工作中小程序微信授权是最常见的需求,多少情况根据文档说明来基本上能够获取微信用户的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。根据自己的项目需求来就行。

相关推荐
aramae1 小时前
C++ -- STL -- vector
开发语言·c++·笔记·后端·visual studio
xdscode2 小时前
SpringBoot ThreadLocal 全局动态变量设置
java·spring boot·threadlocal
lifallen2 小时前
Paimon 原子提交实现
java·大数据·数据结构·数据库·后端·算法
舒一笑2 小时前
PandaCoder重大产品更新-引入Jenkinsfile文件支持
后端·程序员·intellij idea
PetterHillWater3 小时前
AI编程之CodeBuddy的小试
后端·aigc
天河归来3 小时前
springboot框架redis开启管道批量写入数据
java·spring boot·redis
合作小小程序员小小店3 小时前
web网页,在线%食谱推荐系统%分析系统demo,基于vscode,uniapp,vue,java,jdk,springboot,mysql数据库
vue.js·spring boot·vscode·spring·uni-app
codervibe3 小时前
如何用 Spring Security 构建无状态权限控制系统(含角色菜单控制)
java·后端
codervibe3 小时前
项目中如何用策略模式实现多角色登录解耦?(附实战代码)
java·后端
expect7g3 小时前
Flink-Checkpoint-2.OperatorChain
后端·flink