feat: 사용자 의견(피드백) 기능 — 화면 캡처+이미지 첨부, 관리자 검토
- 전 화면 우하단 '의견' 위젯(embed/portal/admin 레이아웃) — 로그인 사용자 - 의견 + html2canvas 화면 캡처 + 이미지 첨부(최대 5장) 저장 - 화면 URL/계정/지자체 자동 수집(계정·지자체는 서버 세션 기준) - 관리자 /admin/feedback 목록·상세·상태(접수/처리중/완료/보류)·메모, 테넌트 분리 - feedback/feedback_file 테이블, 첨부 이미지는 관리자 전용 라우트로 서빙 Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
@@ -221,6 +221,9 @@ $routes->group('bag', ['filter' => 'adminAuth'], static function ($routes): void
|
||||
$routes->post('password-change', 'Admin\PasswordChange::update');
|
||||
});
|
||||
|
||||
// 사용자 의견 접수 (로그인 사용자)
|
||||
$routes->post('feedback', 'Feedback::store', ['filter' => 'loginAuth']);
|
||||
|
||||
// Auth
|
||||
$routes->get('login', 'Auth::showLoginForm');
|
||||
$routes->post('login', 'Auth::login');
|
||||
@@ -236,6 +239,13 @@ $routes->post('register', 'Auth::register');
|
||||
$routes->group('admin', ['filter' => 'adminAuth'], static function ($routes): void {
|
||||
$routes->get('select-local-government', 'Admin\SelectLocalGovernment::index');
|
||||
$routes->post('select-local-government', 'Admin\SelectLocalGovernment::store');
|
||||
|
||||
// 사용자 의견 검토
|
||||
$routes->get('feedback', 'Admin\Feedback::index');
|
||||
$routes->get('feedback/image/(:num)', 'Admin\Feedback::image/$1');
|
||||
$routes->get('feedback/file/(:num)', 'Admin\Feedback::file/$1');
|
||||
$routes->get('feedback/(:num)', 'Admin\Feedback::show/$1');
|
||||
$routes->post('feedback/(:num)/status', 'Admin\Feedback::updateStatus/$1');
|
||||
$routes->get('/', 'Admin\Dashboard::index');
|
||||
$routes->get('users', 'Admin\User::index');
|
||||
$routes->get('users/create', 'Admin\User::create');
|
||||
|
||||
Reference in New Issue
Block a user