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; namespace app\admin\controller;
use app\util\ReturnCode; use app\util\ReturnCode;
use think\Controller; use think\Controller;
@ -14,12 +15,9 @@ class Base extends Controller {
private $debug = []; private $debug = [];
protected $userInfo; protected $userInfo;
public function _initialize() { public function __construct() {
$ApiAuth = $this->request->header('ApiAuth'); parent::__construct();
if ($ApiAuth) { $this->userInfo = $this->request->API_ADMIN_USER_INFO;
$userInfo = cache('Login:' . $ApiAuth);
$this->userInfo = json_decode($userInfo, true);
}
} }
public function buildSuccess($data, $msg = '操作成功', $code = ReturnCode::SUCCESS) { 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') $listObj = (new AdminUser())->where($where)->order('create_time DESC')
->paginate($limit, false, ['page' => $start])->toArray(); ->paginate($limit, false, ['page' => $start])->each(function($item, $key){
$item->userData;
})->toArray();
$listInfo = $listObj['data']; $listInfo = $listObj['data'];
$idArr = array_column($listInfo, 'id'); $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) { $userGroup = AdminAuthGroupAccess::all(function($query) use ($idArr) {
$query->whereIn('uid', $idArr); $query->whereIn('uid', $idArr);
}); });
$userGroup = Tools::buildArrFromObj($userGroup); $userGroup = Tools::buildArrFromObj($userGroup);
$userGroup = Tools::buildArrByNewKey($userGroup, 'uid'); $userGroup = Tools::buildArrByNewKey($userGroup, 'uid');
foreach ($listInfo as $key => $value) {
if (isset($userData[$value['id']])) { foreach ($listInfo as $key => &$value) {
$listInfo[$key]['lastLoginIp'] = long2ip($userData[$value['id']]['lastLoginIp']); $value['userData']['last_login_ip'] = long2ip($value['userData']['last_login_ip']);
$listInfo[$key]['loginTimes'] = $userData[$value['id']]['loginTimes']; $value['userData']['last_login_time'] = date('Y-m-d H:i:s', $value['userData']['last_login_time']);
$listInfo[$key]['lastLoginTime'] = date('Y-m-d H:i:s', $userData[$value['id']]['lastLoginTime']); $value['create_ip'] = long2ip($value['create_ip']);
}
$listInfo[$key]['regIp'] = long2ip($listInfo[$key]['regIp']);
if (isset($userGroup[$value['id']])) { if (isset($userGroup[$value['id']])) {
$listInfo[$key]['groupId'] = explode(',', $userGroup[$value['id']]['groupId']); $listInfo[$key]['group_id'] = explode(',', $userGroup[$value['id']]['group_id']);
} else { } else {
$listInfo[$key]['groupId'] = []; $listInfo[$key]['group_id'] = [];
} }
} }
@ -221,7 +215,8 @@ class User extends Base {
*/ */
public function own() { public function own() {
$postData = $this->request->post(); $postData = $this->request->post();
$headImg = $postData['headImg']; $headImg = $postData['head_img'];
if ($postData['password'] && $postData['oldPassword']) { if ($postData['password'] && $postData['oldPassword']) {
$oldPass = Tools::userMd5($postData['oldPassword']); $oldPass = Tools::userMd5($postData['oldPassword']);
unset($postData['oldPassword']); unset($postData['oldPassword']);
@ -235,14 +230,13 @@ class User extends Base {
unset($postData['oldPassword']); unset($postData['oldPassword']);
} }
$postData['id'] = $this->userInfo['id']; $postData['id'] = $this->userInfo['id'];
$postData['updateTime'] = time(); unset($postData['head_img']);
unset($postData['headImg']);
$res = AdminUser::update($postData); $res = AdminUser::update($postData);
if ($res === false) { if ($res === false) {
return $this->buildFailed(ReturnCode::DB_SAVE_ERROR, '操作失败'); return $this->buildFailed(ReturnCode::DB_SAVE_ERROR, '操作失败');
} else { } else {
$userData = AdminUserData::get(['uid' => $postData['id']]); $userData = AdminUserData::get(['uid' => $postData['id']]);
$userData->headImg = $headImg; $userData->head_img = $headImg;
$userData->save(); $userData->save();
return $this->buildSuccess([]); return $this->buildSuccess([]);

View File

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

View File

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

View File

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