| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180 |
- <?php
- /*
- * This file is part of the overtrue/wechat.
- *
- * (c) overtrue <i@overtrue.me>
- *
- * This source file is subject to the MIT license that is bundled
- * with this source code in the file LICENSE.
- */
- /**
- * User.php.
- *
- * @author overtrue <i@overtrue.me>
- * @copyright 2015 overtrue <i@overtrue.me>
- *
- * @see https://github.com/overtrue
- * @see http://overtrue.me
- */
- namespace EasyWeChat\User;
- use EasyWeChat\Core\AbstractAPI;
- /**
- * Class User.
- */
- class User extends AbstractAPI
- {
- const API_GET = 'https://api.weixin.qq.com/cgi-bin/user/info';
- const API_BATCH_GET = 'https://api.weixin.qq.com/cgi-bin/user/info/batchget';
- const API_LIST = 'https://api.weixin.qq.com/cgi-bin/user/get';
- const API_GROUP = 'https://api.weixin.qq.com/cgi-bin/groups/getid';
- const API_REMARK = 'https://api.weixin.qq.com/cgi-bin/user/info/updateremark';
- const API_OAUTH_GET = 'https://api.weixin.qq.com/sns/userinfo';
- const API_GET_BLACK_LIST = 'https://api.weixin.qq.com/cgi-bin/tags/members/getblacklist';
- const API_BATCH_BLACK_LIST = 'https://api.weixin.qq.com/cgi-bin/tags/members/batchblacklist';
- const API_BATCH_UNBLACK_LIST = 'https://api.weixin.qq.com/cgi-bin/tags/members/batchunblacklist';
- /**
- * Fetch a user by open id.
- *
- * @param string $openId
- * @param string $lang
- *
- * @return \EasyWeChat\Support\Collection
- */
- public function get($openId, $lang = 'zh_CN')
- {
- $params = [
- 'openid' => $openId,
- 'lang' => $lang,
- ];
- return $this->parseJSON('get', [self::API_GET, $params]);
- }
- /**
- * Batch get users.
- *
- * @param array $openIds
- * @param string $lang
- *
- * @return \EasyWeChat\Support\Collection
- */
- public function batchGet(array $openIds, $lang = 'zh_CN')
- {
- $params = [];
- $params['user_list'] = array_map(function ($openId) use ($lang) {
- return [
- 'openid' => $openId,
- 'lang' => $lang,
- ];
- }, $openIds);
- return $this->parseJSON('json', [self::API_BATCH_GET, $params]);
- }
- /**
- * List users.
- *
- * @param string $nextOpenId
- *
- * @return \EasyWeChat\Support\Collection
- */
- public function lists($nextOpenId = null)
- {
- $params = ['next_openid' => $nextOpenId];
- return $this->parseJSON('get', [self::API_LIST, $params]);
- }
- /**
- * Set user remark.
- *
- * @param string $openId
- * @param string $remark
- *
- * @return \EasyWeChat\Support\Collection
- */
- public function remark($openId, $remark)
- {
- $params = [
- 'openid' => $openId,
- 'remark' => $remark,
- ];
- return $this->parseJSON('json', [self::API_REMARK, $params]);
- }
- /**
- * Get user's group id.
- *
- * @param string $openId
- *
- * @return \EasyWeChat\Support\Collection
- */
- public function group($openId)
- {
- return $this->getGroup($openId);
- }
- /**
- * Get user's group.
- *
- * @param string $openId
- *
- * @return \EasyWeChat\Support\Collection
- */
- public function getGroup($openId)
- {
- $params = ['openid' => $openId];
- return $this->parseJSON('json', [self::API_GROUP, $params]);
- }
- /**
- * Get black list.
- *
- * @param string|null $beginOpenid
- *
- * @return \EasyWeChat\Support\Collection
- */
- public function blacklist($beginOpenid = null)
- {
- $params = ['begin_openid' => $beginOpenid];
- return $this->parseJSON('json', [self::API_GET_BLACK_LIST, $params]);
- }
- /**
- * Batch block user.
- *
- * @param array $openidList
- *
- * @return \EasyWeChat\Support\Collection
- */
- public function batchBlock(array $openidList)
- {
- $params = ['openid_list' => $openidList];
- return $this->parseJSON('json', [self::API_BATCH_BLACK_LIST, $params]);
- }
- /**
- * Batch unblock user.
- *
- * @param array $openidList
- *
- * @return \EasyWeChat\Support\Collection
- */
- public function batchUnblock(array $openidList)
- {
- $params = ['openid_list' => $openidList];
- return $this->parseJSON('json', [self::API_BATCH_UNBLACK_LIST, $params]);
- }
- }
|