|
|
|
|
<?php
|
|
|
|
|
namespace LaneWeChat\Core; // 定义命名空间,表明这个类属于LaneWeChat模块的核心部分
|
|
|
|
|
|
|
|
|
|
class UserManage { // 定义一个名为UserManage的类,用于用户管理功能
|
|
|
|
|
// 创建一个新的用户分组
|
|
|
|
|
public static function createGroup($groupName) {
|
|
|
|
|
$accessToken = AccessToken::getAccessToken(); // 获取access_token
|
|
|
|
|
$queryUrl = 'https://api.weixin.qq.com/cgi-bin/groups/create?access_token=' . $accessToken; // 构建请求URL,包含access_token
|
|
|
|
|
$data = '{"group":{"name":"' . $groupName . '"}}'; // 准备发送的数据,包含分组名称
|
|
|
|
|
return Curl::callWebServer($queryUrl, $data, 'POST'); // 发起POST请求,调用Curl类的方法
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
// 获取所有用户分组列表
|
|
|
|
|
public static function getGroupList() {
|
|
|
|
|
$accessToken = AccessToken::getAccessToken(); // 获取access_token
|
|
|
|
|
$queryUrl = 'https://api.weixin.qq.com/cgi-bin/groups/get?access_token=' . $accessToken; // 构建请求URL,包含access_token
|
|
|
|
|
$data = ''; // 不需要发送数据
|
|
|
|
|
return Curl::callWebServer($queryUrl, $data, 'GET'); // 发起GET请求,调用Curl类的方法
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
// 根据OpenId获取用户所在的分组ID
|
|
|
|
|
public static function getGroupByOpenId($openId) {
|
|
|
|
|
$accessToken = AccessToken::getAccessToken(); // 获取access_token
|
|
|
|
|
$queryUrl = 'https://api.weixin.qq.com/cgi-bin/groups/getid?access_token=' . $accessToken; // 构建请求URL,包含access_token
|
|
|
|
|
$data = '{"openid":"' . $openId . '"}'; // 准备发送的数据,包含OpenId
|
|
|
|
|
return Curl::callWebServer($queryUrl, $data, 'POST'); // 发起POST请求,调用Curl类的方法
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
// 编辑用户分组的名称
|
|
|
|
|
public static function editGroupName($groupId, $groupName) {
|
|
|
|
|
$accessToken = AccessToken::getAccessToken(); // 获取access_token
|
|
|
|
|
$queryUrl = 'https://api.weixin.qq.com/cgi-bin/groups/update?access_token=' . $accessToken; // 构建请求URL,包含access_token
|
|
|
|
|
$data = '{"group":{"id":' . $groupId . ',"name":"' . $groupName . '"}}'; // 准备发送的数据,包含分组ID和新名称
|
|
|
|
|
return Curl::callWebServer($queryUrl, $data, 'POST'); // 发起POST请求,调用Curl类的方法
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
// 将用户移动到另一个分组
|
|
|
|
|
public static function editUserGroup($openid, $to_groupid) {
|
|
|
|
|
$accessToken = AccessToken::getAccessToken(); // 获取access_token
|
|
|
|
|
$queryUrl = 'https://api.weixin.qq.com/cgi-bin/groups/members/update?access_token=' . $accessToken; // 构建请求URL,包含access_token
|
|
|
|
|
$data = '{"openid":"' . $openid . '","to_groupid":' . $to_groupid . '}'; // 准备发送的数据,包含OpenId和目标分组ID
|
|
|
|
|
return Curl::callWebServer($queryUrl, $data, 'POST'); // 发起POST请求,调用Curl类的方法
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
// 获取用户的详细信息
|
|
|
|
|
public static function getUserInfo($openId) {
|
|
|
|
|
$accessToken = AccessToken::getAccessToken(); // 获取access_token
|
|
|
|
|
$queryUrl = 'https://api.weixin.qq.com/cgi-bin/user/info?access_token=' . $accessToken . '&openid=' . $openId; // 构建请求URL,包含access_token和OpenId
|
|
|
|
|
return Curl::callWebServer($queryUrl, '', 'GET'); // 发起GET请求,调用Curl类的方法
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
// 获取公众号粉丝列表
|
|
|
|
|
public static function getFansList($next_openid='') {
|
|
|
|
|
$accessToken = AccessToken::getAccessToken(); // 获取access_token
|
|
|
|
|
if(empty($next_openid)){ // 如果没有提供next_openid
|
|
|
|
|
$queryUrl = 'https://api.weixin.qq.com/cgi-bin/user/get?access_token=' . $accessToken; // 构建请求URL,包含access_token
|
|
|
|
|
}else{ // 如果提供了next_openid
|
|
|
|
|
$queryUrl = 'https://api.weixin.qq.com/cgi-bin/user/get?access_token=' . $accessToken . '&next_openid=' . $next_openid; // 构建请求URL,包含access_token和next_openid
|
|
|
|
|
}
|
|
|
|
|
return Curl::callWebServer($queryUrl, '', 'GET'); // 发起GET请求,调用Curl类的方法
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
// 设置用户的备注名
|
|
|
|
|
public static function setRemark($openId, $remark) {
|
|
|
|
|
$accessToken = AccessToken::getAccessToken(); // 获取access_token
|
|
|
|
|
$queryUrl = 'https://api.weixin.qq.com/cgi-bin/user/info/updateremark?access_token=' . $accessToken; // 构建请求URL,包含access_token
|
|
|
|
|
$data = json_encode(array('openid'=>$openId, 'remark'=>$remark)); // 准备发送的数据,包含OpenId和备注名
|
|
|
|
|
return Curl::callWebServer($queryUrl, $data, 'POST'); // 发起POST请求,调用Curl类的方法
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
// 获取网络状态
|
|
|
|
|
public static function getNetworkState() {
|
|
|
|
|
echo "WeixinJSBridge.invoke('getNetworkType',{},function(e){WeixinJSBridge.log(e.err_msg);});"; // 输出JavaScript代码,用于在微信浏览器中调用微信JSSDK的getNetworkType方法
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
命名空间声明:namespace LaneWeChat\Core; 定义了类的命名空间,表明这个类属于LaneWeChat模块的核心部分。
|
|
|
|
|
类定义:class UserManage 定义了一个用于用户管理功能的类。
|
|
|
|
|
createGroup方法:创建一个新的用户分组,获取 access_token 并构建请求URL,发送POST请求。
|
|
|
|
|
getGroupList方法:获取所有用户分组列表,获取 access_token 并构建请求URL,发送GET请求。
|
|
|
|
|
getGroupByOpenId方法:根据OpenId获取用户所在的分组ID,获取 access_token 并构建请求URL,发送POST请求。
|
|
|
|
|
editGroupName方法:编辑用户分组的名称,获取 access_token 并构建请求URL,发送POST请求。
|
|
|
|
|
editUserGroup方法:将用户移动到另一个分组,获取 access_token 并构建请求URL,发送POST请求。
|
|
|
|
|
getUserInfo方法:获取用户的详细信息,获取 access_token 并构建请求URL,发送GET请求。
|
|
|
|
|
getFansList方法:获取公众号粉丝列表,获取 access_token 并构建请求URL,发送GET请求。
|
|
|
|
|
setRemark方法:设置用户的备注名,获取 access_token 并构建请求URL,发送POST请求。
|
|
|
|
|
getNetworkState方法:获取网络状态,输出JavaScript代码,用于在微信浏览器中调用微信JSSDK的 getNetworkType 方法。
|