<?php
|
|
namespace app\shop\controller\plus\operations;
|
|
use app\shop\controller\Controller;
|
use app\shop\model\plus\operations\Access as AccessModel;
|
use app\shop\model\plus\operations\Role as RoleModel;
|
use app\shop\model\plus\operations\RoleAccess as RoleAccessModel;
|
|
/**
|
* 区域代理角色控制器
|
*/
|
class Role extends Controller
|
{
|
/**
|
* 角色列表
|
*/
|
public function index()
|
{
|
$model = new RoleModel();
|
$list = $model->getList();
|
return $this->renderSuccess('', compact('list'));
|
}
|
|
/**
|
* 添加角色需要的权限列表
|
*/
|
public function addInfo()
|
{
|
$accessModel = new AccessModel();
|
$menu = $accessModel->getList();
|
return $this->renderSuccess('', compact('menu'));
|
}
|
|
/**
|
* 添加角色
|
*/
|
public function add()
|
{
|
$data = $this->postData();
|
// 前端传递的参数可能包含params字段,需要解析
|
if (isset($data['params']) && is_string($data['params'])) {
|
$data = json_decode($data['params'], true);
|
}
|
|
$model = new RoleModel();
|
if ($model->add($data)) {
|
return $this->renderSuccess('添加成功');
|
}
|
return $this->renderError($model->getError() ?: '添加失败');
|
}
|
|
/**
|
* 编辑角色需要的数据
|
*/
|
public function editInfo()
|
{
|
$model = RoleModel::detail($this->getData('role_id'));
|
$accessModel = new AccessModel();
|
$accessList = $accessModel->getList();
|
$access_ids = [];
|
if(!empty($store["application_id"])){
|
$access_ids = RoleAccessModel::getAccessIds($store["application_id"]);
|
}
|
$select_menu = array_column($model->toArray()['access'], 'access_id');
|
// 获取角色已拥有的权限ID
|
$roleAccessIds = RoleAccessModel::where('role_id', '=', $model['role_id'])->column('access_id');
|
|
return $this->renderSuccess('', compact('model', 'accessList', 'roleAccessIds','access_ids','select_menu'));
|
}
|
|
/**
|
* 编辑角色
|
*/
|
public function edit()
|
{
|
$data = $this->postData();
|
// 前端传递的参数可能包含params字段,需要解析
|
if (isset($data['params']) && is_string($data['params'])) {
|
$data = json_decode($data['params'], true);
|
}
|
$model = RoleModel::detail($data['role_id']);
|
if ($model->edit($data)) {
|
return $this->renderSuccess('更新成功');
|
}
|
return $this->renderError($model->getError() ?: '更新失败');
|
}
|
|
/**
|
* 删除角色
|
*/
|
public function delete()
|
{
|
$role_id = $this->postData('role_id');
|
|
$model = new RoleModel();
|
if ($model->del($role_id)) {
|
return $this->renderSuccess('删除成功');
|
}
|
return $this->renderError($model->getError() ?: '删除失败');
|
}
|
}
|