feat(api): 支持电池分页和安全预测

This commit is contained in:
2026-05-11 22:39:05 +08:00
parent 29e70fea9a
commit cf6f91651d
4 changed files with 322 additions and 33 deletions
+14 -1
View File
@@ -4,10 +4,23 @@ import { batteriesResponseSchema, dashboardSnapshotSchema } from '@/domain/batte
export const dashboard = oc.input(z.void()).output(dashboardSnapshotSchema)
const batteryListInputSchema = z.object({
pageSize: z.number().int().min(1).max(100).default(50),
cursor: z.string().min(1).optional(),
search: z.string().trim().min(1).max(100).optional(),
lowPower: z.boolean().optional(),
powerStatus: z.union([z.literal(0), z.literal(1), z.literal(2)]).optional(),
sort: z.enum(['createdAtDesc', 'createdAtAsc', 'powerDesc', 'powerAsc']).default('createdAtDesc'),
})
export const batteries = oc
.input(batteryListInputSchema)
.output(batteriesResponseSchema)
export const history = oc
.input(
z.object({
mac: z.string().min(1).optional(),
mac: z.string().min(1),
}),
)
.output(batteriesResponseSchema)