微信用户列表
This commit is contained in:
parent
cd8ff84f02
commit
448154f363
@ -10,40 +10,29 @@
|
|||||||
*/
|
*/
|
||||||
namespace catchAdmin\wechat\controller;
|
namespace catchAdmin\wechat\controller;
|
||||||
|
|
||||||
|
use catchAdmin\wechat\model\WechatUsers;
|
||||||
use catcher\base\CatchController;
|
use catcher\base\CatchController;
|
||||||
use catcher\CatchResponse;
|
use catcher\CatchResponse;
|
||||||
use catcher\library\WeChat;
|
|
||||||
use catcher\Utils;
|
use catcher\Utils;
|
||||||
|
|
||||||
class Users extends CatchController
|
class Users extends CatchController
|
||||||
{
|
{
|
||||||
protected $user;
|
protected $user;
|
||||||
|
|
||||||
public function __construct(WeChat $weChat)
|
public function __construct(WechatUsers $users)
|
||||||
{
|
{
|
||||||
$this->user = $weChat->officialAccount()->user;
|
$this->user = $users;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 列表
|
* 列表
|
||||||
*
|
*
|
||||||
* @time 2020年06月19日
|
* @time 2020年06月19日
|
||||||
* @param null $nextOpenid
|
|
||||||
* @return \think\response\Json
|
* @return \think\response\Json
|
||||||
*/
|
*/
|
||||||
public function index($nextOpenid = null)
|
public function index()
|
||||||
{
|
{
|
||||||
$openIds = $this->user->list($nextOpenid);
|
return CatchResponse::paginate($this->user->getList());
|
||||||
|
|
||||||
if ($openIds['count']) {
|
|
||||||
$users = $this->user->select($openIds['data']['openid']);
|
|
||||||
|
|
||||||
$openIds['users'] = $users;
|
|
||||||
|
|
||||||
return CatchResponse::success($openIds);
|
|
||||||
}
|
|
||||||
|
|
||||||
return CatchResponse::success($openIds);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -94,4 +83,14 @@ class Users extends CatchController
|
|||||||
{
|
{
|
||||||
return CatchResponse::success($this->user->unblock(Utils::stringToArrayBy($openId)));
|
return CatchResponse::success($this->user->unblock(Utils::stringToArrayBy($openId)));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public function subscribe()
|
||||||
|
{
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
public function unsubscribe()
|
||||||
|
{
|
||||||
|
|
||||||
|
}
|
||||||
}
|
}
|
@ -28,7 +28,7 @@ class WechatUsers extends Migrator
|
|||||||
*/
|
*/
|
||||||
public function change()
|
public function change()
|
||||||
{
|
{
|
||||||
$table = $this->table('wechat_users',array('engine'=>'Innodb', 'comment' => ' 微信用户表', 'signed' => false));
|
$table = $this->table('wechat_users',array('engine'=>'Innodb', 'collation' => 'utf8mb4_general_ci', 'comment' => ' 微信用户表', 'signed' => false));
|
||||||
$table->addColumn('nickname', 'string',array('limit' => 30,'default'=>'','comment'=>'用户名'))
|
$table->addColumn('nickname', 'string',array('limit' => 30,'default'=>'','comment'=>'用户名'))
|
||||||
->addColumn('avatar', 'string',array('limit' => 255,'comment'=>'用户头像'))
|
->addColumn('avatar', 'string',array('limit' => 255,'comment'=>'用户头像'))
|
||||||
->addColumn('openid', 'string',array('limit' => 35, 'comment'=>'openid'))
|
->addColumn('openid', 'string',array('limit' => 35, 'comment'=>'openid'))
|
||||||
@ -39,12 +39,11 @@ class WechatUsers extends Migrator
|
|||||||
->addColumn('subscribe', 'boolean',array('limit' => 1,'default'=> 1,'comment'=>'用户状态 0 取消订阅 1 订阅'))
|
->addColumn('subscribe', 'boolean',array('limit' => 1,'default'=> 1,'comment'=>'用户状态 0 取消订阅 1 订阅'))
|
||||||
->addColumn('block', 'boolean',array('limit' => 1,'default'=> 1,'comment'=>'拉黑状态 1 正常 2 拉黑'))
|
->addColumn('block', 'boolean',array('limit' => 1,'default'=> 1,'comment'=>'拉黑状态 1 正常 2 拉黑'))
|
||||||
->addColumn('subscribe_time', 'integer',array('default'=>0,'comment'=>'订阅时间', 'signed' => false))
|
->addColumn('subscribe_time', 'integer',array('default'=>0,'comment'=>'订阅时间', 'signed' => false))
|
||||||
->addColumn('subscribe_scene', 'string', ['limit' => 50, 'comment' => '订阅场景'])
|
->addColumn('subscribe_scene', 'string', ['limit' => 50, 'comment' => '订阅场景 ADD_SCENE_SEARCH 公众号搜索,ADD_SCENE_ACCOUNT_MIGRATION 公众号迁移,ADD_SCENE_PROFILE_CARD 名片分享,ADD_SCENE_QR_CODE 扫描二维码,ADD_SCENE_PROFILE_LINK 图文页内名称点击,ADD_SCENE_PROFILE_ITEM 图文页右上角菜单,ADD_SCENE_PAID 支付后关注,ADD_SCENE_WECHAT_ADVERTISEMENT 微信广告,ADD_SCENE_OTHERS 其他'])
|
||||||
->addColumn('unionid', 'string', ['limit' => 255, 'comment' => '用户平台唯一身份认证'])
|
->addColumn('unionid', 'string', ['limit' => 255, 'comment' => '用户平台唯一身份认证'])
|
||||||
->addColumn('sex', 'boolean',array('limit' => 1,'default'=> 1,'comment'=>'用户状态 1 男 2 女 0 未知'))
|
->addColumn('sex', 'boolean',array('limit' => 1,'default'=> 1,'comment'=>'用户状态 1 男 2 女 0 未知'))
|
||||||
->addColumn('remark', 'string', ['limit' => 255, 'comment' => '备注'])
|
->addColumn('remark', 'string', ['limit' => 255, 'comment' => '备注'])
|
||||||
->addColumn('groupid', 'integer', ['limit' => 0, 'comment' => '分组ID'])
|
->addColumn('groupid', 'integer', ['limit' => 0, 'comment' => '分组ID'])
|
||||||
->addColumn('remark', 'string', ['limit' => 255, 'comment' => '备注'])
|
|
||||||
->addColumn('tagid_list', 'string',['limit' => 50, 'default'=>0,'comment'=>'标签列表'])
|
->addColumn('tagid_list', 'string',['limit' => 50, 'default'=>0,'comment'=>'标签列表'])
|
||||||
->addColumn('created_at', 'integer', array('default'=>0,'comment'=>'创建时间', 'signed' => false ))
|
->addColumn('created_at', 'integer', array('default'=>0,'comment'=>'创建时间', 'signed' => false ))
|
||||||
->addColumn('updated_at', 'integer', array('default'=>0,'comment'=>'更新时间', 'signed' => false))
|
->addColumn('updated_at', 'integer', array('default'=>0,'comment'=>'更新时间', 'signed' => false))
|
||||||
|
47
catch/wechat/model/WechatUsers.php
Normal file
47
catch/wechat/model/WechatUsers.php
Normal file
@ -0,0 +1,47 @@
|
|||||||
|
<?php
|
||||||
|
// +----------------------------------------------------------------------
|
||||||
|
// | CatchAdmin [Just Like ~ ]
|
||||||
|
// +----------------------------------------------------------------------
|
||||||
|
// | Copyright (c) 2017~2020 http://catchadmin.com All rights reserved.
|
||||||
|
// +----------------------------------------------------------------------
|
||||||
|
// | Licensed ( https://github.com/yanwenwu/catch-admin/blob/master/LICENSE.txt )
|
||||||
|
// +----------------------------------------------------------------------
|
||||||
|
// | Author: JaguarJack [ njphper@gmail.com ]
|
||||||
|
// +----------------------------------------------------------------------
|
||||||
|
|
||||||
|
namespace catchAdmin\wechat\model;
|
||||||
|
|
||||||
|
use catchAdmin\wechat\model\search\UserSearchTrait;
|
||||||
|
use catcher\base\CatchModel;
|
||||||
|
use catcher\traits\db\BaseOptionsTrait;
|
||||||
|
|
||||||
|
class WechatUsers extends CatchModel
|
||||||
|
{
|
||||||
|
use UserSearchTrait;
|
||||||
|
|
||||||
|
protected $name = 'wechat_users';
|
||||||
|
|
||||||
|
protected $field = [
|
||||||
|
'id', //
|
||||||
|
'nickname', // 用户名
|
||||||
|
'avatar', // 用户头像
|
||||||
|
'openid', // openid
|
||||||
|
'language', // 语言
|
||||||
|
'country', // 国家
|
||||||
|
'province', // 省份
|
||||||
|
'city', // 城市
|
||||||
|
'subscribe', // 用户状态 0 取消订阅 1 订阅
|
||||||
|
'block', // 拉黑状态 1 正常 2 拉黑
|
||||||
|
'subscribe_time', // 订阅时间
|
||||||
|
'subscribe_scene', // 订阅场景 ADD_SCENE_SEARCH 公众号搜索,ADD_SCENE_ACCOUNT_MIGRATION 公众号迁移,ADD_SCENE_PROFILE_CARD 名片分享,ADD_SCENE_QR_CODE 扫描二维码,ADD_SCENE_PROFILE_LINK 图文页内名称点击,ADD_SCENE_PROFILE_ITEM 图文页右上角菜单,ADD_SCENE_PAID 支付后关注,ADD_SCENE_WECHAT_ADVERTISEMENT 微信广告,ADD_SCENE_OTHERS 其他
|
||||||
|
'unionid', // 用户平台唯一身份认证
|
||||||
|
'sex', // 用户状态 1 男 2 女 0 未知
|
||||||
|
'remark', // 备注
|
||||||
|
'groupid', // 分组ID
|
||||||
|
'tagid_list', // 标签列表
|
||||||
|
'created_at', // 创建时间
|
||||||
|
'updated_at', // 更新时间
|
||||||
|
'deleted_at', // 删除状态,0未删除 >0 已删除
|
||||||
|
];
|
||||||
|
|
||||||
|
}
|
@ -8,3 +8,76 @@
|
|||||||
* @copyright By CatchAdmin
|
* @copyright By CatchAdmin
|
||||||
* @license https://github.com/yanwenwu/catch-admin/blob/master/LICENSE.txt
|
* @license https://github.com/yanwenwu/catch-admin/blob/master/LICENSE.txt
|
||||||
*/
|
*/
|
||||||
|
namespace catchAdmin\wechat\model\search;
|
||||||
|
|
||||||
|
trait UserSearchTrait
|
||||||
|
{
|
||||||
|
/**
|
||||||
|
* 昵称搜索
|
||||||
|
* @time 2020年06月21日
|
||||||
|
* @param $query
|
||||||
|
* @param $value
|
||||||
|
* @param $data
|
||||||
|
* @return mixed
|
||||||
|
*/
|
||||||
|
public function searchNicknameAttr($query, $value, $data)
|
||||||
|
{
|
||||||
|
return $query->whereLike('nickname', $value);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 拉黑
|
||||||
|
*
|
||||||
|
* @time 2020年06月21日
|
||||||
|
* @param $query
|
||||||
|
* @param $value
|
||||||
|
* @param $data
|
||||||
|
* @return mixed
|
||||||
|
*/
|
||||||
|
public function searchBlockAttr($query, $value, $data)
|
||||||
|
{
|
||||||
|
return $query->where('block', $value);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 订阅
|
||||||
|
*
|
||||||
|
* @time 2020年06月21日
|
||||||
|
* @param $query
|
||||||
|
* @param $value
|
||||||
|
* @param $data
|
||||||
|
* @return mixed
|
||||||
|
*/
|
||||||
|
public function searchSubscribeAttr($query, $value, $data)
|
||||||
|
{
|
||||||
|
return $query->where('subscribe', $value);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 订阅开始
|
||||||
|
*
|
||||||
|
* @time 2020年06月21日
|
||||||
|
* @param $query
|
||||||
|
* @param $value
|
||||||
|
* @param $data
|
||||||
|
* @return mixed
|
||||||
|
*/
|
||||||
|
public function searchStartAtAttr($query, $value, $data)
|
||||||
|
{
|
||||||
|
return $query->where('subscribe_time', '>=', strtotime($value . ' 00:00:00'));
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 订阅结束
|
||||||
|
*
|
||||||
|
* @time 2020年06月21日
|
||||||
|
* @param $query
|
||||||
|
* @param $value
|
||||||
|
* @param $data
|
||||||
|
* @return mixed
|
||||||
|
*/
|
||||||
|
public function searchEndAtAttr($query, $value, $data)
|
||||||
|
{
|
||||||
|
return $query->where('subscribe_time', '<=', strtotime($value . ' 23:59:59'));
|
||||||
|
}
|
||||||
|
}
|
Loading…
x
Reference in New Issue
Block a user