style: 强类型大法

This commit is contained in:
手瓜一十雪
2025-02-02 23:22:21 +08:00
parent ac193cc94a
commit 15854c605b
191 changed files with 923 additions and 806 deletions

View File

@@ -22,7 +22,7 @@ const GetFileBase_PayloadSchema = Type.Object({
export type GetFilePayload = Static<typeof GetFileBase_PayloadSchema>;
export class GetFileBase extends OneBotAction<GetFilePayload, GetFileResponse> {
payloadSchema = GetFileBase_PayloadSchema;
override payloadSchema = GetFileBase_PayloadSchema;
async _handle(payload: GetFilePayload): Promise<GetFileResponse> {
payload.file ||= payload.file_id || '';
@@ -113,5 +113,5 @@ export class GetFileBase extends OneBotAction<GetFilePayload, GetFileResponse> {
}
export default class GetFile extends GetFileBase {
actionName = ActionName.GetFile;
override actionName = ActionName.GetFile;
}

View File

@@ -15,8 +15,8 @@ interface GetGroupFileUrlResponse {
}
export class GetGroupFileUrl extends GetPacketStatusDepends<Payload, GetGroupFileUrlResponse> {
actionName = ActionName.GOCQHTTP_GetGroupFileUrl;
payloadSchema = SchemaData;
override actionName = ActionName.GOCQHTTP_GetGroupFileUrl;
override payloadSchema = SchemaData;
async _handle(payload: Payload) {
const contextMsgFile = FileNapCatOneBotUUID.decode(payload.file_id) || FileNapCatOneBotUUID.decodeModelId(payload.file_id);

View File

@@ -3,5 +3,5 @@ import { ActionName } from '@/onebot/action/router';
export default class GetImage extends GetFileBase {
actionName = ActionName.GetImage;
override actionName = ActionName.GetImage;
}

View File

@@ -4,16 +4,16 @@ import { promises as fs } from 'fs';
import { decode } from 'silk-wasm';
import { FFmpegService } from '@/common/ffmpeg';
const out_format = ['mp3' , 'amr' , 'wma' , 'm4a' , 'spx' , 'ogg' , 'wav' , 'flac'];
const out_format = ['mp3', 'amr', 'wma', 'm4a', 'spx', 'ogg', 'wav', 'flac'];
type Payload = {
out_format : string
out_format: string
} & GetFilePayload
export default class GetRecord extends GetFileBase {
actionName = ActionName.GetRecord;
override actionName = ActionName.GetRecord;
async _handle(payload: Payload): Promise<GetFileResponse> {
override async _handle(payload: Payload): Promise<GetFileResponse> {
const res = await super._handle(payload);
if (payload.out_format && typeof payload.out_format === 'string') {
const inputFile = res.file;
@@ -27,7 +27,7 @@ export default class GetRecord extends GetFileBase {
await fs.access(inputFile);
try {
await fs.access(outputFile);
} catch (error) {
} catch {
await this.decodeFile(inputFile, pcmFile);
await FFmpegService.convertFile(pcmFile, outputFile, payload.out_format);
}