feat:增加微信小程序登录

This commit is contained in:
曾文豪
2023-02-21 10:45:44 +08:00
parent 31f6babb97
commit c3f4f91a37
4 changed files with 152 additions and 94 deletions

View File

@@ -9,11 +9,14 @@ import com.tiesheng.login.config.token.bean.TokenBean;
import com.tiesheng.login.pojos.CodeExtraDTO;
import com.tiesheng.login.pojos.DoLoginInfo;
import com.tiesheng.login.pojos.UniqueIndexDTO;
import com.tiesheng.login.pojos.WxminiLoginVo;
import com.tiesheng.login.service.TieshengLoginConfigurer;
import com.tiesheng.platform.config.ding.PlatformDingConfig;
import com.tiesheng.platform.config.ding.bean.DingJsapiSignature;
import com.tiesheng.platform.config.ding.bean.DingUserInfo;
import com.tiesheng.platform.config.wxmini.PlatformWxminiConfig;
import com.tiesheng.platform.config.wxmp.PlatformWxmpConfig;
import com.tiesheng.platform.config.wxmp.bean.WxConfigBean;
import com.tiesheng.platform.config.wxmp.bean.WxJsapiSignature;
import com.tiesheng.platform.config.wxmp.bean.WxUserInfo;
import com.tiesheng.util.config.GlobalConfig;
@@ -40,6 +43,8 @@ public class LoginController {
@Autowired
PlatformDingConfig platformDingConfig;
@Autowired
PlatformWxminiConfig platformWxminiConfig;
@Autowired
TieshengLoginConfigurer tieshengLoginConfigurer;
@Autowired
GlobalConfig globalConfig;
@@ -186,5 +191,30 @@ public class LoginController {
return ApiResp.respOK(jsapiSignature);
}
///////////////////////////////////////////////////////////////////////////
// 小程序相关
///////////////////////////////////////////////////////////////////////////
/**
* 微信小程序登录
*
* @return
*/
@RequestMapping("/wxmini/index/{service}")
@TokenIgnore
public ApiResp<WxminiLoginVo> wxminiIndex(@PathVariable String service, String code) {
String openid = platformWxminiConfig.jscode2session(service, code);
WxConfigBean configBean = platformWxminiConfig.getConfigBean(service);
TokenBean tokenBean = tieshengLoginConfigurer.doLogin(new DoLoginInfo(configBean.getAppId(),
openid, "wxmini", "mini", "{}"));
WxminiLoginVo loginVo = new WxminiLoginVo();
loginVo.setOpenid(openid);
if (tokenBean != null) {
loginVo.setToken(tokenBean.toToken());
}
return ApiResp.respOK(loginVo);
}
}