Procházet zdrojové kódy

微信登录获取unionid
注意:wx.login + code2Session 只有微信开放平台绑定小程序之后才可以返回unionid
https://developers.weixin.qq.com/minigame/dev/guide/open-ability/union-id.html

skyline před 1 rokem
rodič
revize
0dc7fc3e9e

+ 4 - 0
service/src/main/java/com/kym/service/miniapp/impl/UserServiceImpl.java

@@ -105,6 +105,9 @@ public class UserServiceImpl extends MPJBaseServiceImpl<UserMapper, User> implem
             var user = baseMapper.selectOne(new QueryWrapper<User>().eq("openid", openid));
             if (user != null) {
                 // 登录逻辑
+                if(CommUtil.isNotEmptyAndNull(unionid) && CommUtil.isEmptyOrNull(user.getUnionid())){
+                    user.setUnionid(unionid);
+                }
                 return handleLogin(user);
             } else {
                 // 注册逻辑
@@ -182,6 +185,7 @@ public class UserServiceImpl extends MPJBaseServiceImpl<UserMapper, User> implem
         StpUtil.login(user.getId());
         // 用户名存入session,统一日志读取使用
         StpUtil.getSession().set("openid", user.getOpenid());
+        StpUtil.getSession().set("unionid", user.getUnionid());
         StpUtil.getSession().set("userId", user.getId());
         StpUtil.getSession().set("username", user.getUsername());
         StpUtil.getSession().set("mobilePhone", user.getMobilePhone());