微信开发之图文群发

一、添加要群发的图文信息,显示到页面上

public function addnews(){
		if(IS_GET){
			$this->display();
		}else{
			$mp=$this->mp;
	     	$mp_id=$mp['id'];
	     	$data=I('post.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);
		     		// print_r($news_id);
		     		// exit;
		     	}
		     	$value['news_id'] = $news_id;
		     	M('media_news_list')->add($value);
     		}
     		$this->ajaxReturn(array('error'=>0,'msg'=>'上传成功'));
		} 	
     		
    }
    public function newslist(){
    	$mp=$this->mp;
    	$where['mp_id'] = $mp['id'];
    	$data = M('media_news')->where($where)->select();
    	foreach ($data as &$value) {
    		$news_id = $value['news_id'];
    		$item = M('media_news_list')->where("news_id=$news_id")->select();
    		$value['list'] = $item;
    	}
    	$this->assign('data',$data);
    	$this->display();
    }

上传成功返回media_id

二、上传图文信息

从上一步中得到news_id,根据news_id来查询数据库media_news_list的数据,再遍历数组,查看thumb_media_id是否为空,上传图片(这里用的接口是上传永久图片),获取到media_id,将数据存到media_news_list数据库中。

public function uploadMediaNews($news_id){
		$where['news_id'] = $news_id;
		$data = M('media_news_list')->where($where)->field('id,thumb_media_id,cover')->select();
		foreach ($data as $key => $value) {
			if(empty($ret['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();
		// print_r($data);
		// exit;

		include APP_PATH . 'LaneWeChat/lanewechat.php';
		$ret = \LaneWeChat\Core\AdvancedBroadcast::uploadNews($data);
		
		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){
		$file = realpath('.' . $url);
		$access_token = getAccess_token();
		include APP_PATH . 'LaneWeChat/lanewechat.php';
		$api = "https://api.weixin.qq.com/cgi-bin/material/add_material?access_token=$access_token&type=image";

		$data['media'] = Curl::addFile($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);
		}
	}

这里用到的数据库:



  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值