Pārlūkot izejas kodu

Merge branch 'dev_wf' of wufeng/fuse into version1.5

wufeng 2 gadi atpakaļ
vecāks
revīzija
d3ab405c47

+ 15 - 8
app/admin/config/validate_rules.php

@@ -99,16 +99,23 @@ return [
         'remark|备注' => 'max:255',
     ],
 
+    //【权限】
+    'actionAdd' => [
+        'menuid' => 'require|number|gt:0',
+        'action_code' => 'require|max:255',
+        'status|状态' => 'require|number|in:' . CommonModel::$status_normal . ',' . CommonModel::$status_disable,
+    ],
+
     //【角色】
-    'roleList'=>[
-        'name|角色名称'=>'max:255',
-        'level|角色等级'=>'number|in:'.implode(',',[RoleModel::$level_super_administrator,RoleModel::$level_administrator,RoleModel::$level_normal_role]),
+    'roleList' => [
+        'name|角色名称' => 'max:255',
+        'level|角色等级' => 'number|in:' . implode(',', [RoleModel::$level_super_administrator, RoleModel::$level_administrator, RoleModel::$level_normal_role]),
     ],
-    'RoleAdd'=>[
-        'name|角色名称'=>'require|max:255',
-        'level|角色等级'=>'require|number|in:'.implode(',',[RoleModel::$level_super_administrator,RoleModel::$level_administrator,RoleModel::$level_normal_role]),
-        'remark|备注'=>'max:255',
-        'action_data|功能权限'=>'require|array'
+    'RoleAdd' => [
+        'name|角色名称' => 'require|max:255',
+        'level|角色等级' => 'require|number|in:' . implode(',', [RoleModel::$level_super_administrator, RoleModel::$level_administrator, RoleModel::$level_normal_role]),
+        'remark|备注' => 'max:255',
+        'action_data|功能权限' => 'require|array'
     ],
 
 ];

+ 79 - 0
app/admin/controller/Action.php

@@ -0,0 +1,79 @@
+<?php
+
+namespace app\admin\controller;
+
+use app\BaseController;
+use app\admin\logic\ActionLogic;
+use app\model\CommonModel;
+use think\exception\ValidateException;
+use think\facade\Config;
+use think\facade\Validate;
+
+//功能权限
+class Action extends BaseController
+{
+    //获取权限列表
+    public function List()
+    {
+        $menuid = $this->request->post('menuid', 0);
+
+        return ActionLogic::List($menuid);
+    }
+
+    //添加权限
+    public function Add()
+    {
+        $param = $this->request->only(['menuid','action_code','status'=>CommonModel::$status_normal], 'post');
+
+        $val = Validate::rule(Config::get('validate_rules.actionAdd'));
+
+        if (!$val->check($param)) throw new ValidateException($val->getError());
+
+        return ActionLogic::Add($param);
+    }
+
+    //获取权限详情
+    public function Read()
+    {
+        $id = $this->request->post('id/d', 0);
+
+        return ActionLogic::Read($id);
+    }
+
+    //编辑权限
+    public function Edit()
+    {
+        $param = $this->request->only([''], 'post');
+
+        $val = Validate::rule(Config::get('validate_rules.'));
+
+        if (!$val->check($param)) throw new ValidateException($val->getError());
+
+        return ActionLogic::Edit($param);
+    }
+
+    //删除权限
+    public function Delete()
+    {
+        $param = $this->request->only([''], 'post');
+
+        $val = Validate::rule(Config::get('validate_rules.'));
+
+        if (!$val->check($param)) throw new ValidateException($val->getError());
+
+        return ActionLogic::Delete($param);
+    }
+
+    //启禁用权限
+    public function Status()
+    {
+        $param = $this->request->only(['id','status'], 'post');
+
+        $val = Validate::rule(Config::get('validate_rules.status'));
+
+        if (!$val->check($param)) throw new ValidateException($val->getError());
+
+        return ActionLogic::Status($param);
+    }
+
+}

+ 75 - 0
app/admin/logic/ActionLogic.php

@@ -0,0 +1,75 @@
+<?php
+
+namespace app\admin\logic;
+
+use app\model\ActionModel;
+use app\model\CommonModel;
+use think\exception\ValidateException;
+use think\facade\Db;
+use think\response\Json;
+
+class ActionLogic extends BaseLogic
+{
+    //获取权限列表
+    public static function List(int $menuid = 0): Json
+    {
+        $data = ActionModel::alias('a')
+            ->field('a.*,action_name')
+            ->leftJoin('action_list l', 'a.action_code=l.action_code')
+            ->where(['menuid' => $menuid])
+            ->select()
+            ->toArray();
+        return json_show(CommonModel::$success, '获取成功', $data);
+    }
+
+    //添加权限
+    public static function Add(array $data = []): Json
+    {
+        $rs = ActionModel::field('id')
+            ->where(['menuid' => $data['menuid'], 'action_code' => $data['action_code']])
+            ->findOrEmpty()
+            ->isEmpty();
+        if (!$rs) throw new ValidateException('此功能已存在');
+
+        $data = array_merge($data, [
+            'addtime' => date('Y-m-d H:i:s'),
+            'updatetime' => date('Y-m-d H:i:s'),
+        ]);
+
+        return ActionModel::create($data)->save() ? json_show(CommonModel::$success, '添加成功') : json_show(CommonModel::$error_default, '添加失败');
+    }
+
+    //获取权限详情
+    public static function Read(int $id = 0): Json
+    {
+        $menu = ActionModel::alias('a')
+            ->field('a.*,action_name')
+            ->leftJoin('action_list l', 'a.action_code=l.action_code')
+            ->where('a.id', $id)
+            ->findOrEmpty()
+            ->toArray();
+
+        return empty($menu) ? json_show(CommonModel::$error_param, '未找到对应的数据') : json_show(CommonModel::$success, '获取成功!', $menu);
+
+    }
+
+    //编辑权限
+    public static function Edit(array $data = []): Json
+    {
+    }
+
+    //删除权限
+    public static function Delete(array $data = []): Json
+    {
+    }
+
+    //启禁用权限
+    public static function Status(array $data = []): Json
+    {
+        $rs = ActionModel::where(['id' => $data['id']])
+            ->where('status', '<>', $data['status'])
+            ->save(['status' => $data['status'], 'updatetime' => date('Y-m-d H:i:s')]);
+        return $rs ? json_show(CommonModel::$success, '操作成功') : json_show(CommonModel::$error_default, '操作失败');
+    }
+
+}

+ 5 - 2
app/admin/route/app.php

@@ -4,6 +4,7 @@ use think\facade\Route;
 
 Route::rule('login','admin/Login/login');//登录
 Route::rule('logout','admin/Login/logout');//登出
+Route::rule('upload','admin//upload');//上传图片?????????????????
 
 //【版本】
 Route::rule('version','admin/Version/lastVersion');//最新版本
@@ -17,14 +18,16 @@ Route::rule('menuAdd', 'admin/Menu/Add');//添加菜单
 Route::rule('menuSave', 'admin/Menu/Edit');//编辑菜单
 Route::rule('menuDel', 'admin/Menu/Delete');//删除菜单
 Route::rule('menuStatus', 'admin/Menu/Status');//启禁用菜单
+Route::rule('menuActionList', 'admin/Action/List');//获取菜单下权限列表
+Route::rule('menuActionStatus', 'admin/Action/Status');//菜单下权限启禁用权限
 
 //【权限】
-Route::rule('ActionList', 'admin/Action/List');//获取权限列表
+
 Route::rule('ActionAdd', 'admin/Action/Add');//添加权限
 Route::rule('ActionRead', 'admin/Action/Read');//获取权限详情
 Route::rule('ActionEdit', 'admin/Action/Edit');//编辑权限
 Route::rule('ActionDelete', 'admin/Action/Delete');//删除权限
-Route::rule('ActionStatus', 'admin/Action/Status');//启禁用权限
+//Route::rule('ActionStatus', 'admin/Action/Status');//启禁用权限
 
 //【角色】
 Route::rule('roleList', 'admin/Role/List');//获取角色列表

+ 13 - 0
app/model/ActionModel.php

@@ -0,0 +1,13 @@
+<?php
+
+namespace app\model;
+
+use think\Model;
+
+//功能权限
+class ActionModel extends Model
+{
+    protected $table='fc_action';
+    protected $pk='id';
+
+}