Merge remote-tracking branch 'origin/master'

This commit is contained in:
zhaoxiang 2019-06-19 15:25:29 +08:00
commit b0a235cf25
6 changed files with 32 additions and 42 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

@ -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);

View File

@ -15,9 +15,7 @@ class AdminLog {
* @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;
$menuInfo = AdminMenu::get(['url' => $request->path()]);
if ($menuInfo) {

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

@ -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');