微信小程式開發之微信支付(二)獲取openID
阿新 • • 發佈:2019-01-23
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