1. 程式人生 > >微信小程式開發之微信支付(二)獲取openID

微信小程式開發之微信支付(二)獲取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();
    }

}

只有js_code為變化值,其餘都是定值。所以只需傳入引數js_code,其他會自動填寫。但需要在專案配置檔案中填寫好其他3個引數。(配置在.yml檔案中)

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

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