• 微信生成带参数二维码,跳转公众号


        protected $appid = '';
        protected $secret = '';
        protected $access_tokens;
    
        private function access_token_lst(){
            //获取$access_token
            $url = "https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid=" . $this->appid . "&secret=" . $this->secret;
            $result = $this->curl_post($url);
            $access_tokens = json_decode($result, true);
            $this->access_tokens = $access_tokens['access_token'];
        }
       
        public function qr_code()
        {
            //获取access_token
            $this->access_token_lst();
    
            //非必传项
            $rs = $this->getTemporaryQrcode($this->access_tokens, 12345678912345678912345678912345);
         
            $ticket = $rs['ticket'];
            $qrcode = "https://mp.weixin.qq.com/cgi-bin/showqrcode?ticket=" . $ticket . "";
            echo "<img src=". $qrcode .">";
        }
    
        //生成二维码
        private function getTemporaryQrcode($access_tokens, $orderId)
        {
            $url = "https://api.weixin.qq.com/cgi-bin/qrcode/create?access_token=" . $access_tokens . "";
            //生成二维码需要的参数
            $qrcode = '{"expire_seconds": 1800, "action_name": "QR_SCENE", "action_info": {"scene": {"scene_id": ' . $orderId . '}}}';
            $momo = json_decode($qrcode, true);
            $result = $this->curl_post($url, $momo);
            $rs = json_decode($result, true);
            return $rs;
        }
    
        private function curl_post($url, array $params = array()){
            $data_string = json_encode($params);
            $ch = curl_init();
            curl_setopt($ch, CURLOPT_URL, $url);
            curl_setopt($ch, CURLOPT_HEADER, 0);
            curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
            curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 10);
            curl_setopt($ch, CURLOPT_POST, 1);
            curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
            curl_setopt($ch, CURLOPT_POSTFIELDS, $data_string);
            curl_setopt($ch, CURLOPT_HTTPHEADER,
        
                array(
        
                    'Content-Type: application/json'
        
                )
        
            );
            $data = curl_exec($ch);
            curl_close($ch);
            return ($data);
        }

    原文:https://www.cnblogs.com/jiaoda/p/10769129.html

  • 相关阅读:
    .NET自动化测试手记(2) 实例:点击计算器按钮
    解决httpwebrequest无法通过使用代理的局域网获取response的问题
    iOS开发之SQLite
    iOS开发之AVAudioPlayer 音频播放
    iOS开发 键盘添加工具条(toolbar)
    UIPickerView中的实例方法
    TextField
    UISearchBar和UISearchDisplayController
    Objectivec 字符串遍历的几种方法
    《Write ObjectiveC Code》学习笔记
  • 原文地址:https://www.cnblogs.com/junyi-bk/p/13667463.html
Copyright © 2020-2023  润新知