ホームページ > 記事 > WeChat アプレット > ミニ プログラムの例: 画像情報を送信するためのミニ プログラム カスタマー サービスの実装コード
この記事の内容は、ミニプログラムの例です。写真情報を送信するためのミニプログラムの実装コードです。必要な友人が参考になれば幸いです。
/** * 发送客服消息接口 */ 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_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($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; }
関連する推奨事項:
ミニ プログラムで承認されたフォト アルバムの解決策 (コード付き)
WeChat ミニ プログラムの例: クリック イベントと長押しイベントのコード実装
以上がミニ プログラムの例: 画像情報を送信するためのミニ プログラム カスタマー サービスの実装コードの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。