### 关注事件
用户B扫描A的参数二维码时,存在以下可能:
1. B从未关注过此公众号
1. B关注过,出于某种不可告人的原因,取关了
1. B已经关注,忍不住掏出手机又扫了A的二维码
B关注公众号,可在之前的receiveEvent($object)方法中的switch语句增加一个case:subscribe
~~~
case "subscribe":
$info = $weixin->get_user_info($openid);
$result = Db::name('userfollow')->where('openid',$openid)->find();
if($result){
//更新用户信息
$municipalities = array("北京", "上海", "天津", "重庆", "香港", "澳门");
$sexes = array("", "男", "女");
$data = array();
$data['nickname'] = str_replace("'", "", $info['nickname']);
$data['sex'] = $sexes[$info['sex']];
$data['country'] = $info['country'];
$data['province'] = $info['province'];
$data['city'] = (in_array($info['province'], $municipalities)) ? $info['province'] : $info['city'];
$data['headimgurl'] = $info['headimgurl'];
$data['resubscribe'] = $info['subscribe_time'];
Db::name('userfollow')->where('openid',$openid)->update($data);
$content = $info['nickname'].",欢迎回来!" ;
$this->logger("aa ");
}else {
//增加一条用户信息
$municipalities = array("北京", "上海", "天津", "重庆", "香港", "澳门");
$sexes = array("", "男", "女");
$data = array();
$data['openid'] = $openid;
$data['nickname'] = str_replace("'", "", $info['nickname']);
$data['sex'] = $sexes[$info['sex']];
$data['country'] = $info['country'];
$data['province'] = $info['province'];
$data['city'] = (in_array($info['province'], $municipalities)) ? $info['province'] : $info['city'];
$data['scene'] = (isset($object->EventKey))?str_replace("qrscene_","",$object->EventKey):"999";
$data['headimgurl'] = $info['headimgurl'];
$data['subscribe'] = $info['subscribe_time'];
$data['create_time'] = time();
Db::name('userfollow')->insert($data);
$content = "欢迎关注," . $info['nickname'];
}
break;
~~~
曾关注过(user表有记录)取关后再关注的,不再更新scene、openid、create_time、subscribe(改为resubscribe,这样既知道第一次关注时间,也知道最后一次关注时间,有的场景下需要这样的数据)
* * * * *
取关时:
~~~
case "unsubscribe":
$data['unsubscribe'] = strval($object->CreateTime);
$data['status'] = 0;
Db::name('userfollow')->where('openid',$openid)->update($data);
break;
~~~
什么时间取关的也做了记录,同时把状态更新为0。
- 序言
- 联系方式,可一对一咨询
- 准备
- 安装twothink
- 第一章 公众号推广海报(已完成17.10.10)
- 0 整体思路
- 1.1 公众号接口绑定
- 1.2 引入微信SDK
- 1.3 响应文本请求
- 1.4 响应菜单请求
- 1.5 获取用户的信息
- 1.6 生成参数二维码
- 1.7 扫描参数二维码
- 1.8 建立数据表
- 1.9 处理关注事件
- 1.10 完整海报
- 1.11 推送海报
- 第二章 企业网站搭建
- 第三章 Excel表格处理(已完成17.12.04)
- 1.1 导入phpExcel
- 1.2 读取表单上传的excel表格
- 1.3 导出内容到表格
- 第四章 简易商城
- 1.1 梳理逻辑
- 1.2 商品上传
- 第五章 基于公号的任务系统
- 0 把逻辑理清楚
- 1.1 后台新建分类
- 1.2 完善tdetail方法
- 1.3 完善share方法
- 1.4 任务列表
- 第六章 前端使用mdui
- 1 基础页面
- 第七章 前端使用element(未来更新)
- 第八章 使用QueryList采集目标页面