微信端登入小程式步驟開發教程

高洛峰
發布: 2017-03-11 14:04:33
原創
1875 人瀏覽過

本篇文章主要介紹了微信端開發--登入小程式步驟,小編覺得挺不錯的,現在分享給大家,也給大家做個參考。一起跟著小編過來看看吧

這個小程式的主要目的是為了用戶用微信的用戶資訊登入後將用戶資訊授權存入自己的資料庫中,這樣以後每次微信登入都會得到的code所得到的openid 可以在專案的資料庫中查到該使用者的相關資訊。

在測試的過程中,需要使用者登入得到的code,所以會用到微信開發小工具~!

微信端登入小程式步驟開發教程

該工具的使用必須被專案授權

微信端登入小程式步驟開發教程

#所產生的code是有時間限制的

微信登入埠的api如下

介面位址:http://www.php.cn/

請求參數:

##參數必填說明

appid 是小程式唯一識別
secret 是小程式的app secret
js_code 是登入時取得的code
grant_type 是填入為authorization_code

# 傳回參數:


參數說明

openid 使用者唯一識別
session_key 會話金鑰
expires_in 會話有效期限, 以秒為單位, 例如2592000代表會話有效期限為30天

回傳說明:


//正常返回的JSON数据包
{
   "openid": "OPENID",
   "session_key": "SESSIONKEY"
   "expires_in": 2592000
}
登入後複製


//错误时返回JSON数据包(示例为Code无效)
{
  "errcode": 40029,
  "errmsg": "invalid code"
}
登入後複製

所以我們可以將程式碼寫成如下

公司將要傳送的封包格式自己都寫好了的,我只需要寫出請求路徑和請求參數就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;
  }
登入後複製

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持腳本之家。

以上是微信端登入小程式步驟開發教程的詳細內容。更多資訊請關注PHP中文網其他相關文章!

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
最新問題
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板
關於我們 免責聲明 Sitemap
PHP中文網:公益線上PHP培訓,幫助PHP學習者快速成長!