帶引數二維碼生成
阿新 • • 發佈:2018-12-05
<?php namespace app\api\controller; use app\admin\model\User; class CodeController extends BaseController { /** * @api {post} /code/getMyCode 1.getMyCode獲取我的邀請碼 * @apiVersion 1.0.0 * @apiName getMyCode獲取我的邀請碼 * @apiGroup 11.Code * @apiHeader {String} token Token必需填寫. * @apiHeaderExample {json} Header-Example: * { * "token": "eyJ0eXAiOiJKV1QiLCJhbGciOiJub25lIn0.eyJpc3MiOiJodHRwOlwvXC93d3cuZXhhbXBsZS5jb20iLCJleHAiOjE1MzQ3MzAxMjgsInVzZXJfaWQiOiI2IiwidXNlcl90eXBlIjoyLCJvcGVuX2lkIjoidGV4dG9wZW5pZC10ZXN0b3BlbmlkLXRlc3RvcGVuaWQiLCJzZXNzaW9uX2tleSI6InRlc3RzZXNzaW9ua2V5In0." * } * @apiDescription getMyCode獲取我的邀請碼 */ public function getMyCode() { $access_token = $this->AccessToken(); $url = 'https://api.weixin.qq.com/wxa/getwxacode?access_token='.$access_token; $path="pages/index/index?parent_id=".$this->user_id; $width=430; $data='{"path":"'.$path.'","width":'.$width.'}'; $return = $this->request_post($url,$data); //將生成的小程式碼存入相應資料夾下 $sever ='https://'.$_SERVER['SERVER_NAME']."/"; $paths = 'uploads/code/'.time().'.jpg'; file_put_contents($paths,$return); //$imgurl = $sever $paths; $rr =$paths; $imgurl = $sever.$rr; //將二維碼路徑存入資料庫 return echoOk($imgurl); } public function AccessToken() { $data = "{}"; $url = 'https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid='.WX_APPID.'&secret='.WX_SECRET; $AccessToken = $this->request_post($url,$data); $AccessToken = json_decode($AccessToken , true); $AccessToken = $AccessToken['access_token']; return $AccessToken; } public function request_post($url,$data){ $ch = curl_init(); $header = ["Accept-Charset: utf-8"]; curl_setopt($ch, CURLOPT_URL, $url); curl_setopt($ch, CURLOPT_CUSTOMREQUEST, "POST"); curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE); curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, FALSE); curl_setopt($ch, CURLOPT_HTTPHEADER, $header); curl_setopt($ch, CURLOPT_USERAGENT, 'Mozilla/5.0 (compatible; MSIE 5.01; Windows NT 5.0)'); curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1); curl_setopt($ch, CURLOPT_AUTOREFERER, 1); curl_setopt($ch, CURLOPT_POSTFIELDS, $data); curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); $tmpInfo = curl_exec($ch); if (curl_errno($ch)) { return false; }else{ return $tmpInfo; } } }