modified 细节优化,变更用户信息获取方式

This commit is contained in:
zhaoxiang 2019-05-27 00:55:25 +08:00
parent cad2716183
commit 78a539a53b
5 changed files with 30 additions and 38 deletions

View File

@ -6,6 +6,7 @@
*/
namespace app\admin\controller;
use app\util\ReturnCode;
use think\Controller;
@ -14,12 +15,9 @@ class Base extends Controller {
private $debug = [];
protected $userInfo;
public function _initialize() {
$ApiAuth = $this->request->header('ApiAuth');
if ($ApiAuth) {
$userInfo = cache('Login:' . $ApiAuth);
$this->userInfo = json_decode($userInfo, true);
}
public function __construct() {
parent::__construct();
$this->userInfo = $this->request->API_ADMIN_USER_INFO;
}
public function buildSuccess($data, $msg = '操作成功', $code = ReturnCode::SUCCESS) {

View File

@ -46,34 +46,28 @@ class User extends Base {
}
}
$listObj = (new AdminUser())->where($where)->order('regTime DESC')
->paginate($limit, false, ['page' => $start])->toArray();
$listObj = (new AdminUser())->where($where)->order('create_time DESC')
->paginate($limit, false, ['page' => $start])->each(function($item, $key){
$item->userData;
})->toArray();
$listInfo = $listObj['data'];
$idArr = array_column($listInfo, 'id');
$userData = AdminUserData::all(function($query) use ($idArr) {
$query->whereIn('uid', $idArr);
});
$userData = Tools::buildArrFromObj($userData);
$userData = Tools::buildArrByNewKey($userData, 'uid');
$userGroup = AdminAuthGroupAccess::all(function($query) use ($idArr) {
$query->whereIn('uid', $idArr);
});
$userGroup = Tools::buildArrFromObj($userGroup);
$userGroup = Tools::buildArrByNewKey($userGroup, 'uid');
foreach ($listInfo as $key => $value) {
if (isset($userData[$value['id']])) {
$listInfo[$key]['lastLoginIp'] = long2ip($userData[$value['id']]['lastLoginIp']);
$listInfo[$key]['loginTimes'] = $userData[$value['id']]['loginTimes'];
$listInfo[$key]['lastLoginTime'] = date('Y-m-d H:i:s', $userData[$value['id']]['lastLoginTime']);
}
$listInfo[$key]['regIp'] = long2ip($listInfo[$key]['regIp']);
foreach ($listInfo as $key => &$value) {
$value['userData']['last_login_ip'] = long2ip($value['userData']['last_login_ip']);
$value['userData']['last_login_time'] = date('Y-m-d H:i:s', $value['userData']['last_login_time']);
$value['create_ip'] = long2ip($value['create_ip']);
if (isset($userGroup[$value['id']])) {
$listInfo[$key]['groupId'] = explode(',', $userGroup[$value['id']]['groupId']);
$listInfo[$key]['group_id'] = explode(',', $userGroup[$value['id']]['group_id']);
} else {
$listInfo[$key]['groupId'] = [];
$listInfo[$key]['group_id'] = [];
}
}
@ -221,7 +215,8 @@ class User extends Base {
*/
public function own() {
$postData = $this->request->post();
$headImg = $postData['headImg'];
$headImg = $postData['head_img'];
if ($postData['password'] && $postData['oldPassword']) {
$oldPass = Tools::userMd5($postData['oldPassword']);
unset($postData['oldPassword']);
@ -235,14 +230,13 @@ class User extends Base {
unset($postData['oldPassword']);
}
$postData['id'] = $this->userInfo['id'];
$postData['updateTime'] = time();
unset($postData['headImg']);
unset($postData['head_img']);
$res = AdminUser::update($postData);
if ($res === false) {
return $this->buildFailed(ReturnCode::DB_SAVE_ERROR, '操作失败');
} else {
$userData = AdminUserData::get(['uid' => $postData['id']]);
$userData->headImg = $headImg;
$userData->head_img = $headImg;
$userData->save();
return $this->buildSuccess([]);

View File

@ -25,6 +25,8 @@ class AdminAuth {
'msg' => 'ApiAuth不匹配',
'data' => []
])->header($header);
} else {
$request->API_ADMIN_USER_INFO = $userInfo;
}
return $next($request);

View File

@ -21,9 +21,7 @@ class AdminPermission {
* @author zhaoxiang <zhaoxiang051405@gmail.com>
*/
public function handle($request, \Closure $next) {
$ApiAuth = $request->header('ApiAuth');
$userInfo = cache('Login:' . $ApiAuth);
$userInfo = json_decode($userInfo, true);
$userInfo = $request->API_ADMIN_USER_INFO;
if (!$this->checkAuth($userInfo['id'], $request->path())) {
return json([

View File

@ -69,7 +69,7 @@ Route::group('admin', function () {
'admin/User/del',
['method' => 'get']
],
])->middleware('Auth');
])->middleware(['AdminAuth', 'AdminPermission', 'AdminLog']);
Route::group('Auth', [
'index' => [
'admin/Auth/index',
@ -103,7 +103,7 @@ Route::group('admin', function () {
'admin/Auth/getRuleList',
['method' => 'get']
]
])->middleware('Auth');
])->middleware(['AdminAuth', 'AdminPermission', 'AdminLog']);
Route::group('App', [
'index' => [
'admin/App/index',
@ -133,7 +133,7 @@ Route::group('admin', function () {
'admin/App/del',
['method' => 'get']
]
])->middleware('Auth');
])->middleware(['AdminAuth', 'AdminPermission', 'AdminLog']);
Route::group('InterfaceList', [
'index' => [
'admin/InterfaceList/index',
@ -163,7 +163,7 @@ Route::group('admin', function () {
'admin/InterfaceList/getHash',
['method' => 'get']
]
])->middleware('Auth');
])->middleware(['AdminAuth', 'AdminPermission', 'AdminLog']);
Route::group('Fields', [
'index' => [
'admin/Fields/index',
@ -193,7 +193,7 @@ Route::group('admin', function () {
'admin/Fields/upload',
['method' => 'post']
]
])->middleware('Auth');
])->middleware(['AdminAuth', 'AdminPermission', 'AdminLog']);
Route::group('InterfaceGroup', [
'index' => [
'admin/InterfaceGroup/index',
@ -219,7 +219,7 @@ Route::group('admin', function () {
'admin/InterfaceGroup/del',
['method' => 'get']
]
])->middleware('Auth');
])->middleware(['AdminAuth', 'AdminPermission', 'AdminLog']);
Route::group('AppGroup', [
'index' => [
'admin/AppGroup/index',
@ -245,7 +245,7 @@ Route::group('admin', function () {
'admin/AppGroup/del',
['method' => 'get']
]
])->middleware('Auth');
])->middleware(['AdminAuth', 'AdminPermission', 'AdminLog']);
Route::group('Log', [
'index' => [
'admin/Log/index',
@ -255,7 +255,7 @@ Route::group('admin', function () {
'admin/Log/del',
['method' => 'get']
]
])->middleware('Auth');
])->middleware(['AdminAuth', 'AdminPermission', 'AdminLog']);
//MISS路由定义
Route::miss('admin/Miss/index');