新增微信用户
This commit is contained in:
parent
028333fae3
commit
092567a169
10
catch/wechat/controller/Tags.php
Normal file
10
catch/wechat/controller/Tags.php
Normal file
@ -0,0 +1,10 @@
|
|||||||
|
<?php
|
||||||
|
/**
|
||||||
|
* @filename Tags.php
|
||||||
|
* @createdAt 2020/6/21
|
||||||
|
* @project https://github.com/yanwenwu/catch-admin
|
||||||
|
* @document http://doc.catchadmin.com
|
||||||
|
* @author JaguarJack <njphper@gmail.com>
|
||||||
|
* @copyright By CatchAdmin
|
||||||
|
* @license https://github.com/yanwenwu/catch-admin/blob/master/LICENSE.txt
|
||||||
|
*/
|
@ -1,6 +1,6 @@
|
|||||||
<?php
|
<?php
|
||||||
/**
|
/**
|
||||||
* @filename Users.php
|
* @filename WechatUsersRepository.php
|
||||||
* @date 2020/6/7
|
* @date 2020/6/7
|
||||||
* @project https://github.com/yanwenwu/catch-admin
|
* @project https://github.com/yanwenwu/catch-admin
|
||||||
* @document http://doc.catchadmin.com
|
* @document http://doc.catchadmin.com
|
||||||
@ -10,7 +10,7 @@
|
|||||||
*/
|
*/
|
||||||
namespace catchAdmin\wechat\controller;
|
namespace catchAdmin\wechat\controller;
|
||||||
|
|
||||||
use catchAdmin\wechat\model\WechatUsers;
|
use catchAdmin\wechat\repository\WechatUsersRepository;
|
||||||
use catcher\base\CatchController;
|
use catcher\base\CatchController;
|
||||||
use catcher\CatchResponse;
|
use catcher\CatchResponse;
|
||||||
use catcher\Utils;
|
use catcher\Utils;
|
||||||
@ -19,7 +19,7 @@ class Users extends CatchController
|
|||||||
{
|
{
|
||||||
protected $user;
|
protected $user;
|
||||||
|
|
||||||
public function __construct(WechatUsers $users)
|
public function __construct(WechatUsersRepository $users)
|
||||||
{
|
{
|
||||||
$this->user = $users;
|
$this->user = $users;
|
||||||
}
|
}
|
||||||
@ -39,49 +39,25 @@ class Users extends CatchController
|
|||||||
* 备注
|
* 备注
|
||||||
*
|
*
|
||||||
* @time 2020年06月19日
|
* @time 2020年06月19日
|
||||||
* @param $optionId
|
* @param $id
|
||||||
* @param $remark
|
* @param $remark
|
||||||
* @return \think\response\Json
|
* @return \think\response\Json
|
||||||
*/
|
*/
|
||||||
public function remark($optionId, $remark)
|
public function remark($id, $remark)
|
||||||
{
|
{
|
||||||
return CatchResponse::success($this->user->remark($optionId, $remark));
|
return CatchResponse::success($this->user->remark($id, $remark));
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 拉黑
|
* 拉黑
|
||||||
*
|
*
|
||||||
* @time 2020年06月19日
|
* @time 2020年06月19日
|
||||||
* @param $openId
|
* @param $id
|
||||||
* @return \think\response\Json
|
* @return \think\response\Json
|
||||||
*/
|
*/
|
||||||
public function block($openId)
|
public function block($id)
|
||||||
{
|
{
|
||||||
return CatchResponse::success($this->user->block(Utils::stringToArrayBy($openId)));
|
return CatchResponse::success($this->user->block($id));
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 拉黑列表
|
|
||||||
*
|
|
||||||
* @time 2020年06月19日
|
|
||||||
* @param null $nextOpenid
|
|
||||||
* @return \think\response\Json
|
|
||||||
*/
|
|
||||||
public function blacklist($nextOpenid = null)
|
|
||||||
{
|
|
||||||
return CatchResponse::success($this->user->blacklist($nextOpenid));
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 取消拉黑
|
|
||||||
*
|
|
||||||
* @time 2020年06月19日
|
|
||||||
* @param $openId
|
|
||||||
* @return \think\response\Json
|
|
||||||
*/
|
|
||||||
public function unblock($openId)
|
|
||||||
{
|
|
||||||
return CatchResponse::success($this->user->unblock(Utils::stringToArrayBy($openId)));
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public function subscribe()
|
public function subscribe()
|
||||||
|
@ -23,25 +23,27 @@ class WechatUsers extends CatchModel
|
|||||||
|
|
||||||
protected $field = [
|
protected $field = [
|
||||||
'id', //
|
'id', //
|
||||||
'nickname', // 用户名
|
'nickname', // 用户名',
|
||||||
'avatar', // 用户头像
|
'avatar', // 用户头像',
|
||||||
'openid', // openid
|
'openid', // openid',
|
||||||
'language', // 语言
|
'language', // 语言',
|
||||||
'country', // 国家
|
'country', // 国家',
|
||||||
'province', // 省份
|
'province', // 省份',
|
||||||
'city', // 城市
|
'city', // 城市',
|
||||||
'subscribe', // 用户状态 0 取消订阅 1 订阅
|
'subscribe', // 用户状态 0 取消订阅 1 订阅',
|
||||||
'block', // 拉黑状态 1 正常 2 拉黑
|
'block', // 拉黑状态 1 正常 2 拉黑',
|
||||||
'subscribe_time', // 订阅时间
|
'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 其他
|
'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', // 用户平台唯一身份认证
|
'unionid', // 用户平台唯一身份认证',
|
||||||
'sex', // 用户状态 1 男 2 女 0 未知
|
'sex', // 用户状态 1 男 2 女 0 未知',
|
||||||
'remark', // 备注
|
'remark', // 备注',
|
||||||
'groupid', // 分组ID
|
'groupid', // 分组ID',
|
||||||
'tagid_list', // 标签列表
|
'tagid_list', // 标签列表',
|
||||||
'created_at', // 创建时间
|
'created_at', // 创建时间',
|
||||||
'updated_at', // 更新时间
|
'updated_at', // 更新时间',
|
||||||
'deleted_at', // 删除状态,0未删除 >0 已删除
|
'deleted_at', // 删除状态,0未删除 >0 已删除',
|
||||||
];
|
];
|
||||||
|
|
||||||
|
const BlOCK = 2; // 拉黑
|
||||||
|
const UNBLOCK = 1; // 取消拉黑
|
||||||
}
|
}
|
@ -1,6 +1,6 @@
|
|||||||
<?php
|
<?php
|
||||||
/**
|
/**
|
||||||
* @filename Users.php
|
* @filename WechatUsersRepository.php
|
||||||
* @createdAt 2020/6/21
|
* @createdAt 2020/6/21
|
||||||
* @project https://github.com/yanwenwu/catch-admin
|
* @project https://github.com/yanwenwu/catch-admin
|
||||||
* @document http://doc.catchadmin.com
|
* @document http://doc.catchadmin.com
|
||||||
@ -12,16 +12,64 @@ namespace catchAdmin\wechat\repository;
|
|||||||
|
|
||||||
use catchAdmin\wechat\model\WechatUsers;
|
use catchAdmin\wechat\model\WechatUsers;
|
||||||
use catcher\base\CatchRepository;
|
use catcher\base\CatchRepository;
|
||||||
|
use catcher\library\WeChat;
|
||||||
|
|
||||||
class WechatUsersRepository extends CatchRepository
|
class WechatUsersRepository extends CatchRepository
|
||||||
{
|
{
|
||||||
|
protected $wechatUser;
|
||||||
|
|
||||||
public function __construct(WechatUsers $users)
|
public function __construct(WechatUsers $users)
|
||||||
{
|
{
|
||||||
|
$this->wechatUser = $users;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 模型
|
||||||
|
*
|
||||||
|
* @time 2020年06月21日
|
||||||
|
* @return WechatUsers
|
||||||
|
*/
|
||||||
protected function model()
|
protected function model()
|
||||||
{
|
{
|
||||||
|
return $this->wechatUser;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 拉黑用户
|
||||||
|
*
|
||||||
|
* @time 2020年06月21日
|
||||||
|
* @param $id
|
||||||
|
* @return mixed
|
||||||
|
*/
|
||||||
|
public function block($id)
|
||||||
|
{
|
||||||
|
$user = $this->wechatUser->findBy($id);
|
||||||
|
|
||||||
|
$blockMethod = $user->block == WechatUsers::UNBLOCK ? 'block' : 'unblock';
|
||||||
|
|
||||||
|
WeChat::throw(WeChat::officialAccount()->user->{$blockMethod}([$user->openid]));
|
||||||
|
|
||||||
|
$user->block = $user->block == WechatUsers::BlOCK ? WechatUsers::UNBLOCK : WechatUsers::BlOCK;
|
||||||
|
|
||||||
|
return $user->save();
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 粉丝备注
|
||||||
|
*
|
||||||
|
* @time 2020年06月21日
|
||||||
|
* @param $id
|
||||||
|
* @param string $remark
|
||||||
|
* @return mixed
|
||||||
|
*/
|
||||||
|
public function remark($id, string $remark)
|
||||||
|
{
|
||||||
|
$user = $this->wechatUser->findBy($id);
|
||||||
|
|
||||||
|
WeChat::throw(WeChat::officialAccount()->user->remark($user->openid, $remark));
|
||||||
|
|
||||||
|
$user->remark = $remark;
|
||||||
|
|
||||||
|
return $user->save();
|
||||||
}
|
}
|
||||||
}
|
}
|
@ -13,9 +13,7 @@ $router->group('wechat', function () use ($router){
|
|||||||
// 公众号粉丝
|
// 公众号粉丝
|
||||||
$router->group('official/users', function () use ($router){
|
$router->group('official/users', function () use ($router){
|
||||||
$router->get('<nextOpenid?>', '\catchAdmin\wechat\controller\Users@index');
|
$router->get('<nextOpenid?>', '\catchAdmin\wechat\controller\Users@index');
|
||||||
$router->put('remark/<openid>/<remark>', '\catchAdmin\wechat\controller\Users@remark');
|
$router->put('remark/<id>/<remark>', '\catchAdmin\wechat\controller\Users@remark');
|
||||||
$router->put('block/<openid>', '\catchAdmin\wechat\controller\Users@block');
|
$router->put('block/<id>', '\catchAdmin\wechat\controller\Users@block');
|
||||||
$router->put('unblock/<openid>', '\catchAdmin\wechat\controller\Users@unblock');
|
|
||||||
$router->get('blacklist', '\catchAdmin\wechat\controller\Users@blacklist');
|
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
|
Loading…
x
Reference in New Issue
Block a user