M3: console.log -> Logger + UI redesign (QuestionBank) + S7/A9/A10/A11/U11 bug fixes + #1/#2/#3/#4 enhancements + i18n for QuestionBank pages

This commit is contained in:
Developer
2026-05-19 16:57:45 +08:00
parent 5b5f14674d
commit 29bac74b58
20 changed files with 1081 additions and 501 deletions
+7 -4
View File
@@ -1,5 +1,6 @@
import {
Controller,
Logger,
Post,
UseGuards,
UseInterceptors,
@@ -14,6 +15,8 @@ import { I18nService } from '../i18n/i18n.service';
@UseGuards(CombinedAuthGuard)
@UseGuards(CombinedAuthGuard)
export class OcrController {
private readonly logger = new Logger(OcrController.name);
constructor(
private readonly ocrService: OcrService,
private readonly i18n: I18nService,
@@ -22,14 +25,14 @@ export class OcrController {
@Post('recognize')
@UseInterceptors(FileInterceptor('image'))
async recognizeText(@UploadedFile() image: Express.Multer.File) {
console.log('OCR recognition endpoint called');
this.logger.log('OCR recognition endpoint called');
if (!image) {
console.error('No image uploaded');
this.logger.error('No image uploaded');
throw new Error(this.i18n.getMessage('noImageUploaded'));
}
console.log(`Received image. Size: ${image.size} bytes`);
this.logger.log('Received image. Size: ' + image.size + ' bytes');
const text = await this.ocrService.extractTextFromImage(image.buffer);
console.log(`OCR extraction completed. Text length: ${text.length}`);
this.logger.log('OCR extraction completed. Text length: ' + text.length);
return { text };
}
}