| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140 |
- <?php
- namespace app\controller\adminapi\admin;
- use app\extra\basic\Base;
- use app\extra\service\system\SystemRoleService;
- use app\extra\tools\DataExtend;
- use app\middleware\AuthMiddleware;
- use app\model\system\SystemMenu;
- use crmeb\services\CacheService;
- use DI\Attribute\Inject;
- use LinFly\Annotation\Route\Controller;
- use LinFly\Annotation\Route\Middleware;
- use LinFly\Annotation\Route\Route;
- use support\Request;
- use support\Response;
- #[Controller(prefix: "/adminapi/role/"),Middleware(AuthMiddleware::class)]
- class Role extends Base
- {
- #[Inject]
- protected SystemRoleService $service;
- /**
- * 获取菜单
- */
- #[Route(path: "",methods: "get")]
- public function index(Request $request): Response
- {
- try {
- $param = $request->get();
- $role = $this->service->getList($param);
- return successTrans("success.data",$role);
- } catch (\Throwable $throwable) {
- echo $throwable->getFile()."\n";
- echo $throwable->getLine()."\n";
- return error($throwable->getMessage());
- }
- }
- /**
- * 显示创建资源表单页.
- */
- #[Route(path: "create",methods: "get")]
- public function create(Request $request): Response
- {
- try {
- $menus = $this->service->getmenus([]);
- return successTrans("success.data",$menus);
- } catch (\Throwable $throwable) {
- echo $throwable->getFile()."\n";
- echo $throwable->getLine()."\n";
- return error($throwable->getMessage());
- }
- }
- /**
- * 更新/保存
- * @param Request $request
- * @return Response
- */
- #[Route(path: "save[/{id}]",methods: "post")]
- public function save(Request $request,$id = 0): Response
- {
- try {
- $data = $this->_valid([
- "role_name.require" => '请输入身份名称',
- "status.default" => '1',
- "rules.default" => '1',
- ],"post");
- if (!is_array($data)) return error($data);
- if (!is_array($data['rules']) || !count($data['rules']))
- return errorTrans('请选择最少一个权限');
- $data['rules'] = implode(',', $data['rules']);
- if ($id) {
- if (!$this->service->update($id, $data))
- return errorTrans('修改失败!');
- } else {
- if (!$this->service->save($data))
- return errorTrans('添加身份失败!');
- }
- return successTrans("success.data");
- } catch (\Throwable $throwable) {
- return error($throwable->getMessage());
- }
- }
- /**
- * 编辑.
- */
- #[Route(path: "edit/{id}",methods: "get")]
- public function edit(Request $request,$id): Response
- {
- try {
- $role = $this->service->getOne(['id'=>$id]);
- if (!$role) {
- return $this->fail('修改的角色不存在');
- }
- $menus = $this->service->getmenus([]);
- return successTrans("success.data",['role' => $role->toArray(), 'menus' => $menus]);
- } catch (\Throwable $throwable) {
- echo $throwable->getFile()."\n";
- echo $throwable->getLine()."\n";
- return error($throwable->getMessage());
- }
- }
- /**
- * 删除.
- */
- #[Route(path: "del/{id}",methods: "delete")]
- public function del(Request $request,$id): Response
- {
- try {
- if (!$this->service->delete($id))
- return errorTrans('删除失败,请稍候再试!');
- else {
- return successTrans('删除成功!');
- }
- } catch (\Throwable $throwable) {
- echo $throwable->getFile()."\n";
- echo $throwable->getLine()."\n";
- return error($throwable->getMessage());
- }
- }
- #[Route(path: "set_status/{id}/{status}",methods: "get")]
- public function set_status($id,$status): Response
- {
- try {
- $state = $this->service->update($id,['status'=>$status]);
- if (!$state) return errorTrans("empty.error");
- return successTrans($status?'显示成功':'关闭成功');
- } catch (\Throwable $throwable) {
- return error($throwable->getMessage());
- }
- }
- }
|