- 마이그레이션: esign_verification_templates, esign_handwriting_verifications 테이블 - 모델: EsignVerificationTemplate, EsignHandwritingVerification - 서비스: HandwritingVerificationService, TextSimilarityService - HWR 어댑터: NaverClova, GoogleVision, Tesseract (전략 패턴 + 폴백) - 컨트롤러: EsignVerificationController (대시보드/템플릿/데모/통계 API) - 뷰: 대시보드, 확인 템플릿 관리, 필기 인식 데모 (React + Canvas) - 라우트: /esign-verification/* (11개 엔드포인트) - config/esign.php: HWR 엔진 설정 - 메뉴: 연구개발 > 전자서명 고도화 추가
40 lines
1.1 KiB
PHP
40 lines
1.1 KiB
PHP
<?php
|
|
|
|
return [
|
|
|
|
/*
|
|
|--------------------------------------------------------------------------
|
|
| 필기 문구 확인 (Handwriting Verification)
|
|
|--------------------------------------------------------------------------
|
|
*/
|
|
'handwriting_verification' => [
|
|
'enabled' => env('ESIGN_HWR_ENABLED', true),
|
|
|
|
// HWR 엔진 우선순위: clova, google_vision, tesseract
|
|
'engine' => env('ESIGN_HWR_ENGINE', 'clova'),
|
|
'fallback_engine' => env('ESIGN_HWR_FALLBACK', 'google_vision'),
|
|
|
|
// Naver Clova OCR
|
|
'clova' => [
|
|
'api_url' => env('CLOVA_OCR_API_URL'),
|
|
'secret_key' => env('CLOVA_OCR_SECRET_KEY'),
|
|
],
|
|
|
|
// Google Cloud Vision
|
|
'google_vision' => [
|
|
'api_key' => env('GOOGLE_VISION_API_KEY'),
|
|
],
|
|
|
|
// 검증 설정
|
|
'default_threshold' => (float) env('ESIGN_HWR_THRESHOLD', 80.0),
|
|
'max_attempts' => (int) env('ESIGN_HWR_MAX_ATTEMPTS', 5),
|
|
'min_strokes' => 5,
|
|
'recognition_timeout' => 5,
|
|
|
|
// 이미지 전처리
|
|
'image_max_width' => 1200,
|
|
'image_format' => 'png',
|
|
],
|
|
|
|
];
|