微信端開(kāi)發(fā)--登錄小程序步驟
這個(gè)小程序的主要目的是為了用戶用微信的用戶信息登錄后將用戶信息授權(quán)存入自己的數(shù)據(jù)庫(kù)中,這樣以后每次微信登錄得到的code 所得到的 openid 可以在項(xiàng)目的數(shù)據(jù)庫(kù)中查到該用戶的相關(guān)信息。
在測(cè)試的過(guò)程中,需要用戶登錄得到的code,所以會(huì)用到微信開(kāi)發(fā)小工具~!
該工具的使用必須被項(xiàng)目授權(quán)
所生成的code是有時(shí)間限制的
微信登錄端口的api如下
請(qǐng)求參數(shù):
參數(shù) 必填 說(shuō)明
appid 是 小程序唯一標(biāo)識(shí)
secret 是 小程序的 app secret
js_code 是 登錄時(shí)獲取的 code
grant_type 是 填寫(xiě)為 authorization_code
返回參數(shù):
參數(shù) 說(shuō)明
openid 用戶唯一標(biāo)識(shí)
session_key 會(huì)話密鑰
expires_in 會(huì)話有效期, 以秒為單位, 例如2592000代表會(huì)話有效期為30天
返回說(shuō)明:
//正常返回的JSON數(shù)據(jù)包 { "openid": "OPENID", "session_key": "SESSIONKEY" "expires_in": 2592000 }
//錯(cuò)誤時(shí)返回JSON數(shù)據(jù)包(示例為Code無(wú)效) { "errcode": 40029, "errmsg": "invalid code" }
所以我們可以將代碼寫(xiě)成如下
公司將發(fā)送的報(bào)文格式自己都寫(xiě)好了的,我只需要寫(xiě)出請(qǐng)求路徑和請(qǐng)求參數(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; }
以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
JavaScript實(shí)現(xiàn)類似淘寶的購(gòu)物車(chē)效果
這篇文章主要介紹了JavaScript實(shí)現(xiàn)購(gòu)物車(chē)特效的相關(guān)資料,文中通過(guò)示例代碼詳細(xì)介紹了,利用Javascript如何實(shí)現(xiàn)類似淘寶購(gòu)物車(chē)中商品的單選、全選、刪除、修改等功能,需要的朋友可以參考借鑒,下面來(lái)一起看看吧。2017-03-03Js自動(dòng)截取字符串長(zhǎng)度,添加省略號(hào)(……)的實(shí)現(xiàn)方法
下面小編就為大家?guī)?lái)一篇Js自動(dòng)截取字符串長(zhǎng)度,添加省略號(hào)(……)的實(shí)現(xiàn)方法。小編覺(jué)得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2017-03-03moment.js使用方法總結(jié)(全網(wǎng)最全)
日常開(kāi)發(fā)中通常會(huì)對(duì)時(shí)間進(jìn)行下面這幾個(gè)操作,比如獲取時(shí)間,設(shè)置時(shí)間,格式化時(shí)間,比較時(shí)間等等,下面這篇文章主要給大家介紹了關(guān)于moment.js使用方法的相關(guān)資料,需要的朋友可以參考下2024-03-03微信小程序開(kāi)發(fā)之實(shí)現(xiàn)自定義Toast彈框
Toast相信對(duì)于利用微信小程序開(kāi)發(fā)的朋友們來(lái)說(shuō)都不陌生,有時(shí)候官方的樣式并不能滿足業(yè)務(wù)要求,怎么辦呢,當(dāng)然有解決辦法了。有一個(gè)插件可以直接幫我們完成WeToast,這篇文章主要給大家介紹了微信小程序開(kāi)發(fā)之實(shí)現(xiàn)自定義Toast彈框的相關(guān)資料,需要的朋友可以參考下。2017-06-06淺析JavaScript中的call、apply和bind方法
JavaScript中的call、apply和bind方法是用于改變函數(shù)執(zhí)行上下文和預(yù)先設(shè)置參數(shù)的強(qiáng)大工具,它們?cè)诰帉?xiě)可維護(hù)和優(yōu)雅的代碼時(shí)起到了重要的作用,本文將介紹這些方法的原理和使用場(chǎng)景,并展示如何將它們應(yīng)用于你的代碼中,使其更加漂亮2023-06-06js實(shí)現(xiàn)兼容IE6與IE7的DIV高度
兼容IE6與IE7的DIV高度的js代碼,2010-05-05