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。根据自己的项目需求来就行。

相关推荐
张一凡937 小时前
给 Coding Agent 加一道"架构闸门":Jin 是如何做到"先审架构、再写代码、不漂移"的
前端·后端·agent
用户034187671387 小时前
用秒哒做了个拍照识餐小程序,上线两周踩的 4 个坑
微信小程序
Jvav练习生7 小时前
AI Agent 总在关键时刻“失忆”翻车?一文讲透上下文工程(附可运行 Python 代码)
后端
leo在掘金7 小时前
只挂了11小时,5000台开发机被塞进SSH公钥
后端·架构
xjz18427 小时前
Rust 运算符优先级:括号不只用来改变顺序
后端
写码跑山的老艾7 小时前
为什么有了 MySQL,还要 Redis 和 Elasticsearch?从一件商品看数据系统的权衡
后端
对象存储与RustFS7 小时前
Jenkins 的构建产物别堆在控制器磁盘:用 RustFS 当它的 S3 工件仓库
后端·docker·云原生
王中阳Go7 小时前
100 件货卖出 116 件,库存停在 -16
后端·mysql·go
泡海椒7 小时前
jquick-pdf 多重折线(JMultiLineChartData)实战:Java 生成工单 SLA 月报
后端