hideto-d-kurt / user-management
用户管理包
1.0.8
2019-08-05 09:42 UTC
Requires
- php: >=5.3.0
This package is auto-updated.
Last update: 2024-09-05 21:03:32 UTC
README
要求
你应该使用MongoDB
* PHP >= 7.1.0
* jenssegers/laravel-mongodb
安装
composer require hideto-d-kurt/user-management
用法
获取所有用户
示例
<?php namespace App\Http\Controllers\Users; use Illuminate\Http\Request; use App\Http\Controllers\Controller; use UserManagement\Users; class UsersController extends Controller { protected $users = null; public function __construct() { $this->users = new Users(); } public function getAllUsers() { $users = $this->users->getAllUser(); return response()->json(['data' => $users]); } }
设置用户日志
示例提交日志数据
{
"id": "5d42a97d68285300074e4f42",
"uri": "/home",
"date_time": "1564739327"
}
示例函数
use UserManagement\UserLog; class UsersController extends Controller { protected $user_log = null; public function __construct() { $this->user_log = new UserLog(); } public function setUserLog(Request $req) { $log_detail = $req->all(); $this->user_log->setUserLog($log_detail); return response()->json(['data' => $log_detail]); } }
按ID获取用户
示例
public function getUserById($id) { $users = new Users(); $user = $users->getUserById($id); return response()->json(['data' => $user]); }
响应
{
"data": {
"_id": "5d42a97d68285300074e4f42",
"name": "Hideto D Kurt",
"email": "abc@gmail.com",
"password": "$2y$10$4Ft/HJveRZuYYMlQxEcuzuckvJhEvW94/K9IPqWaso8wXl0POCKHG",
"updated_at": "2019-08-01 08:57:33",
"created_at": "2019-08-01 08:57:33"
}
}
创建用户
示例提交数据
{
"name": "Hideto D Kurt",
"email": "abc@gmail.com",
"password": "$2y$10$4Ft/HJveRZuYYMlQxEcuzuckvJhEvW94/K9IPqWaso8wXl0POCKHG",
"updated_at": "2019-08-01T08:57:33Z",
"created_at": "2019-08-01T08:57:33Z"
}
密码由
use Illuminate\Support\Facades\Hash; /*-----------------------*/ 'password' => Hash::make($data['password'])
示例代码
public function createUser(Request $req) { $user = $req->all(); $user_class = new Users(); $user = $user_class->createUser($user, 'email'); if($user) { return response()->json(['data' => $user, 'message' => 'Create User Success.']); } else { return response()->json(['data' => [], 'message' => 'Create User fail.']); } }
响应成功
{
"data": {
"_id": "5d42a97d68285300074e4f42",
"name": "Hideto D Kurt",
"email": "abc@gmail.com",
"password": "$2y$10$4Ft/HJveRZuYYMlQxEcuzuckvJhEvW94/K9IPqWaso8wXl0POCKHG",
"updated_at": "2019-08-01 08:57:33",
"created_at": "2019-08-01 08:57:33"
},
"massage": "Create User Success."
}
响应失败
{
"data": {},
"massage": "Create User fail."
}
更新用户
示例提交数据
{
"_id": "5d42a97d68285300074e4f42",
"name": "toshi",
"email": "xxxxx@gmail.com",
"password": "$2y$10$4Ft/HJveRZuYYMlQxEcuzuckvJhEvW94/K9IPqWaso8wXl0POCKHG"
}
密码由
use Illuminate\Support\Facades\Hash; /*-----------------------*/ 'password' => Hash::make($data['password'])
示例代码
public function updateUser(Request $req) { $user = $req->all(); $user = $this->users->updateUser($user, '_id'); if($user) { return response()->json(['data' => $user, 'message' => 'Update User Success']); } else { return response()->json(['data' => [], 'message' => 'Update User fail.']); } }
响应成功
{
"data": {
"_id": "5d42a97d68285300074e4f42",
"name": "toshi",
"email": "xxxxx@gmail.com",
"password": "$2y$10$4Ft/HJveRZuYYMlQxEcuzuckvJhEvW94/K9IPqWaso8wXl0POCKHG",
"updated_at": "2019-08-05 03:59:38",
"created_at": "2019-08-01 08:57:33"
},
"massage": "Update User Success."
}
响应失败
{
"data": {},
"massage": "Update User fail."
}
软删除和硬删除用户
示例提交数据
{
"_id": "5d42a97d68285300074e4f42",
"name": "toshi",
"email": "xxxxx@gmail.com"
}
硬删除示例代码
public function deleteUserHard(Request $req) { $user = $req->all(); $user = $this->users->deleteUserHard($user, '_id'); if($user) { return response()->json(['data' => [], 'message' => 'Hard Delete User Success']); } else { return response()->json(['data' => [], 'message' => 'Hard Delete User fail.']); } }
响应成功
{
"data": {},
"massage": "Hard Delete User Success."
}
响应失败
{
"data": {},
"massage": "Hard Delete User fail."
}
软删除示例代码
public function deleteUserSoft(Request $req) { $user = $req->all(); $user = $this->users->deleteUserHard($user, '_id'); if($user) { return response()->json(['data' => [], 'message' => 'Soft Delete User Success']); } else { return response()->json(['data' => [], 'message' => 'Soft Delete User fail.']); } }
响应成功
{
"data": {},
"massage": "Soft Delete User Success."
}
响应失败
{
"data": {},
"massage": "Soft Delete User fail."
}
通过其他键获取用户
示例
public function getOneUserByUnique() { $users = new Users(); $user = $users->getUserById('email', 'abc@gmail.com'); return response()->json(['data' => $user]); }
响应
{
"data": {
"_id": "5d42a97d68285300074e4f42",
"name": "Hideto D Kurt",
"email": "abc@gmail.com",
"password": "$2y$10$4Ft/HJveRZuYYMlQxEcuzuckvJhEvW94/K9IPqWaso8wXl0POCKHG",
"updated_at": "2019-08-01 08:57:33",
"created_at": "2019-08-01 08:57:33"
}
}
通过键和值及条件获取用户
示例
public function getUserByCondition() { $key = 'email'; $value = '%gmail.com%'; $condition = 'like'; $user = $this->users->getUserByKeyAndCondition($key, $value, $condition); return response()->json(['data' => $user]); }
响应
{
"data": [
{
"_id": "5d42a97d68285300074e4f42",
"name": "Hideto D Kurt",
"email": "xxxxx@gmail.com",
"password": "$2y$10$4Ft/HJveRZuYYMlQxEcuzuckvJhEvW94/K9IPqWaso8wXl0POCKHG",
"updated_at": "2019-08-01 08:57:33",
"created_at": "2019-08-01 08:57:33"
},
{
"_id": "5d47bf556828530007429b78",
"name": "abc def",
"email": "abc@gmail.com",
"password": "$2y$10$4Ft/HJveRZuYYMlQxEcuzuckvJhEvW94/K9IPqWaso8wXl0POMJHG",
"created_at": "2019-08-05 05:32:05",
"updated_at": "2019-08-05 05:32:05"
}
]
}
用户登录
示例提交数据
{
"_id": "5d42a97d68285300074e4f42",
"name": "toshi",
"email": "xxxxx@gmail.com",
"password": "$2y$10$4Ft/HJveRZuYYMlQxEcuzuckvJhEvW94/K9IPqWaso8wXl0POCKHG"
}
密码由
use Illuminate\Support\Facades\Hash; /*-----------------------*/ 'password' => Hash::make($data['password'])
示例代码
public function loginUesr(Request $req) { $user_login = new Users(); $user = $req->all(); $user = $user_login->userAuth($user, 'email', 'password'); if($user) { return response()->json(['data' => $user, 'message' => 'Log in Success.']); } else { return response()->json(['data' => [], 'message' => 'Log in fail.']); } }
响应成功
{
"data": {
"_id": "5d42a97d68285300074e4f42",
"name": "toshi",
"email": "xxxxx@gmail.com",
"password": "$2y$10$4Ft/HJveRZuYYMlQxEcuzuckvJhEvW94/K9IPqWaso8wXl0POCKHG",
"created_at": "2019-08-01 08:57:33",
"updated_at": "2019-08-05 09:37:52",
"login_at": "2019-08-05 09:37:52"
},
"massage": "Log in Success."
}
响应失败
{
"data": {},
"massage": "Log in fail."
}