欧美一区二区三区老妇人-欧美做爰猛烈大尺度电-99久久夜色精品国产亚洲a-亚洲福利视频一区二区

Thinkphp3.2如何使用微信掃碼實(shí)現(xiàn)網(wǎng)頁登錄的功能

2023-02-07    分類: 網(wǎng)站建設(shè)

隨著聊天工具的不斷發(fā)展,如今在眾多的聊天工具中微信一騎絕塵,也就是基本每個(gè)人的手機(jī)都會(huì)有微信軟件,所以微信掃碼登錄網(wǎng)頁端比新浪,QQ等第三方平臺(tái)登錄使用都更加廣泛。

微信掃碼網(wǎng)頁端實(shí)現(xiàn)登錄的原理,是利用公眾號頁面的微信登錄功能,不過會(huì)一些代碼的增加和改動(dòng),使手機(jī)端與PC端能形成數(shù)據(jù)的聯(lián)動(dòng),下面就著重講一下改動(dòng)和增加代碼的內(nèi)容。

第一步,生成一個(gè)二維碼,如下圖所示:
即用手機(jī)掃碼該二維碼后,首次登錄需獲取用戶的信息,然后網(wǎng)頁直接登錄,二維碼是一個(gè)跳轉(zhuǎn)的URL鏈接地址,內(nèi)容如下:
//隨機(jī)字符串,用于聯(lián)運(yùn)PC與手機(jī)的媒介
$rand_code = 'M'.time().rand('100001','999999');
//登錄后返回的地址
$REDIRECT_URI = '域名/Weixin/login_return?rand_code='.$rand_code;
//微信登錄地址,也是二維碼地址
$scope='snsapi_userinfo';//表示需要授權(quán)
$url='https://open.weixin.qq.com/connect/oauth2/authorize?appid='.$APPID.'&redirect_uri='.urlencode($REDIRECT_URI).'&response_type=code&scope='.$scope.'&state=1#wechat_redirect';//登錄驗(yàn)證
vendor("phpqrcode.phpqrcode");//調(diào)用二維碼類
$level = 'L';// 點(diǎn)的大?。?到10,用于手機(jī)端4就可以了
$size = 7;/*二維碼的大小,下面注釋了把二維碼圖片保存到本地的代碼,如果要保存圖片,用$fileName替換第二個(gè)參數(shù)false*/
$fileName ='Uploads/qcode/2.png'; // 生成的文件名
$QRcode = new \QRcode();
$QRcode->png($url, $fileName, $level, $size);//生成二維碼
$this->qrcode = .'/'.$fileName;//二維碼路徑
$this->rand_code = $rand_code;//將隨機(jī)數(shù)傳遞到掃碼的頁面
如上所示,$url就是二維碼的內(nèi)容,掃碼后手機(jī)就瀏覽$url,手機(jī)確認(rèn)授權(quán)登錄后,就會(huì)返回$REDIRECT_URI的地址,方法如下:
function login_return(){
$rand_code = I('get.rand_code','');//PC生成的隨機(jī)數(shù)
$appid = C('APPID');
$secret = C('SECRET');
$code = $_GET["code"];
//獲取用戶的access_token和openid
$get_token_url = 'https://api.weixin.qq.com/sns/oauth2/access_token?appid='.$appid.'&secret='.$secret.'&code='.$code.'&grant_type=authorization_code';
$data = fopen($get_token_url, "rb");
$data = stream_get_contents($data);
@fclose($data);
$json_obj = json_decode($data,true);
//根據(jù)openid和access_token查詢用戶信息
$access_token = $json_obj['access_token'];
$openid = $json_obj['openid'];
$get_user_info_url = 'https://api.weixin.qq.com/sns/userinfo?access_token='.$access_token.'&openid='.$openid.'&lang=zh_CN';
$data2 = fopen($get_user_info_url, "rb");
$data2 = stream_get_contents($data2);
@fclose($data2);
//解析json
$info = json_decode($data2,true); //$info即是用戶信息的數(shù)組

上面是代碼,原理:手機(jī)掃碼登錄后,獲取用戶的信息,如果昵稱,頭像,地區(qū)等,最重要的是openid,根據(jù)openid查詢會(huì)員表有沒有存在,如果存在則將隨機(jī)數(shù)$rand_code更新到會(huì)員表member的rand_code里,如果不存在,則添加一行會(huì)員信息,添加的內(nèi)容是用戶的昵稱,頭像,openid, rand_code,因?yàn)閞and_code已經(jīng)保存在會(huì)員表的,所以PC網(wǎng)頁端用定時(shí)執(zhí)行的函數(shù),每隔幾秒查詢會(huì)員表中是否存在rand_code,如果存在則登錄成功,并且獲取該會(huì)員的信息,PC端的JS如下:

實(shí)現(xiàn)效果

微信登錄的功能比較簡單,主要是知道原理是怎么實(shí)現(xiàn)的就可以了。

名稱欄目:Thinkphp3.2如何使用微信掃碼實(shí)現(xiàn)網(wǎng)頁登錄的功能
標(biāo)題URL:http://chinadenli.net/news/235645.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供靜態(tài)網(wǎng)站、網(wǎng)站設(shè)計(jì)、建站公司、用戶體驗(yàn)、企業(yè)網(wǎng)站制作、移動(dòng)網(wǎng)站建設(shè)

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)

網(wǎng)站托管運(yùn)營
殴美女美女大码性淫生活在线播放| 国产日韩在线一二三区| 国产日本欧美韩国在线| 黄片美女在线免费观看| 丰满熟女少妇一区二区三区| 欧美日韩国产福利在线观看| 久久99午夜福利视频| 日本亚洲精品在线观看| 黄色国产自拍在线观看| 99精品人妻少妇一区二区人人妻| 国产熟女一区二区三区四区| 午夜精品一区免费视频| 亚洲日本加勒比在线播放| 久久综合亚洲精品蜜桃| 日韩精品视频一二三区| 国产精品日韩欧美第一页| 色无极东京热男人的天堂| 日韩人妻毛片中文字幕| 亚洲专区中文字幕视频| 天堂网中文字幕在线视频| 亚洲精品中文字幕熟女| 久久老熟女一区二区三区福利| 蜜桃臀欧美日韩国产精品| 91国内视频一区二区三区| 91精品视频免费播放| 久久精品国产亚洲av久按摩| 国产成人免费激情视频| 亚洲精品偷拍视频免费观看| 久久偷拍视频免费观看| 欧美国产日产综合精品| 人妻少妇系列中文字幕| 日本欧美三级中文字幕| 熟女少妇一区二区三区蜜桃| 国产精品白丝久久av| 国产乱淫av一区二区三区| 免费观看在线午夜视频| 偷自拍亚洲欧美一区二页| 欧美日韩国产亚洲三级理论片| 色婷婷国产熟妇人妻露脸| 午夜精品成年人免费视频| 国内午夜精品视频在线观看|