Commit 4ea84903 authored by 朱招明's avatar 朱招明

update

parent 6088d369
......@@ -20,7 +20,7 @@ return new class extends Migration
$table->string('title')->comment('标题');
$table->string('content')->comment('内容');
$table->boolean('show')->default(1)->comment('是否显示');
$table->boolean('top')->default(0)->comment('是否置顶');
$table->integer('order')->default(0)->comment('排序');
$table->timestamps();
});
}
......
......@@ -8,6 +8,7 @@
namespace Modules\Admin\Http\Controllers;
use Dingo\Api\Http\Request;
use Modules\Admin\Entities\Announcement;
use Modules\Admin\Http\Requests\AnnouncementRequest;
use Modules\Admin\Http\Transformers\AnnouncementTransformer;
......@@ -42,7 +43,7 @@ class AnnouncementController extends BaseController
*
*/
public function list(){
$list = Announcement::canShow()->paginate(request('per_page', null));
$list = Announcement::orderBy('order','desc')->orderBy('updated_at','desc')->paginate(request('per_page', null));
return $this->response->paginator($list,new AnnouncementTransformer());
}
......@@ -174,6 +175,55 @@ class AnnouncementController extends BaseController
}
/**
* @OA\Put(
* tags={"公告"},
* summary="修改字段",
* path="api/announcement/{id}/change",
* security={
* {"jwt_auth": {}}
* },
* @OA\RequestBody(
* @OA\MediaType(
* mediaType="application/x-www-form-urlencoded",
* @OA\Schema(
* type="object",
* required={"type"},
* @OA\Property(
* property="type",
* type="string",
* description="字段,show=是否显示 top=置顶",
* ),
* )
* )
* ),
* @OA\Response(
* response="204",
* description="",
* )
* )
*
*/
public function change(Request $request,$id){
$params = $request->all(['type']);
$announcement = Announcement::where('id',$id)->first();
if($announcement){
switch ($params['type']){
case "show":
$announcement->show = !$announcement->show;
break;
case "top":
$max_order = Announcement::orderBy('order','desc')->value('order');
$announcement->order = $max_order + 1;
break;
}
$announcement->save();
}
return $this->response->noContent()->statusCode(204);
}
/**
* @OA\Delete(
* tags={"公告"},
* summary="删除",
......
......@@ -10,6 +10,7 @@ use Illuminate\Support\Facades\Cache;
use Illuminate\Support\Facades\DB;
use Modules\Admin\Entities\AdminMenu;
use Modules\Admin\Entities\AdminUser;
use Modules\Admin\Entities\Announcement;
use Modules\Admin\Events\UserLoginEvents;
use Modules\Admin\Http\Transformers\AccessTokenTransformer;
use Modules\Admin\Http\Transformers\AdminUserTransformer;
......@@ -160,10 +161,13 @@ class AuthController extends BaseController
$user = $this->user;
$role = $user->role;
$announcements = Announcement::canShow()->orderBy('order','desc')->orderBy('updated_at','desc')->get();
$data = [
'user_info' => Helper::mapAttr($user,['id', 'username', 'avatar', 'avatar_full_url', 'name', 'created_at', 'updated_at']),
"menus" => Helper::getRoleMenu($role,true),
"apis" => Helper::getRoleApi($role,true),
"announcements" => $announcements,
];
return $this->response->array(['data'=>$data]);
......
......@@ -50,6 +50,38 @@ class DepartmentController extends BaseController
}
/**
* @OA\Get(
* tags={"部门"},
* summary="数据列表",
* path="api/department/fetch_list",
* security={
* {"jwt_auth": {}}
* },
* @OA\Response(
* response="200",
* description="",
* @OA\MediaType(
* mediaType="application/json",
* @OA\Schema(
* type="object",
* @OA\Property(
* property="data",
* type="array",
* @OA\Items(ref="#/components/schemas/Department"),
* description="列表"
* ),
* )
* )
* )
* )
*
*/
public function dataList(){
$roles = Department::all();
return $this->response->collection($roles,new DepartmentTransformer());
}
/**
* @OA\Post(
* tags={"部门"},
* summary="添加",
......
......@@ -53,6 +53,38 @@ class RoleController extends BaseController
}
/**
* @OA\Get(
* tags={"角色"},
* summary="数据列表",
* path="api/role/fetch_list",
* security={
* {"jwt_auth": {}}
* },
* @OA\Response(
* response="200",
* description="",
* @OA\MediaType(
* mediaType="application/json",
* @OA\Schema(
* type="object",
* @OA\Property(
* property="data",
* type="array",
* @OA\Items(ref="#/components/schemas/Role"),
* description="列表"
* ),
* )
* )
* )
* )
*
*/
public function dataList(){
$roles = AdminRole::all();
return $this->response->collection($roles,new AdminRoleTransformer());
}
/**
* @OA\Post(
* tags={"角色"},
* summary="添加",
......
......@@ -28,6 +28,7 @@ class AnnouncementTransformer extends BaseTransformer
* @OA\Property(property="id", type="integer", description="ID"),
* @OA\Property(property="title", type="string", description="标题"),
* @OA\Property(property="content", type="string", description="内容"),
* @OA\Property(property="show", type="integer", description="是否显示"),
* @OA\Property(property="created_at", type="string", description="创建时间"),
* )
*/
......@@ -35,6 +36,7 @@ class AnnouncementTransformer extends BaseTransformer
{
$return = ['id', 'title', 'content','created_at'];
$return = Helper::mapAttr($announcement,$return);
$return['show'] = $announcement->show === 1;
return $return;
}
}
......@@ -25,7 +25,7 @@ class Helper
{
return json_decode($menu, TRUE);
}
$menu = AdminMenu::where('is_menu', 1)->get()->toArray();
$menu = AdminMenu::get()->toArray();
if ($menu)
{
Cache::put("ALL_MENU", json_encode($menu));
......
......@@ -7,14 +7,18 @@ use Illuminate\Support\Facades\Route;
class RouteRegister {
public static function registerApi($api,$route, $controller) {
#列表
#分页列表
$api->get("{$route}/list", "{$controller}@list")->name("{$route}.list");
#数据列表
$api->get("{$route}/data_list", "{$controller}@dataList")->name("{$route}.data_list");
#添加
$api->post("{$route}/add", "{$controller}@add")->name("{$route}.add");
#详情
$api->get("{$route}/{id}/detail", "{$controller}@detail")->name("{$route}.detail");
#编辑
$api->put("{$route}/{id}/edit", "{$controller}@edit")->name("{$route}.edit");
#修改字段
$api->put("{$route}/{id}/change", "{$controller}@change")->name("{$route}.change");
#删除
$api->delete("{$route}/{id}/delete", "{$controller}@delete")->name("{$route}.delete");
}
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment