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." }