<?php /** * Created by PhpStorm. * User: Administrator * Date: 2019/8/21 * Time: 19:08 */ namespace app\portal\controller; use cmf\controller\HomeBaseController; use EasyWeChat\Foundation\Application; use think\Db; class TestController extends HomeBaseController { /** * 恢复父级id * @throws \think\Exception * @throws \think\db\exception\DataNotFoundException * @throws \think\db\exception\ModelNotFoundException * @throws \think\exception\DbException * @throws \think\exception\PDOException */ public function test(){ // $data = Db::name('my_user')->where(['status'=>3,'inviter_phone'=>['neq','']])->select()->toArray(); // foreach($data as $key => $vo){ // $result = Db::name('my_user')->where(['phone'=>$vo['inviter_phone']])->value('id'); // if(!empty($result)){ // Db::name('my_user')->where(['id'=>$vo['id']])->update(['pid'=>$result]); // } // } } public function index(){ //生成带参二维码 $savePath=ROOT_PATH.'public/upload/code_img/'; if (!file_exists($savePath)){ mkdir($savePath, 0777,true); } $code_img = $this->code_img(28,3); $code = file_get_contents($code_img); file_put_contents(ROOT_PATH."public/upload/code_img/code_img28.png",$code); echo cmf_get_image_url('code_img/code_img28.png'); } /** * 生成带参二维码 */ public function code_img($admin_id,$status) { $options=config('wechat_config'); $app = new Application($options); $accessToken = $app->access_token; // EasyWeChat\Core\AccessToken 实例 $token = $accessToken->getToken(false); $url = 'https://api.weixin.qq.com/cgi-bin/qrcode/create?access_token=' . $token; $param = [ 'expire_seconds' => '', 'action_name' => 'QR_LIMIT_STR_SCENE', 'action_info' => ['scene' => ['scene_str' => "$admin_id"."-"."$status"]] ]; $result = $this->api_notice_increment($url, json_encode($param)); $data = json_decode($result, true); $ticket = urlencode($data['ticket']); $qr_url = 'https://mp.weixin.qq.com/cgi-bin/showqrcode?ticket=' . $ticket; return $qr_url; } /** * 获取二维码提交 */ public function api_notice_increment($url, $data) { // $data=json_encode($data); $ch = curl_init(); $header = array("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)) { curl_close($ch); return $ch; } else { curl_close($ch); return $tmpInfo; } } }