小程序实例:小程序客服发送图片信息的实现代码
本篇文章给大家带来的内容是关于小程序实例:小程序客服发送图片信息的实现代码,有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助。/*** 发送客服消息接口*/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://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;}下面的都是通用代码//获取access_tokenpublic 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($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;}//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;}相关推荐:
小程序中授权相册的解决办法(附代码)
微信小程序实例:点击事件和长按事件的代码实现以上就是小程序实例:小程序客服发送图片信息的实现代码的详细内容,更多请关注小潘博客其它相关文章!