feat: update localization files and improve system version management

- Changed output path for i18next configuration in admin and user apps to "public/assets/locales/{{language}}/{{namespace}}.json".
- Added new translation keys in English and Chinese for admin and user updates in tool.json files.
- Refactored SystemVersionCard component to utilize new service version checking and updating logic.
- Introduced basic service version checking and updating functions in the gateway service.
- Added typings for new API endpoints related to service version management.
- Updated Vite configuration to rewrite API paths.
- Added TypeScript error handling in various service files.
This commit is contained in:
web
2025-12-01 03:00:47 -08:00
parent 5f3354e948
commit 3cf6a5cfb4
44 changed files with 427 additions and 143 deletions
+1
View File
@@ -1,3 +1,4 @@
//
/* eslint-disable */
import request from "@workspace/ui/lib/request";
@@ -1,3 +1,4 @@
//
/* eslint-disable */
import request from "@workspace/ui/lib/request";
@@ -1,3 +1,4 @@
//
/* eslint-disable */
import request from "@workspace/ui/lib/request";
@@ -1,3 +1,4 @@
//
/* eslint-disable */
import request from "@workspace/ui/lib/request";
@@ -1,3 +1,4 @@
//
/* eslint-disable */
import request from "@workspace/ui/lib/request";
+1
View File
@@ -1,3 +1,4 @@
//
/* eslint-disable */
import request from "@workspace/ui/lib/request";
@@ -1,3 +1,4 @@
//
/* eslint-disable */
import request from "@workspace/ui/lib/request";
+1
View File
@@ -1,3 +1,4 @@
//
/* eslint-disable */
// API 更新时间:
// API 唯一标识:
+1
View File
@@ -1,3 +1,4 @@
//
/* eslint-disable */
import request from "@workspace/ui/lib/request";
@@ -1,3 +1,4 @@
//
/* eslint-disable */
import request from "@workspace/ui/lib/request";
+1
View File
@@ -1,3 +1,4 @@
//
/* eslint-disable */
import request from "@workspace/ui/lib/request";
@@ -1,3 +1,4 @@
//
/* eslint-disable */
import request from "@workspace/ui/lib/request";
+1
View File
@@ -1,3 +1,4 @@
//
/* eslint-disable */
import request from "@workspace/ui/lib/request";
@@ -1,3 +1,4 @@
//
/* eslint-disable */
import request from "@workspace/ui/lib/request";
+1
View File
@@ -1,3 +1,4 @@
//
/* eslint-disable */
import request from "@workspace/ui/lib/request";
+1
View File
@@ -1,3 +1,4 @@
//
/* eslint-disable */
import request from "@workspace/ui/lib/request";
+1
View File
@@ -1,3 +1,4 @@
//
/* eslint-disable */
import request from "@workspace/ui/lib/request";
+1
View File
@@ -1,3 +1,4 @@
//
/* eslint-disable */
import request from "@workspace/ui/lib/request";
+1
View File
@@ -1,3 +1,4 @@
//
/* eslint-disable */
import request from "@workspace/ui/lib/request";
@@ -1,3 +1,4 @@
//
/* eslint-disable */
import request from "@workspace/ui/lib/request";
+1
View File
@@ -1,3 +1,4 @@
//
/* eslint-disable */
// API 更新时间:
// API 唯一标识:
@@ -0,0 +1,22 @@
//
/* eslint-disable */
import request from "@workspace/ui/lib/request";
/** Check if there is a new version of the service GET /basic/check/version */
export async function basicCheckServiceVersion(
// 叠加生成的Param类型 (非body参数swagger默认没有生成对象)
params: API.basicCheckServiceVersionParams,
options?: { [key: string]: any }
) {
return request<{
code?: number;
data?: API.ServiceVersionResponse;
msg?: string;
}>("/basic/check/version", {
method: "GET",
params: {
...params,
},
...(options || {}),
});
}
@@ -0,0 +1,21 @@
//
/* eslint-disable */
import request from "@workspace/ui/lib/request";
/** Send heartbeat to the service GET /basic/heartbeat */
export async function basicHeartbeat(
// 叠加生成的Param类型 (非body参数swagger默认没有生成对象)
params: API.basicHeartbeatParams,
options?: { [key: string]: any }
) {
return request<{ code?: number; data?: API.HeartbeatResponse; msg?: string }>(
"/basic/heartbeat",
{
method: "GET",
params: {
...params,
},
...(options || {}),
}
);
}
@@ -0,0 +1,22 @@
//
/* eslint-disable */
import request from "@workspace/ui/lib/request";
/** Register a new service to the gateway POST /basic/register */
export async function basicRegisterService(
body: API.RegisterServiceRequest,
options?: { [key: string]: any }
) {
return request<{
code?: number;
data?: API.RegisterServiceResponse;
msg?: string;
}>("/basic/register", {
method: "POST",
headers: {
"Content-Type": "application/json",
},
data: body,
...(options || {}),
});
}
@@ -0,0 +1,22 @@
//
/* eslint-disable */
import request from "@workspace/ui/lib/request";
/** Update the service to the latest version POST /basic/update */
export async function basicUpdateService(
body: API.UpdateServiceRequest,
options?: { [key: string]: any }
) {
return request<{
code?: number;
data?: API.UpdateServiceResponse;
msg?: string;
}>("/basic/update", {
method: "POST",
headers: {
"Content-Type": "application/json",
},
data: body,
...(options || {}),
});
}
+14
View File
@@ -0,0 +1,14 @@
//
/* eslint-disable */
// API 更新时间:
// API 唯一标识:
import * as basicCheckServiceVersion from "./basicCheckServiceVersion";
import * as basicHeartbeat from "./basicHeartbeat";
import * as basicRegisterService from "./basicRegisterService";
import * as basicUpdateService from "./basicUpdateService";
export default {
basicCheckServiceVersion,
basicHeartbeat,
basicRegisterService,
basicUpdateService,
};
+77
View File
@@ -0,0 +1,77 @@
declare namespace API {
type basicCheckServiceVersionParams = {
/** 服务名称 */
service_name: string;
/** 通讯密钥 */
secret: string;
};
type basicHeartbeatParams = {
/** 服务名称 */
service_name: string;
/** 通讯密钥 */
secret: string;
};
type CheckServiceVersionRequest = true;
type HeartbeatRequest = true;
type HeartbeatResponse = {
/** 心跳是否成功 */
success: boolean;
};
type RegisterServiceRequest = {
/** 心跳地址 */
heartbeat_url: string;
/** 代理路径 */
proxy_path: string;
/** 服务代码仓库 */
repository: string;
/** 通讯密钥 */
secret: string;
/** 服务名称 */
service_name: string;
/** 服务地址 */
service_url: string;
/** 服务版本 */
service_version: string;
};
type RegisterServiceResponse = {
/** 返回信息 */
message: string;
/** 注册是否成功 */
success: boolean;
};
type ServiceVersionResponse = {
/** 当前版本 */
current_version: string;
/** 是否有更新 */
has_update: boolean;
/** 最新版本 */
latest_version: string;
};
type UpdateServiceRequest = {
/** 通讯密钥 */
secret: string;
/** 服务名称 */
service_name: string;
};
type UpdateServiceResponse = {
/** 是否更新出错 */
error: boolean;
/** 返回信息 */
message: string;
/** 是否正在更新 */
running: boolean;
/** 更新步骤 */
step: number;
/** 更新总步骤 */
total: number;
};
}
@@ -1,3 +1,4 @@
//
/* eslint-disable */
import request from "@workspace/ui/lib/request";
@@ -1,3 +1,4 @@
//
/* eslint-disable */
import request from "@workspace/ui/lib/request";
+1
View File
@@ -1,3 +1,4 @@
//
/* eslint-disable */
// API 更新时间:
// API 唯一标识:
+1
View File
@@ -1,3 +1,4 @@
//
/* eslint-disable */
import request from "@workspace/ui/lib/request";
+1
View File
@@ -1,3 +1,4 @@
//
/* eslint-disable */
import request from "@workspace/ui/lib/request";
+1
View File
@@ -1,3 +1,4 @@
//
/* eslint-disable */
import request from "@workspace/ui/lib/request";
@@ -1,3 +1,4 @@
//
/* eslint-disable */
import request from "@workspace/ui/lib/request";
+1
View File
@@ -1,3 +1,4 @@
//
/* eslint-disable */
import request from "@workspace/ui/lib/request";
+1
View File
@@ -1,3 +1,4 @@
//
/* eslint-disable */
import request from "@workspace/ui/lib/request";