refactor: 项目结构优化调整

This commit is contained in:
Ray.Hao
2025-12-20 21:56:48 +08:00
parent 5851976c5d
commit 65ad4fe59f
68 changed files with 2463 additions and 1761 deletions

118
mock/ai.mock.ts Normal file
View File

@@ -0,0 +1,118 @@
import { defineMock } from "./base";
export default defineMock([
{
url: "ai/assistant/parse",
method: ["POST"],
body: ({ body }) => {
return {
code: "00000",
data: {
parseLogId: "10001",
success: true,
functionCalls: [
{
name: "navigate",
arguments: {
path: "/system/user",
},
},
],
explanation: `Mock: 已解析命令:${body?.command ?? ""}`,
confidence: 0.92,
},
msg: "一切ok",
};
},
},
{
url: "ai/assistant/execute",
method: ["POST"],
body: {
code: "00000",
data: {
success: true,
message: "Mock: 执行成功",
},
msg: "一切ok",
},
},
{
url: "ai/assistant/records",
method: ["GET"],
body: ({ query }) => {
const pageNum = Number(query?.pageNum ?? 1);
const pageSize = Number(query?.pageSize ?? 10);
const total = 2;
return {
code: "00000",
data: {
list: [
{
id: "10001",
userId: 1,
username: "admin",
originalCommand: "跳转到用户管理",
aiProvider: "qwen",
aiModel: "qwen-plus",
parseStatus: 1,
functionCalls: JSON.stringify(
[
{
name: "navigate",
arguments: { path: "/system/user" },
},
],
null,
0
),
explanation: "Mock: 识别到跳转用户管理",
confidence: 0.92,
parseDurationMs: 128,
functionName: "navigate",
functionArguments: JSON.stringify({ path: "/system/user" }),
executeStatus: 1,
ipAddress: "127.0.0.1",
createTime: "2025-12-17 15:00:00",
updateTime: "2025-12-17 15:00:00",
},
{
id: "10002",
userId: 1,
username: "admin",
originalCommand: "获取姓名为张三的用户信息",
aiProvider: "qwen",
aiModel: "qwen-plus",
parseStatus: 0,
functionCalls: "[]",
explanation: "Mock: 解析失败示例",
confidence: 0.2,
parseErrorMessage: "Mock: 无法匹配函数",
parseDurationMs: 256,
executeStatus: 0,
ipAddress: "127.0.0.1",
createTime: "2025-12-17 15:01:00",
updateTime: "2025-12-17 15:01:00",
},
].slice((pageNum - 1) * pageSize, pageNum * pageSize),
total,
},
msg: "一切ok",
};
},
},
{
url: "ai/assistant/records/:ids",
method: ["DELETE"],
body: ({ params }) => {
return {
code: "00000",
data: {
ids: params?.ids,
},
msg: "一切ok",
};
},
},
]);

View File

@@ -164,44 +164,4 @@ export default defineMock([
msg: "一切ok",
},
},
{
url: "logs/visit-trend",
method: ["GET"],
body: {
code: "00000",
data: {
dates: [
"2024-06-30",
"2024-07-01",
"2024-07-02",
"2024-07-03",
"2024-07-04",
"2024-07-05",
"2024-07-06",
"2024-07-07",
],
pvList: [1751, 5168, 4882, 5301, 4721, 4885, 1901, 1003],
uvList: null,
ipList: [207, 566, 565, 631, 579, 496, 222, 152],
},
msg: "一切ok",
},
},
{
url: "logs/visit-stats",
method: ["GET"],
body: {
code: "00000",
data: {
todayPvCount: 1629,
totalPvCount: 286086,
pvGrowthRate: -0.65,
todayIpCount: 169,
totalIpCount: 19985,
ipGrowthRate: -0.57,
},
msg: "一切ok",
},
},
]);

43
mock/statistics.mock.ts Normal file
View File

@@ -0,0 +1,43 @@
import { defineMock } from "./base";
export default defineMock([
{
url: "statistics/visits/trend",
method: ["GET"],
body: {
code: "00000",
data: {
dates: [
"2024-06-30",
"2024-07-01",
"2024-07-02",
"2024-07-03",
"2024-07-04",
"2024-07-05",
"2024-07-06",
"2024-07-07",
],
pvList: [1751, 5168, 4882, 5301, 4721, 4885, 1901, 1003],
uvList: null,
ipList: [207, 566, 565, 631, 579, 496, 222, 152],
},
msg: "一切ok",
},
},
{
url: "statistics/visits/overview",
method: ["GET"],
body: {
code: "00000",
data: {
todayUvCount: 169,
totalUvCount: 19985,
uvGrowthRate: -0.57,
todayPvCount: 1629,
totalPvCount: 286086,
pvGrowthRate: -0.65,
},
msg: "一切ok",
},
},
]);

65
mock/tenant.mock.ts Normal file
View File

@@ -0,0 +1,65 @@
import { defineMock } from "./base";
export default defineMock([
{
url: "tenants",
method: ["GET"],
body: {
code: "00000",
data: [
{
id: 1,
name: "默认租户",
domain: "default",
},
{
id: 2,
name: "演示租户",
domain: "demo",
},
],
msg: "一切ok",
},
},
{
url: "tenants/current",
method: ["GET"],
body: {
code: "00000",
data: {
id: 1,
name: "默认租户",
domain: "default",
},
msg: "一切ok",
},
},
{
url: "tenants/:tenantId/switch",
method: ["POST"],
body({ params }) {
const tenantId = Number(params.tenantId);
const allTenants = [
{
id: 1,
name: "默认租户",
domain: "default",
},
{
id: 2,
name: "演示租户",
domain: "demo",
},
];
const tenant = allTenants.find((t) => t.id === tenantId) || null;
return {
code: tenant ? "00000" : "A0400",
data: tenant,
msg: tenant ? "切换租户成功" : "租户不存在",
};
},
},
]);