溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

微信端開發(fā)之怎樣登錄小程序

發(fā)布時間:2021-01-20 14:39:22 來源:億速云 閱讀:126 作者:小新 欄目:移動開發(fā)

這篇文章將為大家詳細(xì)講解有關(guān)微信端開發(fā)之怎樣登錄小程序,小編覺得挺實用的,因此分享給大家做個參考,希望大家閱讀完這篇文章后可以有所收獲。

                                                       本篇文章主要介紹了微信端開發(fā)--登錄小程序步驟,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧

這個小程序的主要目的是為了用戶用微信的用戶信息登錄后將用戶信息授權(quán)存入自己的數(shù)據(jù)庫中,這樣以后每次微信登錄得到的code 所得到的 openid 可以在項目的數(shù)據(jù)庫中查到該用戶的相關(guān)信息。

在測試的過程中,需要用戶登錄得到的code,所以會用到微信開發(fā)小工具~!

微信端開發(fā)之怎樣登錄小程序

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

微信端開發(fā)之怎樣登錄小程序

所生成的code是有時間限制的

微信登錄端口的api如下

接口地址:http://www.php.cn/

請求參數(shù):

參數(shù) 必填 說明
appid 是 小程序唯一標(biāo)識
secret 是 小程序的 app secret
js_code 是 登錄時獲取的 code
grant_type 是 填寫為 authorization_code

返回參數(shù):

參數(shù) 說明
openid 用戶唯一標(biāo)識
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;
  }

關(guān)于“微信端開發(fā)之怎樣登錄小程序”這篇文章就分享到這里了,希望以上內(nèi)容可以對大家有一定的幫助,使各位可以學(xué)到更多知識,如果覺得文章不錯,請把它分享出去讓更多的人看到。

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI