refactor(server): 收敛类型边界工具,aislop AI Slop 10 → 1
- 新增 common/buffer.ts bufferToArrayBuffer:9 处 'as unknown as ArrayBuffer' 收敛为精确切片(含 byteOffset), 消除潜在 Buffer 池偏移隐患,类型断言集中到单一实现 - 新增 common/stringify.ts:4 处重复的 stringify 助手收敛为共享实现 - aislop: AI Slop 10→1(仅剩 1 处有理由的 stringify 薄包装, eslint no-base-to-string 绕过所需);Code Quality 剩余 4 重复块(声明式 SQL 配置)+ 2 文件过大(既有规模)均保留 - 测试 142 套件/1065 用例通过
This commit is contained in:
@@ -24,6 +24,7 @@ import { extractRequestInfo } from '../common/request-utils';
|
||||
import { RequirePermission } from '../auth/decorators/permission.decorator';
|
||||
import * as ExcelJS from 'exceljs';
|
||||
import { CLASSROOM_TEMPLATE_COLUMNS } from './classroom-template';
|
||||
import { bufferToArrayBuffer } from '../common/buffer';
|
||||
|
||||
interface AuthenticatedRequest {
|
||||
user?: { id: number; username: string };
|
||||
@@ -173,7 +174,7 @@ export class ClassroomsController {
|
||||
async importExcel(@UploadedFile() file: Express.Multer.File, @Request() req: AuthenticatedRequest) {
|
||||
const { ipAddress, userAgent } = extractRequestInfo(req);
|
||||
const workbook = new ExcelJS.Workbook();
|
||||
await workbook.xlsx.load(file.buffer as unknown as ArrayBuffer);
|
||||
await workbook.xlsx.load(bufferToArrayBuffer(file.buffer));
|
||||
const ws = workbook.worksheets[0];
|
||||
const rows: {
|
||||
name: string;
|
||||
|
||||
Reference in New Issue
Block a user