微信端開發(fā)--登錄小程序步驟
這個小程序的主要目的是為了用戶用微信的用戶信息登錄后將用戶信息授權(quán)存入自己的數(shù)據(jù)庫中,這樣以后每次微信登錄得到的code 所得到的 openid 可以在項目的數(shù)據(jù)庫中查到該用戶的相關(guān)信息。
在測試的過程中,需要用戶登錄得到的code,所以會用到微信開發(fā)小工具~!

該工具的使用必須被項目授權(quán)

所生成的code是有時間限制的
微信登錄端口的api如下
請求參數(shù):
參數(shù) 必填 說明
appid 是 小程序唯一標識
secret 是 小程序的 app secret
js_code 是 登錄時獲取的 code
grant_type 是 填寫為 authorization_code
返回參數(shù):
參數(shù) 說明
openid 用戶唯一標識
session_key 會話密鑰
expires_in 會話有效期, 以秒為單位, 例如2592000代表會話有效期為30天
返回說明:
//正常返回的JSON數(shù)據(jù)包
{
"openid": "OPENID",
"session_key": "SESSIONKEY"
"expires_in": 2592000
}
//錯誤時返回JSON數(shù)據(jù)包(示例為Code無效)
{
"errcode": 40029,
"errmsg": "invalid code"
}
所以我們可以將代碼寫成如下
公司將發(fā)送的報文格式自己都寫好了的,我只需要寫出請求路徑和請求參數(shù)就ok
//@Param code 用戶登錄微信生成的code
//@Return OAuthResult 返回包含openid和session_key和expires_in的類
public OAuthResult getOAuthResultByCode(String code) {
String path = "/sns/jscode2session";
Map<String, Object> parameters = new HashMap<>();
parameters.put("appid", WechatConstant.WECHAT_APP_ID);
parameters.put("secret", WechatConstant.WECHAT_APP_SECRET);
parameters.put("js_code", code);
parameters.put("grant_type", "authorization_code");
OAuthResult oAuthResult = messageSender.getMessageForObject(path, parameters, OAuthResult.class, false);
if (oAuthResult.getOpenid() == null){
throw new BusinessException(BusinessException.Code.OAUTH_PROCESS_ERROR, "OAuth異常,原因:" + oAuthResult.getErrmsg());
}
return oAuthResult;
}
以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
基于JavaScript實現(xiàn)手機短信按鈕倒計時(超簡單)
在淘寶等購物網(wǎng)站,我們都會看到一個發(fā)送短信倒計時的按鈕,究竟是如何實現(xiàn)的呢?下面小編通過本篇文章給大家分享一段代碼關(guān)于js實現(xiàn)手機短信按鈕倒計時,需要的朋友參考下2015-12-12
uniapp電商小程序?qū)崿F(xiàn)訂單30分鐘倒計時
這篇文章主要為大家詳細介紹了uniapp電商小程序?qū)崿F(xiàn)訂單30分鐘倒計時,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下2020-11-11
JS基于VML技術(shù)實現(xiàn)的五角星禮花效果代碼
這篇文章主要介紹了JS基于VML技術(shù)實現(xiàn)的五角星禮花效果代碼,涉及JavaScript數(shù)學(xué)運算與頁面元素動態(tài)操作的相關(guān)技巧,需要的朋友可以參考下2015-10-10

