微信端開發(fā)--登錄小程序步驟
這個小程序的主要目的是為了用戶用微信的用戶信息登錄后將用戶信息授權(quán)存入自己的數(shù)據(jù)庫中,這樣以后每次微信登錄得到的code 所得到的 openid 可以在項目的數(shù)據(jù)庫中查到該用戶的相關(guān)信息。
在測試的過程中,需要用戶登錄得到的code,所以會用到微信開發(fā)小工具~!
該工具的使用必須被項目授權(quán)
所生成的code是有時間限制的
微信登錄端口的api如下
請求參數(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; }
以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
Js自動截取字符串長度,添加省略號(……)的實現(xiàn)方法
下面小編就為大家?guī)硪黄狫s自動截取字符串長度,添加省略號(……)的實現(xiàn)方法。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2017-03-03moment.js使用方法總結(jié)(全網(wǎng)最全)
日常開發(fā)中通常會對時間進行下面這幾個操作,比如獲取時間,設(shè)置時間,格式化時間,比較時間等等,下面這篇文章主要給大家介紹了關(guān)于moment.js使用方法的相關(guān)資料,需要的朋友可以參考下2024-03-03微信小程序開發(fā)之實現(xiàn)自定義Toast彈框
Toast相信對于利用微信小程序開發(fā)的朋友們來說都不陌生,有時候官方的樣式并不能滿足業(yè)務(wù)要求,怎么辦呢,當(dāng)然有解決辦法了。有一個插件可以直接幫我們完成WeToast,這篇文章主要給大家介紹了微信小程序開發(fā)之實現(xiàn)自定義Toast彈框的相關(guān)資料,需要的朋友可以參考下。2017-06-06淺析JavaScript中的call、apply和bind方法
JavaScript中的call、apply和bind方法是用于改變函數(shù)執(zhí)行上下文和預(yù)先設(shè)置參數(shù)的強大工具,它們在編寫可維護和優(yōu)雅的代碼時起到了重要的作用,本文將介紹這些方法的原理和使用場景,并展示如何將它們應(yīng)用于你的代碼中,使其更加漂亮2023-06-06