温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

小程序客服发送图片信息如何实现

发布时间:2021-01-28 15:06:46 阅读:259 作者:小新 栏目:移动开发
开发者测试专用服务器限时活动,0元免费领,库存有限,领完即止! 点击查看>>

这篇文章将为大家详细讲解有关小程序客服发送图片信息如何实现,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。

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

   /**
     * 发送客服消息接口
     */
    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';
    }
   //上传素材到微信
    public static function uploadImg($img,$access_token)
    {
        $url 'https://cache.yisu.com/upload/information/20201208/261/14179';        
        $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;
    }

下面的都是通用代码

    //获取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;
    }
    //get方法获取内容
    private static function httpGet($url)
    {
        $curl = curl_init();
        curl_setopt($curlCURLOPT_RETURNTRANSFERtrue);
        curl_setopt($curlCURLOPT_TIMEOUT500);
        curl_setopt($curlCURLOPT_SSL_VERIFYPEER2);
        curl_setopt($curlCURLOPT_SSL_VERIFYHOST2);
        curl_setopt($curlCURLOPT_URL$url);        
        $res = curl_exec($curl);
        curl_close($curl);        
        return $res;
    }
    //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;
    }

关于“小程序客服发送图片信息如何实现”这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,使各位可以学到更多知识,如果觉得文章不错,请把它分享出去让更多的人看到。

亿速云「云服务器」,即开即用、新一代英特尔至强铂金CPU、三副本存储NVMe SSD云盘,价格低至29元/月。点击查看>>

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI

开发者交流群×