123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236 |
- <meta charset="utf-8">
- <meta name="viewport" content="width=device-width,initial-scale=1.0, minimum-scale=1.0, maximum-scale=1.0, user-scalable=no"/>
- <?php
- /*
- 本代码已经申请著作权保护
- 盗版必究
- 法律顾问:北京东环律所事务所
-
- Array ( [openid] => oftVf0iXOUBEuBMj2LOhODTE8SoY [nickname] => 朱发刚 [sex] => 1
- [language] => zh_CN [city] => 元朗区 [province] => 香港
- [country] => 中国
- [headimgurl] =>
- http://thirdwx.qlogo.cn/mmopen/vi_32/Q0j4TwGTfTLX6BOQKz25FVs3W1jvqlUkmnibgXne80H4kticKWhiaf0h9lHSG18tjyh7j9ef36lWHno3YyN3hBnjA/132
- [privilege] => Array ( ) )
- 朱发刚oooooooooooooooo您已经授权成功!关闭本页面即可开始咨询.改名成功!
-
- */
- $toUsername=$_GET["toUsername"];;
- $json = file_get_contents('json/'.$toUsername.'.json');
- //echo $json;
- $arr = json_decode($json,true);
- $appid = $_GET['appid']; //state
- $state = $_GET['state'];
- if($appid==''){echo '缺少授权服务号的appid';
- exit;};
- $secret = $arr['GAPPSECRET'];
- //if($secret==''){echo '缺少授权服务号的GAPPSECRET';
- //exit;};
- // print_r($toUsername);
-
-
- $code = $_GET["code"];
- $zfopenid = $_GET["zfopenid"];
- $kfopenid = $_GET["kfopenid"];
- $kfname = $_GET["kfname"];
-
- //https://api.weixin.qq.com/sns/oauth2/access_token?appid=$appid&secret=$secret&code=$code&grant_type=authorization_code";
- $oauth2Url = "https://api.weixin.qq.com/sns/oauth2/component/access_token?appid=$appid&code=$code&grant_type=authorization_code&component_appid=wx87202cc559004852&component_access_token=9_RIU2OUD9FIQIxHgZPJ4OnnyY10u-rj0XJRayVi45eokuBvh5zmTgrairvNhbwaQpv282-DPnjUDoBTbLXKYDoPHR3FwtCbUFASdOtyNWqONksR5IHxTlzBjTFccwI3U_6reMFcsnvL_s-svuWYGcAFAFHP";
- $oauth2 = getJson($oauth2Url);
- // print_r($oauth2);
- //第二步:根据全局access_token和openid查询用户信息
- if ($oauth2['errcode']<>0){
- echo "参数错误,一般是密钥错误引起,请检查.<br>";
- print_r($oauth2['errmsg']);
-
- exit;
- }
- $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 = getJson($get_user_info_url);
- //print_r ($userinfo);
- if ($userinfo['errcode']==0){
- //打印用户信息
- $ucid=$arr['uniacid'];
-
- $website=$arr['website'];
- if($kfopenid<>''){
- $json = file_get_contents("json/".$uniacid."_kefu.json");
- $kefuarr = json_decode($json,true); //客服列表
- if($kefuarr[$kfopenid]=='空闲'){
- $kefuarr[$kfopenid]=$zfopenid;
- $res=file_put_contents("json/".$uniacid."_kefu.json", json_encode($kefuarr));
- $okstr='接入客服'.$kfname;
- }
- }
-
- // print_r("<img src='".$userinfo['headimgurl']."'>");
- print_r('你好!'.$userinfo['nickname'].'授权成功!'.$okstr.' 关闭本页面,回复任意字符即可开始咨询');
- //插入数据库 //
- edituser($ucid,$zfopenid,$userinfo['nickname'],$website,$userinfo['headimgurl'],$userinfo['city']);
- define("APPID", $arr['APPID']);
- define("APPSECRET", $arr['APPSECRET']);
-
-
- $myopenid=trim($arr['openids']);//管理员id
- $Atoken=getToken(APPID,APPSECRET,$toUsername);//修正token时间问题
-
- $url = "https://api.weixin.qq.com/cgi-bin/message/custom/send?access_token=".$Atoken;
- // echo $url ;
- $zt=$kfname.":";
- //给用户说话 //
- $data='{ "touser":"'.$zfopenid.'", "msgtype":"text",
- "text": { "content":"'.$zt.$userinfo['nickname'].',你好!有什么可以帮你的吗. ' . $zt . ' " } }';
- // echo $data;
-
- //生成用户缓存
- alluser($ucid,$website);
- //删除缓存数据
- //exec("rm -f ".'json/'.$ucid.'_token.json');
- $aaa = http_post_data($url, $data);
-
- //通知管理员//
- if ($userinfo['sex']==1){ $sex=',性别:男';}
- if($userinfo['sex']==0){ $sex='性别:女';}
-
- $baogao=' {
- "title": "['.$kfname.'用户授权成功]'.$userinfo['nickname'].'",
- "description": "来自: '.$userinfo['province'].$userinfo['city'].$sex.' \n本链接仅供通知.",
- "url": "'.$website.'addons/qidong_app/user.php?openid='.$zfopenid.'",
- "thumb_url": "'.$userinfo['headimgurl'].'"
- }';
- //echo $baogao;
- // logger($baogao);
- $caidan=trim($arr['Gjsonid']);//进入通知:
- if ($caidan<>''){
-
- $Btoken=getToken($arr['Gappid'],$arr['GAPPSECRET'],$caidan);//修正token时间问题
- // logger("通知下发:".$caidan_arr['APPID'].'-状态:'.$caidan_arr['openids']);
- $url = "https://api.weixin.qq.com/cgi-bin/message/custom/send?access_token=".$Btoken;
- $myopenid=trim($arr['Gopenids']);
- }
- $data1='{ "touser":"'.$myopenid.'", "msgtype":"link", "link": '.$baogao.' }';
-
- $aaa = http_post_data($url, $data1); //
- if($kfopenid<>''){
- $baogao=' {
- "title": "[新用户授权进入]'.$zt.'-'.$userinfo['city'].'",
- "description": "来自: '.$userinfo['province'].$userinfo['city'].$sex.' \n本链接仅供通知.",
- "url": "'.$website.'addons/qidong_app/user.php?openid='.$zfopenid.'",
- "thumb_url": "'.$userinfo['headimgurl'].'"
- }';
- $data1='{ "touser":"'.$kfopenid.'", "msgtype":"link", "link": '.$baogao.' }';
-
- }
-
- echo("<script> setTimeout(function(){WeixinJSBridge.call('closeWindow');},100);</script>");
- }else
-
- {
- print_r('授权失败,请检查信息是否正确.');
- }
-
- 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);
- }
-
- function edituser($ucid,$openid,$nickname,$website,$avartar,$zhuangtai) //改名取号
- {
- $token_access_url = "{$website}/app/index.php?i=".$ucid."&c=entry&a=wxapp&do=edituser&m=qidong_app&openid=".$openid."&nickname=".$nickname."&avartar=".$avartar."&zhuangtai=".$zhuangtai; //zhuangtai
- // echo $token_access_url;
- // exit;
- $res = file_get_contents($token_access_url); //获取文件内容或获取网络请求的内容
- $result = json_decode($res, true); //接受一个 JSON 格式的字符串并且把它转换为 PHP
- $data=$result['data'];
- if ($data==1){$data='改名成功!';}
- else{$data='改名失败!';}
- return $data ;
- }
- function getToken($appid,$appsecret,$jsonid){
-
- $file = file_get_contents("json/{$jsonid}_token.json",true);
- $result = json_decode($file,true);
- if (time() > $result['expires']){
- $data = array();
- $data['access_token'] = getNewToken($appid,$appsecret);
- $data['expires']=time()+7200;
- $jsonStr = json_encode($data);
- $fp = fopen("json/{$jsonid}_token.json", "w");
- fwrite($fp, $jsonStr);
- fclose($fp);
- return $data['access_token'];
- }else{
- return $result['access_token'];
- }
- }
- function getNewToken($appid,$appsecret){
- $url = "https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid={$appid}&secret={$appsecret}";
- $access_token_Arr = https_request($url);
- return $access_token_Arr['access_token'];
- }
- function https_request ($url){
- $ch = curl_init();
- curl_setopt($ch, CURLOPT_URL, $url);
- curl_setopt($ch,CURLOPT_RETURNTRANSFER,1);
- curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
- $out = curl_exec($ch);
- curl_close($ch);
- return json_decode($out,true);
- }
- function http_post_data($url, $data_string) {
-
- $ch = curl_init();
- curl_setopt($ch, CURLOPT_POST, 1);
- curl_setopt($ch, CURLOPT_URL, $url);
- curl_setopt($ch, CURLOPT_POSTFIELDS, $data_string);
- curl_setopt($ch, CURLOPT_HTTPHEADER, array(
- 'Content-Type: application/json; charset=utf-8',
- 'Content-Length: ' . strlen($data_string))
- );
- ob_start();
- curl_exec($ch);
- $return_content = ob_get_contents();
- //echo $return_content."<br>";
- ob_end_clean();
-
- $return_code = curl_getinfo($ch, CURLINFO_HTTP_CODE);
- // return array($return_code, $return_content);
- return $return_content;
- }
-
- function alluser($ucid,$website){
-
- $token_access_url = "{$website}/app/index.php?i=".$ucid."&c=entry&a=wxapp&do=Getallopenid&m=qidong_app";
-
- $res = file_get_contents($token_access_url); //获取文件内容或获取网络请求的内容
- $result = json_decode($res, true); //接受一个 JSON 格式的字符串并且把它转换为 PHP
- $data=$result['data'] ;
-
- return json_encode($data) ;
- }
- ?>
-
|