微信開發——被動回覆圖片和被動回覆文字
阿新 • • 發佈:2019-01-26
首先上傳一張圖片到定義的資料夾裡 然後再上傳到微信公眾號裡,在新增一個reply_image資料表,把資訊新增到這個資料表中,具體程式碼如下
public function upload(){ $upload = new \Think\Upload();// 例項化上傳類 $upload->maxSize = 3145728 ;// 設定附件上傳大小 $upload->exts = array('jpg', 'gif', 'png', 'jpeg');// 設定附件上傳型別 $upload->rootPath = './Upload/'; // 設定附件上傳根目錄 $upload->savePath = ''; // 設定附件上傳(子)目錄 // 上傳檔案 $info = $upload->uploadOne($_FILES['file']); if(!$info) {// 上傳錯誤提示錯誤資訊 $this->ajaxReturn(array('code'=>1,'msg'=>$upload->getError())); }else{// 上傳成功 $file= '/Upload/' . $info['savepath'] . $info['savename']; $this->ajaxReturn(array('code'=>0,'msg'=>'上傳成功','url'=>$file)); } } public function insertimage(){ $url=I('post.url'); $file=realpath('.'. $url); $staus_type=I('post.staus_type');//臨時,永久 $accessToken=getAccess_token(); include APP_PATH . 'LaneWeChat/lanewechat.php'; $url="https://api.weixin.qq.com/cgi-bin/material/add_material?access_token=$accessToken&type=image"; $data['media']=Curl::addFile($file); $ret=Curl::callWebServer($url,$data,'post',1,0); // dump($ret); // exit; // // echo $url; if (isset($ret['media_id'])) { # code... $data['url']=$ret['url']; $data['media_id']=$ret['media_id']; $image=M('reply_image'); $str=$image->add($data); if (isset($str)) { $mp=$this->mp; $data1['mpid']=$mp['id']; $keyword=I('post.keyword'); $data1['keyword']=$keyword; $data1['type']='image'; $data1['status']=$mp['is_use']; $data1['reply_id']=$str; $rule=M('mp_rule'); $rule->add($data1); } $this->ajaxReturn(array('msg'=>'新增成功')); }else{ $this->ajaxReturn($ret); } }
被動回覆文字跟被動回覆圖片差不多,將獲取的資訊新增到reply_text資料表中,程式碼如下
在wechatrequest.lib.php 寫一個text方法public function inserttext(){ $content=I('post.content'); $model=M('reply_text'); $data['content'] = $content; $ret=$model->add($data); $mp=$this->mp; $data1['mpid']=$mp['id']; $keyword=I('post.keyword'); $data1['keyword']=$keyword; $data1['type']='text'; $data1['status']=$mp['is_use']; $data1['reply_id']=$ret; $rule=M('mp_rule'); $rule->add($data1); if ($ret===false) { $this->ajaxReturn(array('msg'=>'新增失敗')); }else{ $this->ajaxReturn(array('msg'=>'新增成功')); } }
$mpid=$_GET['id']; $content=$request['content']; $where['mpid']=$mpid; $where['keyword']=$content; $data=M('mp_rule')->where($where)->find(); if ($data) { $reply_id=$data['reply_id']; $type=$data['type']; switch ($type) { case 'text': $reply=M('reply_text')->find($reply_id); if ($reply) { $reply_text=$reply['content']; }else{ $reply_text='出錯了'; } return ResponsePassive::text($request['fromusername'],$request['tousername'],$reply_text); break; case 'image'; $reply=M('reply_image')->find($reply_id); if ($reply) { $media_id=$reply['media_id']; return ResponsePassive::image($request['fromusername'],$request['tousername'],$media_id); }else{ $reply_text='出錯了'; return ResponsePassive::text($request['fromusername'],$request['tousername'],$reply_text); } break;