This commit is contained in:
Ray.Hao
2025-12-11 21:21:30 +08:00
24 changed files with 931 additions and 194 deletions

View File

@@ -90,12 +90,11 @@ export interface AiExecuteResponse {
export interface AiCommandRecordPageQuery extends PageQuery {
keywords?: string;
executeStatus?: string;
parseSuccess?: boolean;
executeStatus?: number;
parseStatus?: number;
userId?: number;
isDangerous?: boolean;
provider?: string;
model?: string;
aiProvider?: string;
aiModel?: string;
functionName?: string;
createTime?: [string, string];
}
@@ -105,33 +104,23 @@ export interface AiCommandRecordVO {
userId: number;
username: string;
originalCommand: string;
provider?: string;
model?: string;
parseSuccess?: boolean;
aiProvider?: string;
aiModel?: string;
parseStatus?: number;
functionCalls?: string;
explanation?: string;
confidence?: number;
parseErrorMessage?: string;
inputTokens?: number;
outputTokens?: number;
totalTokens?: number;
parseTime?: number;
parseDurationMs?: number;
functionName?: string;
functionArguments?: string;
executeStatus?: string;
executeResult?: string;
executeStatus?: number;
executeErrorMessage?: string;
affectedRows?: number;
isDangerous?: boolean;
requiresConfirmation?: boolean;
userConfirmed?: boolean;
executionTime?: number;
ipAddress?: string;
userAgent?: string;
currentRoute?: string;
createTime?: string;
updateTime?: string;
remark?: string;
}
/**
@@ -180,9 +169,9 @@ class AiCommandApi {
/**
* 撤销命令执行(如果支持)
*/
static rollbackCommand(recordId: string) {
static rollbackCommand(logId: string) {
return request({
url: `/api/v1/ai/command/rollback/${recordId}`,
url: `/api/v1/ai/command/rollback/${logId}`,
method: "post",
});
}

View File

@@ -4,18 +4,16 @@ const AUTH_BASE_URL = "/api/v1/auth";
const AuthAPI = {
/** 登录接口*/
login(data: LoginFormData) {
const formData = new FormData();
formData.append("username", data.username);
formData.append("password", data.password);
formData.append("captchaKey", data.captchaKey);
formData.append("captchaCode", data.captchaCode);
login(data: LoginRequest) {
return request<any, LoginResult>({
url: `${AUTH_BASE_URL}/login`,
method: "post",
data: formData,
headers: {
"Content-Type": "multipart/form-data",
data: {
username: data.username,
password: data.password,
captchaId: data.captchaId,
captchaCode: data.captchaCode,
tenantId: data.tenantId,
},
});
},
@@ -51,18 +49,20 @@ const AuthAPI = {
export default AuthAPI;
/** 登录表单数据 */
export interface LoginFormData {
/** 登录请求参数 */
export interface LoginRequest {
/** 用户名 */
username: string;
/** 密码 */
password: string;
/** 验证码缓存key */
captchaKey: string;
/** 验证码缓存ID */
captchaId?: string;
/** 验证码 */
captchaCode: string;
/** 记住我 */
rememberMe: boolean;
captchaCode?: string;
/** 记住我(前端使用,不发送到后端) */
rememberMe?: boolean;
/** 租户ID可选多租户模式下用于指定租户 */
tenantId?: number;
}
/** 登录响应 */
@@ -79,8 +79,8 @@ export interface LoginResult {
/** 验证码信息 */
export interface CaptchaInfo {
/** 验证码缓存key */
captchaKey: string;
/** 验证码缓存ID */
captchaId: string;
/** 验证码图片Base64字符串 */
captchaBase64: string;
}

View File

@@ -0,0 +1,68 @@
import request from "@/utils/request";
const TENANT_BASE_URL = "/api/v1/tenants";
/**
* 租户信息
*/
export interface TenantInfo {
/** 租户ID */
id: number;
/** 租户名称 */
name: string;
/** 租户编码 */
code?: string;
/** 租户状态(1-正常 0-禁用) */
status?: number;
/** 联系人姓名 */
contactName?: string;
/** 联系人电话 */
contactPhone?: string;
/** 联系人邮箱 */
contactEmail?: string;
/** 租户域名 */
domain?: string;
/** 租户Logo */
logo?: string;
/** 是否默认租户 */
isDefault?: boolean;
}
/**
* 租户 API
*/
const TenantAPI = {
/**
* 获取当前用户的租户列表
*/
getTenantList() {
return request<any, TenantInfo[]>({
url: `${TENANT_BASE_URL}`,
method: "get",
});
},
/**
* 获取当前租户信息
*/
getCurrentTenant() {
return request<any, TenantInfo>({
url: `${TENANT_BASE_URL}/current`,
method: "get",
});
},
/**
* 切换租户
*
* @param tenantId 目标租户ID
*/
switchTenant(tenantId: number) {
return request<any, TenantInfo>({
url: `${TENANT_BASE_URL}/${tenantId}/switch`,
method: "post",
});
},
};
export default TenantAPI;