更新
This commit is contained in:
@@ -9,7 +9,31 @@
|
||||
namespace app\model;
|
||||
|
||||
use think\Model;
|
||||
use think\facade\Config;
|
||||
use think\facade\Db;
|
||||
|
||||
class BaseModel extends Model{
|
||||
|
||||
|
||||
public function scopeUserauth($query, $where = []){
|
||||
$auth = request()->auth();
|
||||
$uid = request()->user['uid'];
|
||||
$map = [];
|
||||
if(!in_array($uid, Config::get('auth.admin_root'))){
|
||||
$subMap = [];
|
||||
if($auth['data_range'] == 4){
|
||||
$subMap[] = ['department_id', 'IN', getDepartmentChild($auth['department_id'])];
|
||||
}elseif($auth['data_range'] == 3){
|
||||
$subMap[] = ['department_id', 'IN', $auth['department_id']];
|
||||
}elseif($auth['data_range'] == 2){
|
||||
$map[] = ['creator_id', '=', $uid];
|
||||
}
|
||||
if(!empty($subMap)){
|
||||
$subsql = Db::name('users')->where($subMap)->field('uid')->buildSql();
|
||||
$subsql = str_replace(" AS thinkphp) AS T1 )", "", $subsql);
|
||||
$subsql = str_replace("SELECT T1.* FROM (SELECT thinkphp.*, ROW_NUMBER() OVER ( ORDER BY rand()) AS ROW_NUMBER FROM (", "", $subsql);
|
||||
$map[] = ['creator_id', 'IN', Db::raw($subsql)];
|
||||
}
|
||||
}
|
||||
$query->where($where)->where($map);
|
||||
}
|
||||
}
|
||||
34
app/model/auth/Departments.php
Normal file
34
app/model/auth/Departments.php
Normal file
@@ -0,0 +1,34 @@
|
||||
<?php
|
||||
// +----------------------------------------------------------------------
|
||||
// | SentCMS [ WE CAN DO IT JUST THINK IT ]
|
||||
// +----------------------------------------------------------------------
|
||||
// | Copyright (c) 2013 http://www.tensent.cn All rights reserved.
|
||||
// +----------------------------------------------------------------------
|
||||
// | Author: molong <molong@tensent.cn> <http://www.tensent.cn>
|
||||
// +----------------------------------------------------------------------
|
||||
namespace app\model\auth;
|
||||
|
||||
use think\model\concern\SoftDelete;
|
||||
use think\facade\Config;
|
||||
use app\model\BaseModel;
|
||||
|
||||
class Departments extends BaseModel{
|
||||
|
||||
use SoftDelete;
|
||||
protected $deleteTime = 'delete_time';
|
||||
protected $defaultSoftDelete = 0;
|
||||
|
||||
public function scopeAuth($query){
|
||||
$auth = request()->auth();
|
||||
$uid = request()->user['uid'];
|
||||
$map = [];
|
||||
// if(!in_array($uid, Config::get('auth.admin_root'))){
|
||||
// if($auth['data_range'] == 2 || $auth['data_range'] == 3){
|
||||
// $map[] = ['id', '=', $auth['department_id']]; //只能看自己是也只能查自己所在部门
|
||||
// }elseif($auth['data_range'] == 4){
|
||||
// $map[] = ['id', 'IN', getDepartmentChild($auth['department_id'])]; //部门及以下数据
|
||||
// }
|
||||
// }
|
||||
$query->where($map);
|
||||
}
|
||||
}
|
||||
13
app/model/auth/PermissionAccess.php
Normal file
13
app/model/auth/PermissionAccess.php
Normal file
@@ -0,0 +1,13 @@
|
||||
<?php
|
||||
// +----------------------------------------------------------------------
|
||||
// | SentCMS [ WE CAN DO IT JUST THINK IT ]
|
||||
// +----------------------------------------------------------------------
|
||||
// | Copyright (c) 2013 http://www.tensent.cn All rights reserved.
|
||||
// +----------------------------------------------------------------------
|
||||
// | Author: molong <molong@tensent.cn> <http://www.tensent.cn>
|
||||
// +----------------------------------------------------------------------
|
||||
namespace app\model\auth;
|
||||
|
||||
class PermissionAccess extends \think\model\Pivot{
|
||||
protected $name = "RoleHasPermissions";
|
||||
}
|
||||
39
app/model/auth/Permissions.php
Normal file
39
app/model/auth/Permissions.php
Normal file
@@ -0,0 +1,39 @@
|
||||
<?php
|
||||
// +----------------------------------------------------------------------
|
||||
// | SentCMS [ WE CAN DO IT JUST THINK IT ]
|
||||
// +----------------------------------------------------------------------
|
||||
// | Copyright (c) 2013 http://www.tensent.cn All rights reserved.
|
||||
// +----------------------------------------------------------------------
|
||||
// | Author: molong <molong@tensent.cn> <http://www.tensent.cn>
|
||||
// +----------------------------------------------------------------------
|
||||
namespace app\model\auth;
|
||||
|
||||
class Permissions extends \app\model\BaseModel{
|
||||
protected $type = [
|
||||
'created_time' => 'timestamp',
|
||||
'updated_time' => 'timestamp',
|
||||
'hidden' => 'int',
|
||||
'hiddenBreadcrumb' => 'int',
|
||||
'api_list' => 'json'
|
||||
];
|
||||
|
||||
protected function getMetaAttr($value, $data){
|
||||
return [
|
||||
'title' => $data['title'],
|
||||
'type' => $data['type'],
|
||||
'icon' => $data['icon'],
|
||||
'color' => $data['color'],
|
||||
'hidden' => (int) $data['hidden'],
|
||||
'hiddenBreadcrumb' => (int) $data['hiddenBreadcrumb'],
|
||||
'affix' => (int) $data['affix'],
|
||||
];
|
||||
}
|
||||
|
||||
protected function getApiListAttr($value){
|
||||
return $value ? json_decode($value, true) : [];
|
||||
}
|
||||
public function getList(){
|
||||
$map = [];
|
||||
return $this->where($map)->order('sort asc,id desc')->select();
|
||||
}
|
||||
}
|
||||
23
app/model/auth/Roles.php
Normal file
23
app/model/auth/Roles.php
Normal file
@@ -0,0 +1,23 @@
|
||||
<?php
|
||||
// +----------------------------------------------------------------------
|
||||
// | SentCMS [ WE CAN DO IT JUST THINK IT ]
|
||||
// +----------------------------------------------------------------------
|
||||
// | Copyright (c) 2013 http://www.tensent.cn All rights reserved.
|
||||
// +----------------------------------------------------------------------
|
||||
// | Author: molong <molong@tensent.cn> <http://www.tensent.cn>
|
||||
// +----------------------------------------------------------------------
|
||||
namespace app\model\auth;
|
||||
|
||||
use app\model\BaseModel;
|
||||
|
||||
class Roles extends BaseModel{
|
||||
protected function getMobileModuleAttr($value){
|
||||
return is_string($value) ? explode(",", $value) : [];
|
||||
}
|
||||
protected function setMobileModuleAttr($value){
|
||||
return is_array($value) ? implode(",", $value) : $value;
|
||||
}
|
||||
public function permissions(){
|
||||
return $this->belongsToMany(Permissions::class, PermissionAccess::class, 'permission_id', 'role_id');
|
||||
}
|
||||
}
|
||||
16
app/model/auth/RolesAccess.php
Normal file
16
app/model/auth/RolesAccess.php
Normal file
@@ -0,0 +1,16 @@
|
||||
<?php
|
||||
// +----------------------------------------------------------------------
|
||||
// | SentCMS [ WE CAN DO IT JUST THINK IT ]
|
||||
// +----------------------------------------------------------------------
|
||||
// | Copyright (c) 2013 http://www.tensent.cn All rights reserved.
|
||||
// +----------------------------------------------------------------------
|
||||
// | Author: molong <molong@tensent.cn> <http://www.tensent.cn>
|
||||
// +----------------------------------------------------------------------
|
||||
namespace app\model\auth;
|
||||
|
||||
class RolesAccess extends \think\model\Pivot{
|
||||
protected $name = "UserHasRoles";
|
||||
public static function getRoleByUid(){
|
||||
return [];
|
||||
}
|
||||
}
|
||||
49
app/model/auth/Users.php
Normal file
49
app/model/auth/Users.php
Normal file
@@ -0,0 +1,49 @@
|
||||
<?php
|
||||
// +----------------------------------------------------------------------
|
||||
// | SentCMS [ WE CAN DO IT JUST THINK IT ]
|
||||
// +----------------------------------------------------------------------
|
||||
// | Copyright (c) 2013 http://www.tensent.cn All rights reserved.
|
||||
// +----------------------------------------------------------------------
|
||||
// | Author: molong <molong@tensent.cn> <http://www.tensent.cn>
|
||||
// +----------------------------------------------------------------------
|
||||
namespace app\model\auth;
|
||||
|
||||
use app\model\BaseModel;
|
||||
use think\facade\Config;
|
||||
use xiaodi\JWTAuth\Facade\Jwt;
|
||||
|
||||
class Users extends BaseModel{
|
||||
|
||||
public $pk = 'uid';
|
||||
|
||||
public function getTokenAttr($value, $data){
|
||||
$token = Jwt::store('api')->token($data)->__toString();
|
||||
return $token;
|
||||
}
|
||||
|
||||
public function scopeAuth($query, $where = []){
|
||||
$auth = request()->auth();
|
||||
$uid = request()->user['uid'];
|
||||
$map = [];
|
||||
|
||||
// if(!in_array($uid, Config::get('auth.admin_root'))){
|
||||
// if($auth['data_range'] == 2){
|
||||
// $map[] = ['uid', '=', $uid];//只能看自己
|
||||
// }elseif($auth['data_range'] == 3){
|
||||
// $map[] = ['department_id', '=', $auth['department_id']]; //查自己所在部门
|
||||
// }elseif($auth['data_range'] == 4){
|
||||
// $map[] = ['department_id', 'IN', getDepartmentChild($auth['department_id'])]; //部门及以下数据
|
||||
// }
|
||||
// }
|
||||
$query->where($query)->where($where);
|
||||
}
|
||||
|
||||
public function roles(){
|
||||
return $this->belongsToMany(Roles::class, RolesAccess::class, 'role_id', 'uid');
|
||||
}
|
||||
public function department(){
|
||||
return $this->hasOne(Departments::class, 'id', 'department_id')->bind([
|
||||
'department_name' => 'title'
|
||||
]);
|
||||
}
|
||||
}
|
||||
25
app/model/auth/UsersLog.php
Normal file
25
app/model/auth/UsersLog.php
Normal file
@@ -0,0 +1,25 @@
|
||||
<?php
|
||||
// +----------------------------------------------------------------------
|
||||
// | SentCMS [ WE CAN DO IT JUST THINK IT ]
|
||||
// +----------------------------------------------------------------------
|
||||
// | Copyright (c) 2013 http://www.tensent.cn All rights reserved.
|
||||
// +----------------------------------------------------------------------
|
||||
// | Author: molong <molong@tensent.cn> <http://www.tensent.cn>
|
||||
// +----------------------------------------------------------------------
|
||||
namespace app\model\auth;
|
||||
|
||||
use app\model\BaseModel;
|
||||
use think\model\concern\SoftDelete;
|
||||
|
||||
class UsersLog extends BaseModel{
|
||||
use SoftDelete;
|
||||
protected $pk = 'uid';
|
||||
protected $deleteTime = 'delete_time';
|
||||
protected $defaultSoftDelete = 0;
|
||||
|
||||
public function user(){
|
||||
return $this->hasOne(Users::class, 'uid', 'uid')->bind([
|
||||
'nickname' => 'nickname'
|
||||
]);
|
||||
}
|
||||
}
|
||||
@@ -6,15 +6,10 @@
|
||||
// +----------------------------------------------------------------------
|
||||
// | Author: molong <molong@tensent.cn> <http://www.tensent.cn>
|
||||
// +----------------------------------------------------------------------
|
||||
namespace app\model\user;
|
||||
namespace app\model\system;
|
||||
|
||||
use app\model\BaseModel;
|
||||
use xiaodi\JWTAuth\Facade\Jwt;
|
||||
|
||||
class Users extends BaseModel{
|
||||
|
||||
public function getTokenAttr($value, $data){
|
||||
$token = Jwt::store('api')->token($data)->__toString();
|
||||
return $token;
|
||||
}
|
||||
class Config extends BaseModel{
|
||||
|
||||
}
|
||||
20
app/model/system/Dictionary.php
Normal file
20
app/model/system/Dictionary.php
Normal file
@@ -0,0 +1,20 @@
|
||||
<?php
|
||||
// +----------------------------------------------------------------------
|
||||
// | SentCMS [ WE CAN DO IT JUST THINK IT ]
|
||||
// +----------------------------------------------------------------------
|
||||
// | Copyright (c) 2013 http://www.tensent.cn All rights reserved.
|
||||
// +----------------------------------------------------------------------
|
||||
// | Author: molong <molong@tensent.cn> <http://www.tensent.cn>
|
||||
// +----------------------------------------------------------------------
|
||||
namespace app\model\system;
|
||||
|
||||
use app\model\BaseModel;
|
||||
use think\model\concern\SoftDelete;
|
||||
|
||||
class Dictionary extends BaseModel{
|
||||
|
||||
use SoftDelete;
|
||||
protected $deleteTime = 'delete_time';
|
||||
protected $defaultSoftDelete = 0;
|
||||
|
||||
}
|
||||
20
app/model/system/DictionaryType.php
Normal file
20
app/model/system/DictionaryType.php
Normal file
@@ -0,0 +1,20 @@
|
||||
<?php
|
||||
// +----------------------------------------------------------------------
|
||||
// | SentCMS [ WE CAN DO IT JUST THINK IT ]
|
||||
// +----------------------------------------------------------------------
|
||||
// | Copyright (c) 2013 http://www.tensent.cn All rights reserved.
|
||||
// +----------------------------------------------------------------------
|
||||
// | Author: molong <molong@tensent.cn> <http://www.tensent.cn>
|
||||
// +----------------------------------------------------------------------
|
||||
namespace app\model\system;
|
||||
|
||||
use app\model\BaseModel;
|
||||
use think\model\concern\SoftDelete;
|
||||
|
||||
class DictionaryType extends BaseModel{
|
||||
|
||||
use SoftDelete;
|
||||
protected $deleteTime = 'delete_time';
|
||||
protected $defaultSoftDelete = 0;
|
||||
|
||||
}
|
||||
Reference in New Issue
Block a user