Refactor type annotations and router initialization

Standardized type annotations for interfaces in user.ts and improved type safety in webapi.ts. Updated all Express router initializations to explicitly declare the Router type. Added missing RequestHandler typings in uploader modules for better type checking.
This commit is contained in:
手瓜一十雪
2026-01-22 17:35:54 +08:00
parent 772f07c58b
commit 01958d47a4
16 changed files with 123 additions and 121 deletions

View File

@@ -16,7 +16,7 @@ import json5 from 'json5';
type ActionNameType = typeof ActionName[keyof typeof ActionName];
const router = Router();
const router: Router = Router();
const DEFAULT_ADAPTER_NAME = 'debug-primary';
/**

View File

@@ -3,7 +3,7 @@ import { GetThemeConfigHandler, GetNapCatVersion, QQVersionHandler, SetThemeConf
import { StatusRealTimeHandler } from '@/napcat-webui-backend/src/api/Status';
import { GetProxyHandler } from '../api/Proxy';
const router = Router();
const router: Router = Router();
// router: 获取nc的package.json信息
router.get('/QQVersion', QQVersionHandler);
router.get('/GetNapCatVersion', GetNapCatVersion);

View File

@@ -18,7 +18,7 @@ import {
DeleteWebUIFontHandler, // 添加上传处理器
} from '../api/File';
const router = Router();
const router: Router = Router();
const apiLimiter = rateLimit({
windowMs: 1 * 60 * 1000, // 1分钟内

View File

@@ -8,7 +8,7 @@ import {
CloseTerminalHandler,
} from '../api/Log';
const router = Router();
const router: Router = Router();
// 日志相关路由
router.get('/GetLog', LogHandler);

View File

@@ -2,7 +2,7 @@ import { Router } from 'express';
import { OB11GetConfigHandler, OB11SetConfigHandler } from '@/napcat-webui-backend/src/api/OB11Config';
const router = Router();
const router: Router = Router();
// router:读取配置
router.post('/GetConfig', OB11GetConfigHandler);
// router:写入配置

View File

@@ -1,7 +1,7 @@
import { Router } from 'express';
import { GetPluginListHandler, ReloadPluginHandler, SetPluginStatusHandler, UninstallPluginHandler } from '@/napcat-webui-backend/src/api/Plugin';
const router = Router();
const router: Router = Router();
router.get('/List', GetPluginListHandler);
router.post('/Reload', ReloadPluginHandler);

View File

@@ -1,7 +1,7 @@
import { Router } from 'express';
import { RestartProcessHandler } from '../api/Process';
const router = Router();
const router: Router = Router();
// POST /api/Process/Restart - 重启进程
router.post('/Restart', RestartProcessHandler);

View File

@@ -12,7 +12,7 @@ import {
QQRefreshQRcodeHandler,
} from '@/napcat-webui-backend/src/api/QQLogin';
const router = Router();
const router: Router = Router();
// router:获取快速登录列表
router.all('/GetQuickLoginList', QQGetQuickLoginListHandler);
// router:获取快速登录列表(新)

View File

@@ -5,7 +5,7 @@
import { Router } from 'express';
import { UpdateNapCatHandler } from '@/napcat-webui-backend/src/api/UpdateNapCat';
const router = Router();
const router: Router = Router();
// POST /api/UpdateNapCat/update - 更新NapCat
router.post('/update', UpdateNapCatHandler);

View File

@@ -8,7 +8,7 @@ import {
UpdateWebUIConfigHandler,
} from '@/napcat-webui-backend/src/api/WebUIConfig';
const router = Router();
const router: Router = Router();
// 获取WebUI基础配置
router.get('/GetConfig', GetWebUIConfigHandler);

View File

@@ -11,7 +11,7 @@ import {
VerifyPasskeyAuthenticationHandler,
} from '@/napcat-webui-backend/src/api/Auth';
const router = Router();
const router: Router = Router();
// router:登录
router.post('/login', LoginHandler);
// router:检查登录状态

View File

@@ -19,7 +19,7 @@ import DebugRouter from '@/napcat-webui-backend/src/api/Debug';
import { ProcessRouter } from './Process';
import { PluginRouter } from './Plugin';
const router = Router();
const router: Router = Router();
// 鉴权中间件
router.use(auth);

View File

@@ -1,5 +1,5 @@
import multer from 'multer';
import { Request, Response } from 'express';
import { Request, Response, RequestHandler } from 'express';
import fs from 'fs';
import path from 'path';
import { randomUUID } from 'crypto';
@@ -65,7 +65,7 @@ export const createDiskStorage = (uploadPath: string) => {
});
};
export const createDiskUpload = (uploadPath: string) => {
export const createDiskUpload = (uploadPath: string): RequestHandler => {
const upload = multer({
storage: createDiskStorage(uploadPath),
limits: {

View File

@@ -1,7 +1,7 @@
import multer from 'multer';
import path from 'path';
import fs from 'fs';
import type { Request, Response } from 'express';
import type { Request, Response, RequestHandler } from 'express';
import { WebUiConfig } from '@/napcat-webui-backend/index';
// 支持的字体格式
@@ -42,7 +42,7 @@ export const webUIFontStorage = multer.diskStorage({
},
});
export const webUIFontUpload = multer({
export const webUIFontUpload: RequestHandler = multer({
storage: webUIFontStorage,
fileFilter: (_, file, cb) => {
// 验证文件类型