weiphp 数据统计插件

来源:互联网 发布:http js.411an.com 编辑:程序博客网 时间:2024/05/27 20:52

为了便于工作自己写了一个用户数据统计插件,看了一下Thinkphp的开发文档,然后就写了我第一个基于weiphp的插件,写的比较潦草,请多担待。


<?php        namespace Addons\data_tj\Model;use Home\Model\WeixinModel;        /** * data_tj的微信模型 */class WeixinAddonModel extends WeixinModel{function reply($dataArr, $keywordArr = array()) {$config = getAddonConfig ( 'data_tj' ); // 获取后台插件的配置参数$param ['token'] = get_token ();$param ['openid'] = get_openid ();$User=M('follow');$select=$User->where('openid="'.$param['openid'].'"')->find();$nickname=$select['nickname'];$wechat_auto=M("cache_user");$select_num=$wechat_auto->where('openid="'.$param['openid'].'"')->count();if($select_num==0){$datetime=date('y-m-d H:i:s',time());$strtotime=strtotime($datetime);$number=$User->count();$data[] = array('openid'=>$param['openid'],'nickname'=>$nickname,'cachenumber'=>'0','date'=>$strtotime);$wechat_auto->addAll($data);}$nownumber=intval($User->count());$cache=$wechat_auto->where('openid="'.$param['openid'].'"')->find();$cachenumber=intval($cache['cachenumber']);$cc=$nownumber-$cachenumber;if($cachenumber!=$nownumber){$content='新增加了'.$cc.'人'."\n";$list = $User->limit($cachenumber,$nownumber)->getField('nickname,city,sex');foreach($list as $k=>$v){switch($v['sex']){case '1':$v['sex']='男';break;case '2':$v['sex']='女';break;}$aaa.='【'.$v['city'].'】'.'【'.$v['nickname'].'】'.'【'.$v['sex'].'】'."\n";}$strnumber='------------'."\n".'现在一共'.$nownumber.'人';$this->replyText($content.$aaa.$strnumber);$wechat_auto-> where('openid="'.$param['openid'].'"')->setField('cachenumber',$nownumber);}else{$date=$cache['date'];$time=date('Y-m-d H:i:s',"$date");$fortime=date('y-m-d H:i:s',time());$forstrtotime=strtotime($fortime);$content='[未增加人数]'."\n".'上次更新时间为'."\n".$time."\n".'现共有';$this->replyText($content.$nownumber.'人');$wechat_auto-> where('openid="'.$param['openid'].'"')->setField('date',$forstrtotime);}//$wechat_auto->addAll($dataList);}// 关注公众号事件public function subscribe() {return true;}// 取消关注公众号事件public function unsubscribe() {return true;}// 扫描带参数二维码事件public function scan() {return true;}// 上报地理位置事件public function location() {return true;}// 自定义菜单事件public function click() {return true;}}        



具体的效果就是,微信输入“数据统计”然后就会返回微信人数。具体格式【地区】【昵称】【性别】。并给数据库缓存人数数据,这样管理员在每次查询的时候就不会出现篇幅较大的信息,只会抛出新增加人数信息。


由于本插件只是作为一个功能来供管理员使用,所以有很多没有考虑到的,请多担待。。


插件下载:


点击下载

0 0
原创粉丝点击