首页 > 基础资料 博客日记

springboot使用wx-java-miniapp实现微信登录

2024-08-06 03:00:06基础资料围观171

Java资料网推荐springboot使用wx-java-miniapp实现微信登录这篇文章给大家,欢迎收藏Java资料网享受知识的乐趣

 导入Maven:

        <dependency>
            <groupId>com.github.binarywang</groupId>
            <artifactId>wx-java-miniapp-spring-boot-starter</artifactId>
            <version>4.6.1.B</version>
        </dependency>

yaml和properties配置文件:

appid查看:
自己的在微信小程序管理后台,设置》基本设置》账号信息。 或 开发》开发管理》开发设置》开发者ID(可重置 AppSecret 小程序密钥

properties:

wx.miniapp.appid=你的小程序appid
wx.miniapp.secret=你的小程序密钥

yaml:

wx:
  miniapp:
    appid: xxx
    secret: xxx

 现在能获取的用户信息就只有呢称(nickName)和头像(avatarUrl),根据自己需求看需不要保存用户信息。openid这个建议保存,不要暴露在前端。

{
    "nickName": "xxxx",
    "gender": 0,
    "language": "zh_CN",
    "city": "",
    "province": "",
    "country": "",
    "avatarUrl": "头像"
}
    /**
     *
     * @param appid 小程序appid
     * @param code 前端wx.login获取的code
     * @return
     */
   
    @GetMapping("/login")
    public R<Object> login(@PathVariable String appid, String code) {
        if (StrUtil.isBlank(code)) {
            return R.error(RC112.getCode(), "登录凭证不能为空");
        }
        if (!wxMaService.switchover(appid)) {
            return R.error(RC112.getCode(), String.format("未找到对应appid=[%s]的配置,请核实!", appid));
        }
        try {
            WxMaJscode2SessionResult session = wxMaService.getUserService().getSessionInfo(code);
         //下面做自己的业务逻辑,大概就是去数据库查询信息存不存在,不存在创建用户信息,保存openid
            log.info(session.getSessionKey());
            log.info(session.getOpenid());
        } catch (WxErrorException e) {
            log.error(e.getMessage(), e);
            return R.error(200,e.getMessage());
        } finally {
            WxMaConfigHolder.remove();//清理ThreadLocal
        }
        return R.error(RC500.getCode(),RC500.getMsg());
    }


文章来源:https://blog.csdn.net/qq_54502508/article/details/138656006
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:jacktools123@163.com进行投诉反馈,一经查实,立即删除!

标签:

相关文章

本站推荐

标签云