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

微信公眾號(hào)實(shí)現(xiàn)掃碼獲取微信用戶信息(網(wǎng)頁(yè)授權(quán))

 更新時(shí)間:2019年04月09日 14:18:51   作者:悅~  
剛開(kāi)始接觸微信的時(shí)候一頭霧水,領(lǐng)導(dǎo)想要一個(gè)掃碼獲取微信用戶信息的功能,接下來(lái)通過(guò)本文給大家分享微信公眾號(hào)實(shí)現(xiàn)掃碼獲取微信用戶信息(網(wǎng)頁(yè)授權(quán)),需要的朋友可以參考下

 剛開(kāi)始接觸微信的時(shí)候一頭霧水,領(lǐng)導(dǎo)想要一個(gè)掃碼獲取微信用戶信息的功能,而且是掃的別人的二維碼,我是一陣忙活啊。

經(jīng)過(guò)努力和嘗試,終于功夫不負(fù)有心人啊,趕緊記錄一下,我用的是thinkphp編寫的。

第一步:就是二維碼的生成 

1.首先要確定第一個(gè)二維碼,因?yàn)榧热皇菕叽a,肯定是要第一個(gè)二維碼的,也就是第一人才可以。我將第一個(gè)二維碼的唯一值(id)設(shè)置成零,然后開(kāi)始我的編寫

2.既然是二維碼,我用了phpqrcode二維碼生成插件,二維碼的生成可以在本地編寫,查看效果后再上傳服務(wù)器。

(1)從網(wǎng)上下載下phpqrcode插件包,將它放到thinkphp的文件里,路徑如下:ThinkPHP\Library\Vendor ,截圖如下:

(2)二維碼的生成,在調(diào)用顯示二維碼的控制器的方法中調(diào)用這個(gè)插件包,然后設(shè)置下掃描后跳轉(zhuǎn)的URL就好了,代碼如下:

$url ="http://www.baidu.com";
$level=3;
$size=4;
Vendor('phpqrcode.phpqrcode'); //引入插件
$errorCorrectionLevel = intval($level) ;//容錯(cuò)級(jí)別
$matrixPointSize = intval($size);//生成圖片大小
//生成二維碼圖片
$object = new \QRcode(); 
$path = "Public/ER/1.png"; //本地文件存儲(chǔ)路徑
$object->png($url, $path, $errorCorrectionLevel, $matrixPointSize, 2);

這只是實(shí)現(xiàn)生成二維碼并且可以進(jìn)入二維碼指定的網(wǎng)址,真正要實(shí)現(xiàn)的目的是掃帶有參數(shù)的二維碼,獲取微信用戶的信息

下面就是怎么實(shí)現(xiàn)生成帶有參數(shù)的二維碼   

3.(1)要用到微信的網(wǎng)頁(yè)授權(quán),就要用到公眾號(hào)的幾個(gè)參數(shù):1是AppID 2是AppSecret  這是公眾號(hào)申請(qǐng)成功后分配下來(lái)的

(2)利用這兩個(gè)參數(shù),然后再配合獲取access_token的值就可以了

代碼如下(掃描后跳轉(zhuǎn)到getUserInfo方法,并且把唯一鍵值傳過(guò)去):

$tid = 0; //傳值的參數(shù)
$level=3;
$size=4;
Vendor('phpqrcode.phpqrcode');
$errorCorrectionLevel = intval($level) ;//容錯(cuò)級(jí)別
$matrixPointSize = intval($size);//生成圖片大小
//生成二維碼圖片
$object = new \QRcode();
$path = "Public/ER/" . $tid . ".png"; //本地文件存儲(chǔ)路徑
$object->png($url, $path, $errorCorrectionLevel, $matrixPointSize, 2);
$appid='******'; //公眾號(hào)唯一標(biāo)識(shí)
$redirect_uri = urlencode ( 'http://www.****.net/index.php/Admin/Sindex/getUserInfo?id='.$tid ); //這個(gè)是設(shè)置參數(shù)和授權(quán)后重定向的回調(diào)鏈接地址
//snsapi_userinfo彈出授權(quán)頁(yè)面,可通過(guò)openid拿到昵稱、性別、所在地 snsapi_base ,不彈出授權(quán)頁(yè)面,直接跳轉(zhuǎn),只能獲取用戶openid 
$url ="https://open.weixin.qq.com/connect/oauth2/authorize?appid=$appid&redirect_uri=$redirect_uri&response_type=code&scope=snsapi_userinfo&state=1#wechat_redirect"; 

 下面是寫跳轉(zhuǎn)后的操作  

(1)接收傳過(guò)來(lái)的值

(2)取得openid

(3)根據(jù)全局access_token和openid查詢用戶信息 

(4)將信息寫入數(shù)據(jù)庫(kù)

獲取openid或者其他的東西,用到下面的方法,可以快速截取到需要的東西

function getJson($url){
 $ch = curl_init();
 curl_setopt($ch, CURLOPT_URL, $url);
 curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE); 
 curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, FALSE); 
 curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
 $output = curl_exec($ch);
 curl_close($ch);
 return json_decode($output, true);
}

 接下來(lái)就是將上面的步驟逐一實(shí)現(xiàn),代碼如下:

public function getUserInfo()
{
 $appid = "*****"; //公眾號(hào)唯一標(biāo)識(shí)
 $secret = "*****"; //應(yīng)用秘鑰
 //$code是回調(diào)的時(shí)候地址上帶的 只需要get方式接收就可以了
 $code = $_GET["code"]; 
 //獲取傳過(guò)來(lái)的值
 $htjid = $_GET["id"];
 //第一步:取得openid
 $oauth2Url = "https://api.weixin.qq.com/sns/oauth2/access_token?appid=$appid&secret=$secret&code=$code&grant_type=authorization_code";
 $oauth2 = $this->getJson($oauth2Url);
 //第二步:根據(jù)全局access_token和openid查詢用戶信息 
 $access_token = $oauth2["access_token"]; 
 $openid = $oauth2['openid']; 
 $get_user_info_url = "https://api.weixin.qq.com/sns/userinfo?access_token=$access_token&openid=$openid&lang=zh_CN";
 $userinfo = $this->getJson($get_user_info_url);
 //寫入數(shù)據(jù)庫(kù)微信用戶
 M()->startTrans();//開(kāi)啟事務(wù)
 $n = M("zp_user"); //寫入的表
 $openid = $data['openid'] = $userinfo['openid']; //微信用戶openid
 $data['sex'] = $userinfo['sex']; //性別 
 $data['headimgurl'] = $userinfo['headimgurl']; //頭像
 $data['province'] = $userinfo['province']; //地區(qū)sheng
 $data['city'] = $userinfo['city']; //地區(qū)shi
 $data['subscribe_time'] = time(); //時(shí)間
 $data['qr_scene'] = $htjid; //傳過(guò)的值
 $data['nickname'] = $userinfo['nickname']; //昵稱
 $z = $n->lock(true)->add($data);
 if(!$z)
 {
 M()->rollback();//回滾
 $this->error('添加錯(cuò)誤!');
 }else{
 M()->commit();//事務(wù)提交
 }
} 

 到此,就可以實(shí)現(xiàn)掃描二維碼獲取用戶信息了,并且將用戶信息寫入數(shù)據(jù)庫(kù)

這是第一個(gè)二維碼,生成后,就可以將id的參數(shù)值換成前面?zhèn)鬟^(guò)來(lái)的值,也就是掃碼的值 $tid = 0; //傳值的參數(shù)

如果想要自己的二維碼頁(yè)面好看的話,比如想要把自己的微信昵稱和二維碼合成一張圖片的話,也是可以實(shí)現(xiàn)的,這就要用到圖片的合成了,下次再說(shuō)吧。

總結(jié)

以上所述是小編給大家介紹的微信公眾號(hào)實(shí)現(xiàn)掃碼獲取微信用戶信息(網(wǎng)頁(yè)授權(quán)),希望對(duì)大家有所幫助,如果大家有任何疑問(wèn)歡迎給我留言,小編會(huì)及時(shí)回復(fù)大家的!

相關(guān)文章

  • PHP添加圖片水印、壓縮、剪切的封裝類

    PHP添加圖片水印、壓縮、剪切的封裝類

    為了防止自己辛苦制作的作品被別人竊取,經(jīng)常給作品添加水印,以此保證作品的唯一性,那么該怎么給圖片添加水印呢,如果作品尺寸過(guò)大,該如何處理呢,下面小編給大家詳細(xì)介紹有關(guān)PHP給圖片添加水印 壓縮 剪切的封裝類,需要的朋友可以參考下
    2015-08-08
  • Yii清理緩存的方法

    Yii清理緩存的方法

    這篇文章主要介紹了Yii清理緩存的方法,涉及Yii結(jié)合jQuery的ajax調(diào)用實(shí)現(xiàn)清理緩存功能,代碼簡(jiǎn)單實(shí)用,需要的朋友可以參考下
    2016-01-01
  • PHP 獲取視頻時(shí)長(zhǎng)的實(shí)例代碼

    PHP 獲取視頻時(shí)長(zhǎng)的實(shí)例代碼

    本文通過(guò)實(shí)例代碼給大家介紹了php獲取視頻時(shí)長(zhǎng)的相關(guān)知識(shí),非常不錯(cuò),具有一定的參考借鑒價(jià)值,需要的朋友參考下吧
    2018-07-07
  • php5.x禁用eval的操作方法

    php5.x禁用eval的操作方法

    這篇文章主要介紹了php5.x禁用eval的操作方法,非常不錯(cuò),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2018-10-10
  • php 中的closure用法詳解

    php 中的closure用法詳解

    這篇文章主要介紹了php 中的closure用法詳解,需要的朋友可以參考下
    2017-06-06
  • 解決thinkphp5未定義變量會(huì)拋出異常,頁(yè)面錯(cuò)誤,請(qǐng)稍后再試的問(wèn)題

    解決thinkphp5未定義變量會(huì)拋出異常,頁(yè)面錯(cuò)誤,請(qǐng)稍后再試的問(wèn)題

    今天小編就為大家分享一篇解決thinkphp5未定義變量會(huì)拋出異常,頁(yè)面錯(cuò)誤,請(qǐng)稍后再試的問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2019-10-10
  • laravel修改用戶模塊的密碼驗(yàn)證實(shí)現(xiàn)

    laravel修改用戶模塊的密碼驗(yàn)證實(shí)現(xiàn)

    本文主要介紹了laravel修改用戶模塊的密碼驗(yàn)證實(shí)現(xiàn),文中通過(guò)示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2021-09-09
  • php檢測(cè)文件編碼的方法示例

    php檢測(cè)文件編碼的方法示例

    這篇文章主要介紹了php檢測(cè)文件編碼的方法示例,需要的朋友可以參考下
    2014-04-04
  • PHP中關(guān)于php.ini參數(shù)優(yōu)化詳解

    PHP中關(guān)于php.ini參數(shù)優(yōu)化詳解

    在本篇文章里小編給大家整理的是關(guān)于PHP引擎php.ini參數(shù)優(yōu)化的相關(guān)知識(shí)點(diǎn),有興趣的朋友們可以學(xué)習(xí)下。
    2020-02-02
  • phpmyadmin下載、安裝、配置教程

    phpmyadmin下載、安裝、配置教程

    這篇文章主要為大家詳細(xì)介紹了phpmyadmin下載、安裝、配置教程,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2017-05-05

最新評(píng)論

抚远县| 山阳县| 涟水县| 福贡县| 大同县| 阳朔县| 基隆市| 黄梅县| 河东区| 宽甸| 宾川县| 全椒县| 措美县| 彰武县| 松潘县| 黄梅县| 噶尔县| 施秉县| 香格里拉县| 翼城县| 盐亭县| 济阳县| 铜山县| 揭东县| 沂水县| 育儿| 汝阳县| 银川市| 甘孜县| 禹州市| 岳普湖县| 浪卡子县| 孝感市| 岐山县| 辛集市| 保亭| 宁化县| 玉林市| 昌黎县| 南汇区| 卢湾区|