From d1647d3114708b6cc972a2b2444c14f8267a203f Mon Sep 17 00:00:00 2001 From: feie9456 Date: Sat, 15 Nov 2025 20:08:52 +0800 Subject: [PATCH] =?UTF-8?q?=E6=9B=B4=E6=96=B0=E6=95=B0=E6=8D=AE=E6=A8=A1?= =?UTF-8?q?=E5=BC=8F=EF=BC=8C=E5=A2=9E=E5=8A=A0=E4=BB=A3=E7=A0=81=E6=95=B0?= =?UTF-8?q?=E7=BB=84=E6=9C=80=E5=A4=A7=E5=80=BC=E8=87=B365535=EF=BC=9B?= =?UTF-8?q?=E4=BF=AE=E6=94=B9=E4=B8=BB=E9=A1=B5=E6=A0=87=E9=A2=98=E4=B8=BA?= =?UTF-8?q?=E2=80=9CESP32=20=E5=BE=AE=E5=BC=B1=E5=8E=8B=E5=8A=9B=E6=95=B0?= =?UTF-8?q?=E6=8D=AE=E9=87=87=E9=9B=86=E7=B3=BB=E7=BB=9F=E2=80=9D=EF=BC=9B?= =?UTF-8?q?=E8=B0=83=E6=95=B4=E8=AE=B0=E5=BD=95=E9=A1=B5=E9=9D=A2=E7=9A=84?= =?UTF-8?q?EMA=E5=8F=82=E6=95=B0=E9=BB=98=E8=AE=A4=E5=80=BC=E5=92=8C?= =?UTF-8?q?=E5=90=AF=E7=94=A8=E7=8A=B6=E6=80=81=EF=BC=9B=E6=9B=B4=E6=96=B0?= =?UTF-8?q?ESLint=E9=85=8D=E7=BD=AE=E4=BB=A5=E5=85=B3=E9=97=ADno-explicit-?= =?UTF-8?q?any=E8=A7=84=E5=88=99=E6=8F=90=E7=A4=BA?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/api/data/route.ts | 6 ++++-- app/page.tsx | 2 +- app/records/[id]/page.tsx | 4 ++-- eslint.config.mjs | 6 ++++++ 4 files changed, 13 insertions(+), 5 deletions(-) diff --git a/app/api/data/route.ts b/app/api/data/route.ts index 8f25c92..de9c9ac 100644 --- a/app/api/data/route.ts +++ b/app/api/data/route.ts @@ -4,7 +4,7 @@ import { prisma } from '@/src/lib/prisma' import { applyFit, basicStats, genId, getSampleRateHz } from '@/src/lib/utils' const DataSchema = z.object({ - code: z.array(z.number().int()).min(1, 'code array empty').max(4096, 'too many points'), + code: z.array(z.number().int()).min(1, 'code array empty').max(65535, 'too many points'), fit: z.object({ a: z.number(), b: z.number() }).optional(), recStartMs: z.number().int().nonnegative().optional(), recEndMs: z.number().int().nonnegative().optional(), @@ -16,10 +16,12 @@ export async function POST(req: NextRequest) { const parsed = DataSchema.safeParse(json) if (!parsed.success) { const first = parsed.error.errors[0] + console.log(first, json); + return Response.json({ error: first?.message ?? 'invalid body' }, { status: 400 }) } const { code, fit, recStartMs, recEndMs } = parsed.data - if (code.length > 16384) { + if (code.length > 65535) { return Response.json({ error: 'payload too large' }, { status: 413 }) } diff --git a/app/page.tsx b/app/page.tsx index 70bc900..b17ae8d 100644 --- a/app/page.tsx +++ b/app/page.tsx @@ -109,7 +109,7 @@ export default function Home() {
-

ESP32 数据采集系统

+

ESP32 微弱压力数据采集系统

diff --git a/app/records/[id]/page.tsx b/app/records/[id]/page.tsx index cbe5154..1cc151d 100644 --- a/app/records/[id]/page.tsx +++ b/app/records/[id]/page.tsx @@ -42,8 +42,8 @@ export default function Page({ params }: { params: Promise<{ id: string }> }) { const [loading, setLoading] = useState(false) const [error, setError] = useState(null) const [rec, setRec] = useState(null) - const [emaAlpha, setEmaAlpha] = useState(0.2) - const [enableEma, setEnableEma] = useState(false) + const [emaAlpha, setEmaAlpha] = useState(0.01) + const [enableEma, setEnableEma] = useState(true) useEffect(() => { const controller = new AbortController() diff --git a/eslint.config.mjs b/eslint.config.mjs index 05e726d..3b0718b 100644 --- a/eslint.config.mjs +++ b/eslint.config.mjs @@ -13,6 +13,12 @@ const eslintConfig = defineConfig([ "build/**", "next-env.d.ts", ]), + // 自定义规则覆盖:关闭 @typescript-eslint/no-explicit-any 提示 + { + rules: { + "@typescript-eslint/no-explicit-any": "off", + }, + }, ]); export default eslintConfig;