diff --git a/application/admin/controller/Base.php b/application/admin/controller/Base.php index 4245d49..d291767 100644 --- a/application/admin/controller/Base.php +++ b/application/admin/controller/Base.php @@ -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) { diff --git a/application/admin/controller/User.php b/application/admin/controller/User.php index 21a416a..a15ea52 100644 --- a/application/admin/controller/User.php +++ b/application/admin/controller/User.php @@ -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([]); diff --git a/application/http/middleware/AdminAuth.php b/application/http/middleware/AdminAuth.php index f231365..c54d6d3 100644 --- a/application/http/middleware/AdminAuth.php +++ b/application/http/middleware/AdminAuth.php @@ -15,7 +15,7 @@ class AdminAuth { */ public function handle($request, \Closure $next) { $header = config('apiadmin.CROSS_DOMAIN'); - $ApiAuth = $request->header('ApiAuth', ''); + $ApiAuth = $request->header('apiAuth', ''); if ($ApiAuth) { $userInfo = cache('Login:' . $ApiAuth); $userInfo = json_decode($userInfo, true); @@ -25,6 +25,8 @@ class AdminAuth { 'msg' => 'ApiAuth不匹配', 'data' => [] ])->header($header); + } else { + $request->API_ADMIN_USER_INFO = $userInfo; } return $next($request); diff --git a/application/http/middleware/AdminLog.php b/application/http/middleware/AdminLog.php index 2f68562..f55967a 100644 --- a/application/http/middleware/AdminLog.php +++ b/application/http/middleware/AdminLog.php @@ -15,9 +15,7 @@ class AdminLog { * @author zhaoxiang */ 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; $menuInfo = AdminMenu::get(['url' => $request->path()]); if ($menuInfo) { diff --git a/application/http/middleware/AdminPermission.php b/application/http/middleware/AdminPermission.php index 7929bd6..ceee728 100644 --- a/application/http/middleware/AdminPermission.php +++ b/application/http/middleware/AdminPermission.php @@ -21,9 +21,7 @@ class AdminPermission { * @author zhaoxiang */ 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([ diff --git a/route/route.php b/route/route.php index e56b86d..f0145de 100644 --- a/route/route.php +++ b/route/route.php @@ -70,7 +70,7 @@ Route::group('admin', function () { 'admin/User/del', ['method' => 'get'] ], - ])->middleware('Auth'); + ])->middleware(['AdminAuth', 'AdminPermission', 'AdminLog']); Route::group('Auth', [ 'index' => [ 'admin/Auth/index', @@ -104,7 +104,7 @@ Route::group('admin', function () { 'admin/Auth/getRuleList', ['method' => 'get'] ] - ])->middleware('Auth'); + ])->middleware(['AdminAuth', 'AdminPermission', 'AdminLog']); Route::group('App', [ 'index' => [ 'admin/App/index', @@ -134,7 +134,7 @@ Route::group('admin', function () { 'admin/App/del', ['method' => 'get'] ] - ])->middleware('Auth'); + ])->middleware(['AdminAuth', 'AdminPermission', 'AdminLog']); Route::group('InterfaceList', [ 'index' => [ 'admin/InterfaceList/index', @@ -164,7 +164,7 @@ Route::group('admin', function () { 'admin/InterfaceList/getHash', ['method' => 'get'] ] - ])->middleware('Auth'); + ])->middleware(['AdminAuth', 'AdminPermission', 'AdminLog']); Route::group('Fields', [ 'index' => [ 'admin/Fields/index', @@ -194,7 +194,7 @@ Route::group('admin', function () { 'admin/Fields/upload', ['method' => 'post'] ] - ])->middleware('Auth'); + ])->middleware(['AdminAuth', 'AdminPermission', 'AdminLog']); Route::group('InterfaceGroup', [ 'index' => [ 'admin/InterfaceGroup/index', @@ -220,7 +220,7 @@ Route::group('admin', function () { 'admin/InterfaceGroup/del', ['method' => 'get'] ] - ])->middleware('Auth'); + ])->middleware(['AdminAuth', 'AdminPermission', 'AdminLog']); Route::group('AppGroup', [ 'index' => [ 'admin/AppGroup/index', @@ -246,7 +246,7 @@ Route::group('admin', function () { 'admin/AppGroup/del', ['method' => 'get'] ] - ])->middleware('Auth'); + ])->middleware(['AdminAuth', 'AdminPermission', 'AdminLog']); Route::group('Log', [ 'index' => [ 'admin/Log/index', @@ -256,7 +256,7 @@ Route::group('admin', function () { 'admin/Log/del', ['method' => 'get'] ] - ])->middleware('Auth'); + ])->middleware(['AdminAuth', 'AdminPermission', 'AdminLog']); //MISS路由定义 Route::miss('admin/Miss/index');