正在显示
1 个修改的文件
包含
62 行增加
和
4 行删除
@@ -8,7 +8,6 @@ | @@ -8,7 +8,6 @@ | ||
8 | 8 | ||
9 | namespace app\api\controller\v1; | 9 | namespace app\api\controller\v1; |
10 | 10 | ||
11 | -use app\admin\controller\Car; | ||
12 | use app\api\controller\inspection\Task; | 11 | use app\api\controller\inspection\Task; |
13 | use lib\WXBizDataCrypt; | 12 | use lib\WXBizDataCrypt; |
14 | use think\Db; | 13 | use think\Db; |
@@ -107,8 +106,7 @@ class Login extends Base | @@ -107,8 +106,7 @@ class Login extends Base | ||
107 | &end_address=".$route['end_address']." | 106 | &end_address=".$route['end_address']." |
108 | &price=".$route['price']; | 107 | &price=".$route['price']; |
109 | $url_data=urlencode($urldata); | 108 | $url_data=urlencode($urldata); |
110 | - $carc=new Car(); | ||
111 | - $place_image=$carc->getQRCode($url_data); | 109 | + $place_image=$this->getQRCode($url_data); |
112 | //encodeURIComponent | 110 | //encodeURIComponent |
113 | $result = Db::name('driver')->where('id','=',$driver["id"])->update(['place_image'=>$place_image['fileurl']]); | 111 | $result = Db::name('driver')->where('id','=',$driver["id"])->update(['place_image'=>$place_image['fileurl']]); |
114 | } | 112 | } |
@@ -121,8 +119,68 @@ class Login extends Base | @@ -121,8 +119,68 @@ class Login extends Base | ||
121 | } | 119 | } |
122 | 120 | ||
123 | 121 | ||
122 | + public function getQRCode($url_data){ | ||
123 | + $accessToken = $this->getAccessToken(); | ||
124 | + if ($accessToken) { | ||
125 | + $qrCodeData = $this->createMiniProgramQRCode($accessToken, $url_data); | ||
126 | + return $qrCodeData; | ||
127 | + } | ||
128 | + } | ||
129 | + function getAccessToken() { | ||
130 | + $appId = "wx58ceff4e93cfc523"; | ||
131 | + $appSecret = "baf744d21875280a5e98611f66adaf91"; | ||
132 | + $url = "https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid={$appId}&secret={$appSecret}"; | ||
133 | + $result = json_decode(file_get_contents($url), true); | ||
134 | + return $result["access_token"] ?? null; | ||
135 | + } | ||
136 | + function createMiniProgramQRCode($accessToken, $path, $width = 430) { | ||
137 | + $path = 'pages/module/intercityOrder?url='.$path; // 小程序内的页面路径 | ||
138 | + $url = "https://api.weixin.qq.com/wxa/getwxacode?access_token={$accessToken}"; | ||
139 | + $data = json_encode([ | ||
140 | + 'path' => $path, | ||
141 | + 'width' => $width | ||
142 | + ]); | ||
143 | + $options = [ | ||
144 | + 'http' => [ | ||
145 | + 'method' => 'POST', | ||
146 | + 'header' => 'Content-type:application/json', | ||
147 | + 'content' => $data, | ||
148 | + ], | ||
149 | + ]; | ||
150 | + //POST参数 | ||
151 | + $result = $this->httpRequest($url,$data,"POST"); | ||
152 | + $code_name=rand().time() . '.png'; | ||
153 | + $filename= './uploads/store_qrcode/' . $code_name; | ||
154 | + $ret = file_put_contents($filename, $result, true); | ||
155 | + $task=new Task(); | ||
156 | + $res=$task->fileUpload($code_name); | ||
157 | + return $res; | ||
158 | + } | ||
159 | + //把请求发送到微信服务器换取二维码 | ||
160 | + public function httpRequest($url,$data='',$method='GET'){ | ||
161 | + $curl = curl_init(); | ||
162 | + curl_setopt($curl, CURLOPT_URL,$url); | ||
163 | + curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, 0); | ||
164 | + curl_setopt($curl, CURLOPT_SSL_VERIFYHOST, 0); | ||
165 | + curl_setopt($curl, CURLOPT_USERAGENT,$_SERVER['HTTP_USER_AGENT']); | ||
166 | + curl_setopt($curl, CURLOPT_FOLLOWLOCATION, 1); | ||
167 | + curl_setopt($curl, CURLOPT_AUTOREFERER, 1); | ||
168 | + if($method=='POST') | ||
169 | + { | ||
170 | + curl_setopt($curl, CURLOPT_POST, 1); | ||
171 | + if ($data !='') | ||
172 | + { | ||
173 | + curl_setopt($curl, CURLOPT_POSTFIELDS,$data); | ||
174 | + } | ||
175 | + } | ||
124 | 176 | ||
125 | - | 177 | + curl_setopt($curl, CURLOPT_TIMEOUT, 30); |
178 | + curl_setopt($curl, CURLOPT_HEADER, 0); | ||
179 | + curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1); | ||
180 | + $result = curl_exec($curl); | ||
181 | + curl_close($curl); | ||
182 | + return $result; | ||
183 | + } | ||
126 | //获取accesstoken | 184 | //获取accesstoken |
127 | function getwxAccessToken($appid,$AppSecret){ | 185 | function getwxAccessToken($appid,$AppSecret){ |
128 | $url = "https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid=".$appid."&secret=".$AppSecret.""; | 186 | $url = "https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid=".$appid."&secret=".$AppSecret.""; |
-
请 注册 或 登录 后发表评论