新增要群发的图文
//新增群发图文
public function addnews(){
if(IS_GET){
$this->display();
}else{
$mp = $this->mp;
$mp_id = $mp['id'];
$data = I('post.data');
foreach ($data as $key => &$v) {
$v['mp_id'] = $mp['id'];
$v['create_time'] = time();
if ($key==0) {
$news_id = M('media_news')->add($v);
}
$v['news_id'] = $news_id;
M('media_news_list')->add($v);
}
$this->ajaxReturn(array('error'=>0,'msg'=>'添加成功!'));
}
}
上传图文素材
第一步:获取media_news表中的news_id
第二步:根据获取到的media_news表中的news_id查找media_news_list中的与之相等的news_id
第三步:找到此news_id中thumb_media_id为空的,在调用上传永久的图文接口,将封面图的路径改为绝对路径,得到media_id并存入数据库
//上传图文素材
public function uploadMediaNews($news_id){
$where['news_id']=$news_id;
$data=M('media_news_list')->field('id,thumb_media_id,cover')->where("news_id=$news_id")->select();
foreach ($data as $key => $value) {
if(empty($value['thumb_media_id'])){
$ret=$this->uploadImg($value['cover']);
if(is_array($ret)){
M('media_news_list')->where("id={$value['id']}")->setField('thumb_media_id',$ret['media_id']);
}else{
echo $ret;
exit;
}
}
}
$data=M('media_news_list')->field('thumb_media_id,author,title,content_source_url,content,digest,show_cover_pic')->where($where)->order('id')->select();
// dump($data);
// exit;
include APP_PATH . 'LaneWeChat/lanewechat.php';
$ret=\LaneWeChat\Core\AdvancedBroadcast::uploadNews($data);
// $ret=$this->uploadNews($value['cover']);
if(isset($ret['media_id'])){
$arr['media_id']=$ret['media_id'];
$arr['status_type']=1;
M('media_news')->where($where)->save($arr);
echo "上传成功!";
}else{
echo "上传失败!".json_encode($ret);
}
}
得到上传图片
//上传图片
private function uploadImg($url){
$accessToken=getAccess_token();
include APP_PATH . 'LaneWeChat/lanewechat.php';
//上传永久图片api
$api="https://api.weixin.qq.com/cgi-bin/material/add_material?access_token=$accessToken&type=image";
$file=realpath('.'.$url);
$data['media']='@' . $file;
$ret=Curl::callWebServer($api,$data,'post',true,false);
//上传成功
if (isset($ret['media_id'])) {
return array('media_id'=>$ret['media_id']);
} else {
return '本地图片上传失败'.json_encode($ret);
}
}