新增微信用户

This commit is contained in:
JaguarJack 2020-06-21 14:41:22 +08:00
parent 028333fae3
commit 092567a169
5 changed files with 91 additions and 57 deletions

View 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
*/

View File

@ -1,6 +1,6 @@
<?php
/**
* @filename Users.php
* @filename WechatUsersRepository.php
* @date 2020/6/7
* @project https://github.com/yanwenwu/catch-admin
* @document http://doc.catchadmin.com
@ -10,7 +10,7 @@
*/
namespace catchAdmin\wechat\controller;
use catchAdmin\wechat\model\WechatUsers;
use catchAdmin\wechat\repository\WechatUsersRepository;
use catcher\base\CatchController;
use catcher\CatchResponse;
use catcher\Utils;
@ -19,7 +19,7 @@ class Users extends CatchController
{
protected $user;
public function __construct(WechatUsers $users)
public function __construct(WechatUsersRepository $users)
{
$this->user = $users;
}
@ -39,49 +39,25 @@ class Users extends CatchController
* 备注
*
* @time 2020年06月19日
* @param $optionId
* @param $id
* @param $remark
* @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日
* @param $openId
* @param $id
* @return \think\response\Json
*/
public function block($openId)
public function block($id)
{
return CatchResponse::success($this->user->block(Utils::stringToArrayBy($openId)));
}
/**
* 拉黑列表
*
* @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)));
return CatchResponse::success($this->user->block($id));
}
public function subscribe()

View File

@ -23,25 +23,27 @@ class WechatUsers extends CatchModel
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 已删除
'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 已删除',
];
const BlOCK = 2; // 拉黑
const UNBLOCK = 1; // 取消拉黑
}

View File

@ -1,6 +1,6 @@
<?php
/**
* @filename Users.php
* @filename WechatUsersRepository.php
* @createdAt 2020/6/21
* @project https://github.com/yanwenwu/catch-admin
* @document http://doc.catchadmin.com
@ -12,16 +12,64 @@ namespace catchAdmin\wechat\repository;
use catchAdmin\wechat\model\WechatUsers;
use catcher\base\CatchRepository;
use catcher\library\WeChat;
class WechatUsersRepository extends CatchRepository
{
protected $wechatUser;
public function __construct(WechatUsers $users)
{
$this->wechatUser = $users;
}
/**
* 模型
*
* @time 2020年06月21日
* @return WechatUsers
*/
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();
}
}

View File

@ -13,9 +13,7 @@ $router->group('wechat', function () use ($router){
// 公众号粉丝
$router->group('official/users', function () use ($router){
$router->get('<nextOpenid?>', '\catchAdmin\wechat\controller\Users@index');
$router->put('remark/<openid>/<remark>', '\catchAdmin\wechat\controller\Users@remark');
$router->put('block/<openid>', '\catchAdmin\wechat\controller\Users@block');
$router->put('unblock/<openid>', '\catchAdmin\wechat\controller\Users@unblock');
$router->get('blacklist', '\catchAdmin\wechat\controller\Users@blacklist');
$router->put('remark/<id>/<remark>', '\catchAdmin\wechat\controller\Users@remark');
$router->put('block/<id>', '\catchAdmin\wechat\controller\Users@block');
});
});