最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

uniapp實現(xiàn)微信小程序一鍵登錄功能

 更新時間:2024年10月21日 09:41:16   作者:小李大魔王  
這篇文章給大家介紹了uniapp實現(xiàn)微信小程序一鍵登錄功能,本文通過實例代碼給大家介紹的非常詳細,感興趣的朋友一起看看吧

前言

實現(xiàn)微信一鍵登錄的流程:

① 微信小程序端獲取臨時憑證codecode只能被消費一次

② 將code交給后端

③ 后端拿到code,向微信服務(wù)器發(fā)起請求,拿到openidopenid代表微信用戶在一個小程序中的唯一標識,另外拓展一下unionid代表微信用戶在企業(yè)中的唯一標識

④ 后端查詢數(shù)據(jù)庫是否存在這個openid,存在則登錄,返回token;不存在則注冊賬號,登錄,返回token

一、復(fù)制 AppID 和 AppSecret

去 微信公眾平臺 -> 開發(fā)與服務(wù) -> 開發(fā)管理 :微信公眾平臺 (qq.com)

復(fù)制AppIDAppSecret

二、通過uni.login() 拿到臨時憑證code

uni.login({
        provider: 'weixin',
        success: function (loginRes) {
        	//	打印臨時憑證
        	console.log(loginRes.code)
    	}
});

 另外,可以通過uni.getUserInfo()獲取到用戶的頭像、昵稱、手機號等信息,不過手機號需要企業(yè)身份才可以,如:

// 登錄成功
uni.getUserInfo({
    provider: 'weixin',
    success: function(info) {
        // 獲取用戶信息成功, info.authResult是用戶信息
        const wxUserInfo = info.userInfo
		//	打印頭像url
        console.log(wxUserInfo.avatarUrl)
        //	打印昵稱
        console.log(wxUserInfo.nickName)
        //	打印用戶詳細信息
        console.log(wxUserInfo)
    }
})

三、后端用臨時憑證code換取openid

 在spring-web工程中導(dǎo)入maven工具依賴

<dependency>
    <groupId>cn.hutool</groupId>
    <artifactId>hutool-all</artifactId>
    <version>5.8.16</version>
</dependency>

在下面工具類中配置自己的AppID,AppSecret后即可使用

import cn.hutool.http.HttpResponse;
import cn.hutool.http.HttpUtil;
import cn.hutool.json.JSONObject;
import cn.hutool.json.JSONUtil;
import org.springframework.web.util.UriComponentsBuilder;
public class WechatUtil {
	//	配置自己的app_id、app_secret
    private static final String APP_ID = "Your_APP_ID";
    private static final String APP_SECRET = "Your_APP_SERCERT";
    public static String getOpenId(String loginCode) {
        String url = "https://api.weixin.qq.com/sns/jscode2session";
        String requestUrl = UriComponentsBuilder.fromHttpUrl(url)
                .queryParam("appid", APP_ID)
                .queryParam("secret", APP_SECRET)
                .queryParam("js_code", loginCode)
                .queryParam("grant_type", "authorization_code")
                .toUriString();
        HttpResponse response = HttpUtil.createGet(requestUrl).execute();
        // 獲取 session_key 和 openid
        JSONObject parseObj = JSONUtil.parseObj(response.body());
        String openid = (String) parseObj.get("openid");
        return openid;
    }
}

 拿到openid之后便可以通過查詢數(shù)據(jù)庫實現(xiàn)一鍵登錄了

到此這篇關(guān)于uniapp實現(xiàn)微信小程序一鍵登錄的文章就介紹到這了,更多相關(guān)uniapp微信小程序一鍵登錄內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

最新評論

阜平县| 锦屏县| 东至县| 滦平县| 东至县| 红桥区| 上犹县| 南部县| 东兴市| 秭归县| 东乌| 治多县| 定边县| 花莲市| 福海县| 罗甸县| 洛宁县| 通州区| 旬邑县| 阳西县| 比如县| 遂平县| 洱源县| 苍南县| 黄陵县| 西华县| 吉隆县| 嘉禾县| 灌南县| 河南省| 广灵县| 区。| 淮安市| 金山区| 农安县| 彭阳县| 盐山县| 行唐县| 满洲里市| 汉川市| 博乐市|