微信小程序开发之微信支付(二)获取openID

openID是微信用户的唯一标识。我们通过从前端传来的 code 调用登录API获取openID和session_key。这个过程想必已经有很多例子。接下来我会介绍一种通过现成的SDK来实现。首先需要大家熟悉它。在下面的讲解中,我会指出所用到的类和方法

 cn.binarywang.wx.miniapp.api.WxMaService;

 cn.binarywang.wx.miniapp.bean.WxMaJscode2SessionResult;   //返回参数类

public String login(String code) {
    if (StringUtils.isEmpty(code)) {
        return "code is empty";
    }
    try {
        WxMaJscode2SessionResult sessionResult = wxMaService.getUserService().getSessionInfo(code);  //获取openID及session_key
        log.info("openid: openid={}", sessionResult.getOpenid());
        log.info("sessionKey: sessionKey={}", sessionResult.getSessionKey());
        return JsonUtil.toJson(sessionResult);
    } catch (WxErrorException e) {
        log.error(e.getMessage());
        return e.toString();
    }

}

微信小程序开发之微信支付(二)获取openID_第1张图片

只有js_code为变化值,其余都是定值。所以只需传入参数js_code,其他会自动填写。但需要在项目配置文件中填写好其他3个参数。(配置在.yml文件中)

wechat:
  pay:
    appId: 
    mchId:
    mchKey:
    keyPath:
    notifyUrl: 

  miniapp:
    appid: 
    secret:
    token:
    aesKey:
    msgDataForm: JSON

你可能感兴趣的:(微信小程序)