first commit

This commit is contained in:
编码猿
2024-09-27 01:06:04 +08:00
commit cbed24c40d
205 changed files with 8732 additions and 0 deletions

View File

@@ -0,0 +1,292 @@
<?php
include_once 'BmobRestClient.class.php';
/**
* BmobUser User对象类
* @author karvinchen
* @license http://www.gnu.org/copyleft/lesser.html Distributed under the Lesser General Public License (LGPL)
*/
class BmobUser extends BmobRestClient
{
public function __construct($class = '')
{
parent::__construct();
}
/**
* 用户注册
* @param array $data 需要传入的参数
*/
public function register($data = array())
{
$this->cleanData();
if (!empty($data)) {
$request = $this->sendRequest(array(
'method' => 'POST',
'sendRequestUrl' => 'users',
'data' => $data
));
return $request;
} else {
$this->throwError('输入参数不能为空');
}
}
/**
* 用户登录, 其中username和password为必填字段
* @param string $username 用户名, 必填
* @param string $password 密码, 必填
*/
public function login($username, $password)
{
if (!empty($username) || !empty($password)) {
$request = $this->sendRequest(array(
'method' => 'GET',
'sendRequestUrl' => 'login',
'data' => array(
'username' => $username,
'password' => $password
)
));
return $request;
} else {
$this->throwError('用户名和密码不能为空');
}
}
/**
* 用手机号登录, 其中mobilePhoneNumber和smsCode为必填字段
* @param string $mobilePhoneNumber 手机号
* @param string $smsCode 验证码
*/
public function loginByMobile($mobilePhoneNumber, $smsCode)
{
if (!empty($mobilePhoneNumber) || !empty($smsCode)) {
$request = $this->sendRequest(array(
'method' => 'POST',
'sendRequestUrl' => 'users',
'data' => array(
'mobilePhoneNumber' => $mobilePhoneNumber,
'smsCode' => $smsCode
)
));
return $request;
} else {
$this->throwError('手机号和验证码不能为空');
}
}
/**
* 获取用户的信息
* @param string $userId 用户id, 必填
*/
public function get($userId = 0, $condition = array())
{
if ($userId) {
//获取某个用户的信息
$request = $this->sendRequest(array(
'method' => 'GET',
'sendRequestUrl' => 'users/' . $userId,
));
return $request;
} else {
//获取所有用户的信息
$request = $this->sendRequest(array(
'method' => 'GET',
'sendRequestUrl' => 'users',
'condition' => $condition,
));
return $request;
}
}
/**
* 更新用户的信息
* @param string $userId 用户id, 必填
* @param string $sessionToken 在用户登录或注册后获取, 必填
* @param array $data 需要更新的用户属性
*/
public function update($userId, $sessionToken, $data = array())
{
if (!empty($userId) || !empty($sessionToken)) {
if ($data) {
$request = $this->sendRequest(array(
'method' => 'PUT',
'sendRequestUrl' => 'users/' . $userId,
'sessionToken' => $sessionToken,
'data' => $data
));
} else {
$this->throwError('请输入需要更新的属性');
}
return $request;
} else {
$this->throwError('用户id和sessionToken不能为空');
}
}
/**
* 通过MasterKey更新用户的信息
* @param string $userId 用户id, 必填
* @param string $masterKey 后台应用密钥中的Master Key
* @param array $data 需要更新的用户属性
*/
public function updateByMasterKey($userId, $masterKey, $data = array())
{
if (!empty($userId) || !empty($masterKey)) {
if ($data) {
$request = $this->sendRequest(array(
'method' => 'PUT',
'sendRequestUrl' => 'users/' . $userId,
'masterKey' => $masterKey,
'data' => $data
));
} else {
$this->throwError('请输入需要更新的属性');
}
return $request;
} else {
$this->throwError('用户id和masterKey不能为空');
}
}
/**
* 请求重设密码,前提是用户将email与他们的账户关联起来
* @param string $email
*/
public function requestPasswordReset($email)
{
if (!empty($email)) {
$request = $this->sendRequest(array(
'method' => 'POST',
'sendRequestUrl' => 'requestPasswordReset',
'data' => array("email" => $email)
));
return $request;
} else {
$this->throwError('email is required for the requestPasswordReset method');
}
}
/**
* 删除用户
* @param string $userId
* @param string $sessionToken
*/
public function delete($userId, $sessionToken)
{
if (!empty($userId) || !empty($sessionToken)) {
$request = $this->sendRequest(array(
'method' => 'DELETE',
'sendRequestUrl' => 'users/' . $userId,
'sessionToken' => $sessionToken
));
return $request;
} else {
$this->throwError('用户id和sessionToken不能为空');
}
}
/**
* 删除用户
* @param string $userId
* @param string $masterKey
*/
public function deleteByMasterKey($userId, $masterKey)
{
if (!empty($userId) || !empty($masterKey)) {
$request = $this->sendRequest(array(
'method' => 'DELETE',
'sendRequestUrl' => 'users/' . $userId,
'masterKey' => $masterKey
));
return $request;
} else {
$this->throwError('用户id和masterKey不能为空');
}
}
/**
* 使用短信验证码进行密码重置
* @param string $oldPassword 旧密码
* @param string $newPassword 新密码
*/
public function resetPasswordBySmsCode($smsCode, $newPassword)
{
if (!empty($newPassword) || !empty($smsCode)) {
$request = $this->sendRequest(array(
'method' => 'PUT',
'sendRequestUrl' => 'resetPasswordBySmsCode/' . $smsCode,
'data' => array("password" => $newPassword)
));
return $request;
} else {
$this->throwError('密码和短信验证码不能为空');
}
}
/**
* 用户输入一次旧密码做一次校验,旧密码正确才可以修改为新密码
* @param string $userId id
* @param string $sessionToken sessionToken
* @param string $oldPassword 旧密码
* @param string $newPassword 新密码
*/
public function updateUserPassword($userId, $sessionToken, $oldPassword, $newPassword)
{
if (!empty($oldPassword) || !empty($newPassword) || !empty($userId) || !empty($sessionToken)) {
$request = $this->sendRequest(array(
'method' => 'PUT',
'sendRequestUrl' => 'updateUserPassword/' . $userId,
'sessionToken' => $sessionToken,
'data' => array("oldPassword" => $oldPassword, "newPassword" => $newPassword)
));
return $request;
} else {
$this->throwError('参数不能为空');
}
}
/**
* 请求验证Email
* @param string $email email
*/
public function requestEmailVerify($email)
{
if (!empty($email)) {
$request = $this->sendRequest(array(
'method' => 'POST',
'sendRequestUrl' => 'requestEmailVerify',
'data' => array("email" => $email)
));
return $request;
} else {
$this->throwError('email不能为空');
}
}
}
?>