将微信公众号的粉丝 同步到第三方来管理;
1.首先 先判断你是否有使用的微信公众号
代码如下:
private $mp;
public function _initialize(){
$mp = getCurrentMp();
// dump($mp);
// exit;
if(empty($mp)){
$this->error('无使用公众号',U('index'));
}else{
$this->mp = $mp;
}
}
2.显示微信同步的页面,并将同步完成后粉丝的信息显示出来
代码如下:
数据表friends存放粉丝信息 从表中查询出来显示到index页面上。
tags表存放的粉丝的标签。
而代码中
if(!empty($tagid)){
$where['tagid_list'] = array('like',"%{$tagid}%");}
则是为了查询在此标签中的粉丝是谁。
public function index($tagid=''){
// 显示页面
$mp=$this->mp;
$where['mp_id']=$mp['id'];
if(!empty($tagid)){
$where['tagid_list'] = array('like',"%{$tagid}%");
}
$data = M('mp_friends')->where($where)->field('id,headimgurl,nickname,subscribe_time,openid,tagid_list')->order()->select();
// dump($data);
// exit;
$tag = M('mp_tags')->where($where)->select();//查询粉丝标签
// print_r($tag);
// exit;
$this->assign('tag',$tag);
$this->assign('data',$data);
$this->display();
}
3.同步粉丝按钮 实现同步
其代码如下:
public function sycFriends(){
$mp = $this->mp;
$where['mp_id'] = $mp['id'];
M('mp_friends')->where($where)->delete();
//获取openid
include APP_PATH . 'LaneWeChat/lanewechat.php';
$ret = UserManage::getFansList();
// $json = json_encode($ret);
// echo $json;
// exit;
$openids = $ret['data']['openid'];
// dump($openId);
//获取用户基本信息
$arr = array();
foreach ($openids as $value) {
$row = array();
$row['openid'] = $value;
$row['lang'] = 'zh_CN';
$arr[] = $row;
}
// dump($arr);
// exit;
$result = UserManage::getManyUserInfo($arr);
// dump($result);
// exit;
if(isset($result['user_info_list'])){
$mp = $this->mp;
// $data['mp_id'] = $mp['id'];
$data = $result['user_info_list'];
foreach ($data as &$value) {
$value['mp_id'] = $mp['id'];
$value['tagid_list'] = implode(',',$value['tagid_list']);
}
// dump($data);
// exit;
M('mp_friends')->addAll($data);
}
$this->success('同步完成',U('index'));
}