You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

75 lines
4.7 KiB

<?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方法
}
}