Rumah applet WeChat Pembangunan program mini 小程序实例:小程序客服发送图片信息的实现代码

小程序实例:小程序客服发送图片信息的实现代码

Aug 21, 2018 pm 05:19 PM

本篇文章给大家带来的内容是关于小程序实例:小程序客服发送图片信息的实现代码,有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助。

   /**
     * 发送客服消息接口
     */
    public function actionCustomService()
    {
        $data = file_get_contents('php://input');        
        $data = json_decode($data,true);        
        $qrcode_url = Yii::$app->params['gzh_qrcode'];        
        $openId = $data['FromUserName'];        
        $access_token = self::getAccessToken();        
        $url = 'https://api.weixin.qq.com/cgi-bin/message/custom/send?access_token='.$access_token;        
        $appid = Yii::$app->params['miniAppid'];        
        $media_id = self::getRedis("wx_material:$appid", 'media_id');        
        if (!$media_id) {            
        $material = self::uploadImg($qrcode_url,$access_token);            
        if ($material) {                
        $redis = Yii::$app->redis;                
        $redis->hmset("wx_material:$appid", 'type', $material['type'], 'media_id', $material['media_id'], 'created_at', $material['created_at']);                
        $redis->expire("wx_material:$appid", 7200);
            }            
            $media_id = $material['media_id'];
        }        
        $data1 = [
                'touser' => $openId,            
                'msgtype' => 'image',            
                'image' => [
                       'media_id' => $media_id,
            ],
        ];        
        $data1 = json_encode($data1,JSON_UNESCAPED_UNICODE);       
        $result = self::https_request($url,$data1);        
        echo 'success';
    }
Salin selepas log masuk
   //上传素材到微信
    public static function uploadImg($img,$access_token)
    {
        $url = 'https://api.weixin.qq.com/cgi-bin/media/upload?access_token='.$access_token.'&type=image';        
        $fileName = time() . '.jpg';        
        $source = file_get_contents($img);
        file_put_contents('./images/material/'.$fileName,$source);        
        if (class_exists('\CURLFile')) {            
        $josn = array('media' => new \CURLFile(realpath("images/material/" . $fileName)));
        } else {            
        $josn = array('media' => '@' . realpath("images/material/" . $fileName));
        }
        unlink('./images/material/'.$fileName);        
        $result = self::curl_post($url,$josn);        
        $result = json_decode($result,true);        
        return $result;
    }
Salin selepas log masuk

下面的都是通用代码

    //获取access_token
    public static function getAccessToken()
    {
        $appid = Yii::$app->params['miniAppid'];        
        $appsecret = Yii::$app->params['miniSecret'];        
        $url = 'https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid='.$appid.'&secret='.$appsecret;        
        $result = self::httpGet($url);        
        $access_token = json_decode($result,true)['access_token'];        
        return $access_token;
    }
Salin selepas log masuk
    //get方法获取内容
    private static function httpGet($url)
    {
        $curl = curl_init();
        curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);
        curl_setopt($curl, CURLOPT_TIMEOUT, 500);
        curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, 2);
        curl_setopt($curl, CURLOPT_SSL_VERIFYHOST, 2);
        curl_setopt($curl, CURLOPT_URL, $url);        
        $res = curl_exec($curl);
        curl_close($curl);        
        return $res;
    }
Salin selepas log masuk
    //http请求
    public static function https_request($url,$data=null)
    {
        $curl = curl_init();
        curl_setopt($curl,CURLOPT_URL,$url);
        curl_setopt($curl,CURLOPT_SSL_VERIFYPEER,FALSE);
        curl_setopt($curl,CURLOPT_SSL_VERIFYHOST,FALSE);        
        if(!empty($data)){
            curl_setopt($curl,CURLOPT_POST,1);
            curl_setopt($curl,CURLOPT_POSTFIELDS,$data);
        }
        curl_setopt($curl,CURLOPT_RETURNTRANSFER,1);        
        $output = curl_exec($curl);
        curl_close($curl);        
        return $output;
    }
Salin selepas log masuk

相关推荐:

小程序中授权相册的解决办法(附代码)

微信小程序实例:点击事件和长按事件的代码实现

Atas ialah kandungan terperinci 小程序实例:小程序客服发送图片信息的实现代码. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn

Alat AI Hot

Undresser.AI Undress

Undresser.AI Undress

Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover

AI Clothes Remover

Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool

Undress AI Tool

Gambar buka pakaian secara percuma

Clothoff.io

Clothoff.io

Penyingkiran pakaian AI

AI Hentai Generator

AI Hentai Generator

Menjana ai hentai secara percuma.

Artikel Panas

R.E.P.O. Kristal tenaga dijelaskan dan apa yang mereka lakukan (kristal kuning)
1 bulan yang lalu By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Tetapan grafik terbaik
1 bulan yang lalu By 尊渡假赌尊渡假赌尊渡假赌
Akan R.E.P.O. Ada Crossplay?
1 bulan yang lalu By 尊渡假赌尊渡假赌尊渡假赌

Alat panas

Notepad++7.3.1

Notepad++7.3.1

Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina

SublimeText3 versi Cina

Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1

Hantar Studio 13.0.1

Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6

Dreamweaver CS6

Alat pembangunan web visual

SublimeText3 versi Mac

SublimeText3 versi Mac

Perisian penyuntingan kod peringkat Tuhan (SublimeText3)