1.首先要把图文的信息存进数据库,然后把图文的信息在页面上显示出来,通过上传把返回的media_id存进media_news(media_id)和media_news_list(thumb_media_id).
2.第一步将图文信息存进数据库:
public function addnews(){ if(IS_GET){ $this->display(); }else{ $mp=getCurrentMp();//获取当前公众号信息 $mp_id=$mp['id']; $data=I('post.'); $data=$data['data']; foreach ($data as $key => &$value) { $value['mp_id']=$mp_id; $value['create_time']=time(); if($key==0){ $news_id=M('media_news')->add($value); } $value['news_id']=$news_id; $ret=M('media_news_list')->add($value); } if($ret){ $this->ajaxReturn(array('status'=>1,'msg'=>'成功')); }else{ $this->ajaxReturn(array('status'=>0,'msg'=>'失败')); } } } }
3.显示图文信息:
public function index(){ $mp=getCurrentMp();//获取公众号 $mp_id=$mp['id']; $arr=M('media_news')->where("mp_id='$mp_id'")->select();//查询公众号当前的图文 $data=array(); foreach ($arr as $value) { $news_id=$value['news_id']; $ret=M('media_news_list')->where("news_id='$news_id'")->select(); $value['list']=$ret; $data[]=$value; } // print_r($data); $this->assign('data',$data); $this->display('newslist'); // exit; }
4.将返回的media_id存进表:
$newid=I('news_id');//获取news_id // echo $newid; // exit; $accessToken=getAccess_token();//获取access_token include APP_PATH . 'LaneWeChat/lanewechat.php'; $url1="https://api.weixin.qq.com/cgi-bin/material/add_material?access_token=$accessToken&type=image"; $con['news_id']=$newid; $url=M('media_news_list')->where($con)->getField('cover',true); foreach ($url as $value) { $file=realpath('.'. $value);//相对路径->绝对路径 $data['media']=Curl::addFile($file); $ret=Curl::callWebServer($url1,$data,'post',1,0); $data['thumb_media_id']=$ret['media_id']; $re['media_id']=$ret['media_id']; $con['news_id']=$newid; M('media_news')->where($con)->save($re); M('media_news_list')->where($con)->save($data); }