接口提示信息国际化

This commit is contained in:
whyour
2026-06-11 02:19:04 +08:00
parent 946731ac8d
commit 05f8fd3805
17 changed files with 206 additions and 26 deletions
+2 -1
View File
@@ -6,6 +6,7 @@ import * as fs from 'fs/promises';
import { celebrate, Joi } from 'celebrate';
import { join } from 'path';
import { SAMPLE_FILES } from '../config/const';
import { t } from '../shared/i18n';
import ConfigService from '../services/config';
import { writeFileWithLock } from '../shared/utils';
const route = Router();
@@ -72,7 +73,7 @@ export default (app: Router) => {
try {
const { name, content } = req.body;
if (config.blackFileList.includes(name)) {
res.send({ code: 403, message: '文件无法访问' });
res.send({ code: 403, message: t('文件无法访问') });
}
let path = join(config.configPath, name);
if (name.startsWith('data/scripts/')) {
+2 -1
View File
@@ -9,6 +9,7 @@ import {
RunningInstanceModel,
InstanceStatus,
} from '../data/runningInstance';
import { t } from '../shared/i18n';
const route = Router();
@@ -64,7 +65,7 @@ export default (app: Router) => {
try {
const cronViewService = Container.get(CronViewService);
if (req.body.type === 1) {
return res.send({ code: 400, message: '参数错误' });
return res.send({ code: 400, message: t('参数错误') });
} else {
const data = await cronViewService.update(req.body);
return res.send({ code: 200, data });
+3 -2
View File
@@ -6,6 +6,7 @@ import { Container } from 'typedi';
import { Logger } from 'winston';
import config from '../config';
import { safeJSONParse } from '../config/util';
import { t } from '../shared/i18n';
import EnvService from '../services/env';
const route = Router();
@@ -57,7 +58,7 @@ export default (app: Router) => {
try {
const envService = Container.get(EnvService);
if (!req.body?.length) {
return res.send({ code: 400, message: '参数不正确' });
return res.send({ code: 400, message: t('参数不正确') });
}
const data = await envService.create(req.body);
return res.send({ code: 200, data });
@@ -299,7 +300,7 @@ export default (app: Router) => {
} else {
return res.send({
code: 400,
message: '每条数据 name 或者 value 字段不能为空,参考导出文件格式',
message: t('每条数据 name 或者 value 字段不能为空,参考导出文件格式'),
});
}
} catch (e) {
+5 -4
View File
@@ -3,6 +3,7 @@ import { NextFunction, Request, Response, Router } from 'express';
import { Container } from 'typedi';
import { Logger } from 'winston';
import config from '../config';
import { t } from '../shared/i18n';
import {
getFileContentByName,
readDirs,
@@ -42,7 +43,7 @@ export default (app: Router) => {
if (!finalPath || blacklist.includes(req.query.path as string)) {
return res.send({
code: 403,
message: '暂无权限',
message: t('暂无权限'),
});
}
const content = await getFileContentByName(finalPath);
@@ -65,7 +66,7 @@ export default (app: Router) => {
if (!finalPath || blacklist.includes(req.query.path as string)) {
return res.send({
code: 403,
message: '暂无权限',
message: t('暂无权限'),
});
}
const content = await getFileContentByName(finalPath);
@@ -96,7 +97,7 @@ export default (app: Router) => {
if (!finalPath || blacklist.includes(path)) {
return res.send({
code: 403,
message: '暂无权限',
message: t('暂无权限'),
});
}
await rmPath(finalPath);
@@ -126,7 +127,7 @@ export default (app: Router) => {
if (!filePath) {
return res.send({
code: 403,
message: '暂无权限',
message: t('暂无权限'),
});
}
return res.download(filePath, filename, (err) => {
+5 -4
View File
@@ -7,6 +7,7 @@ import * as fs from 'fs/promises';
import { celebrate, Joi } from 'celebrate';
import path, { join, parse } from 'path';
import ScriptService from '../services/script';
import { t } from '../shared/i18n';
import multer from 'multer';
import { writeFileWithLock } from '../shared/utils';
const route = Router();
@@ -155,7 +156,7 @@ export default (app: Router) => {
if (config.writePathList.every((x) => !path.startsWith(x))) {
return res.send({
code: 403,
message: '暂无权限',
message: t('暂无权限'),
});
}
@@ -217,7 +218,7 @@ export default (app: Router) => {
if (!filePath) {
return res.send({
code: 403,
message: '暂无权限',
message: t('暂无权限'),
});
}
await writeFileWithLock(filePath, content);
@@ -251,7 +252,7 @@ export default (app: Router) => {
if (!filePath) {
return res.send({
code: 403,
message: '暂无权限',
message: t('暂无权限'),
});
}
await rmPath(filePath);
@@ -284,7 +285,7 @@ export default (app: Router) => {
if (!filePath) {
return res.send({
code: 403,
message: '暂无权限',
message: t('暂无权限'),
});
}
return res.download(filePath, filename, (err) => {
+18
View File
@@ -426,6 +426,24 @@ export default (app: Router) => {
},
);
route.put(
'/config/lang',
celebrate({
body: Joi.object({
lang: Joi.string().allow('').allow(null),
}),
}),
async (req: Request, res: Response, next: NextFunction) => {
try {
const systemService = Container.get(SystemService);
const result = await systemService.updateLanguage(req.body);
res.send(result);
} catch (e) {
return next(e);
}
},
);
route.put(
'/config/global-ssh-key',
celebrate({