From c3d4b7e1e49f69b33a5370659c71410225463ff7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E7=BC=96=E7=A0=81=E7=8C=BF?= Date: Tue, 16 Sep 2025 22:46:14 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E6=96=87=E4=BB=B6=E7=BB=93?= =?UTF-8?q?=E6=9E=84?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- back-end/deno.json | 8 +++++ back-end/main.ts | 7 ++++ doc/代码存放位置.md | 34 ++++++++++++++++++ doc/目录结构.md | 12 +++---- README.md => front-end/main-app/README.md | 0 index.html => front-end/main-app/index.html | 0 .../main-app/package-lock.json | 0 .../main-app/package.json | 0 .../main-app/public}/favicon.ico | Bin {src => front-end/main-app/src}/app/App.tsx | 0 .../main-app/src}/app/assets/base.css | 0 .../main-app/src}/app/assets/logo.svg | 0 .../main-app/src}/app/assets/main.css | 0 .../main-app/src}/app/components/Header.tsx | 0 {src => front-end/main-app/src}/app/main.ts | 0 .../main-app/src}/app/router/index.ts | 0 .../main-app/src}/app/stores/counter.ts | 0 .../main-app/src}/app/views/About.tsx | 0 .../main-app/src}/app/views/Home.tsx | 0 .../main-app/src}/app/views/NotFound.tsx | 0 .../main-app/src}/features/car/index.ts | 0 .../main-app/src}/features/order/index.ts | 0 .../main-app/src}/shared/config/HttpConfig.ts | 0 .../src}/shared/config/ThemeConfig.ts | 0 .../main-app/src}/shared/config/index.ts | 0 .../main-app/src}/shared/infra/AxiosInfra.ts | 0 .../main-app/src}/shared/types/env.d.ts | 0 .../main-app/src}/shared/types/shim.d.ts | 0 .../src}/shared/utils/UrlCheckUtils.ts | 0 .../main-app/src}/shared/utils/index.ts | 0 .../main-app/tsconfig.app.json | 0 .../main-app/tsconfig.json | 0 .../main-app/tsconfig.node.json | 0 .../main-app/vite.config.ts | 0 34 files changed, 55 insertions(+), 6 deletions(-) create mode 100644 back-end/deno.json create mode 100644 back-end/main.ts create mode 100644 doc/代码存放位置.md rename README.md => front-end/main-app/README.md (100%) rename index.html => front-end/main-app/index.html (100%) rename package-lock.json => front-end/main-app/package-lock.json (100%) rename package.json => front-end/main-app/package.json (100%) rename {public => front-end/main-app/public}/favicon.ico (100%) rename {src => front-end/main-app/src}/app/App.tsx (100%) rename {src => front-end/main-app/src}/app/assets/base.css (100%) rename {src => front-end/main-app/src}/app/assets/logo.svg (100%) rename {src => front-end/main-app/src}/app/assets/main.css (100%) rename {src => front-end/main-app/src}/app/components/Header.tsx (100%) rename {src => front-end/main-app/src}/app/main.ts (100%) rename {src => front-end/main-app/src}/app/router/index.ts (100%) rename {src => front-end/main-app/src}/app/stores/counter.ts (100%) rename {src => front-end/main-app/src}/app/views/About.tsx (100%) rename {src => front-end/main-app/src}/app/views/Home.tsx (100%) rename {src => front-end/main-app/src}/app/views/NotFound.tsx (100%) rename {src => front-end/main-app/src}/features/car/index.ts (100%) rename {src => front-end/main-app/src}/features/order/index.ts (100%) rename {src => front-end/main-app/src}/shared/config/HttpConfig.ts (100%) rename {src => front-end/main-app/src}/shared/config/ThemeConfig.ts (100%) rename {src => front-end/main-app/src}/shared/config/index.ts (100%) rename {src => front-end/main-app/src}/shared/infra/AxiosInfra.ts (100%) rename {src => front-end/main-app/src}/shared/types/env.d.ts (100%) rename {src => front-end/main-app/src}/shared/types/shim.d.ts (100%) rename {src => front-end/main-app/src}/shared/utils/UrlCheckUtils.ts (100%) rename {src => front-end/main-app/src}/shared/utils/index.ts (100%) rename tsconfig.app.json => front-end/main-app/tsconfig.app.json (100%) rename tsconfig.json => front-end/main-app/tsconfig.json (100%) rename tsconfig.node.json => front-end/main-app/tsconfig.node.json (100%) rename vite.config.ts => front-end/main-app/vite.config.ts (100%) diff --git a/back-end/deno.json b/back-end/deno.json new file mode 100644 index 0000000..9cb4e93 --- /dev/null +++ b/back-end/deno.json @@ -0,0 +1,8 @@ +{ + "tasks": { + "dev": "deno run --watch main.ts" + }, + "imports": { + "@std/assert": "jsr:@std/assert@1" + } +} \ No newline at end of file diff --git a/back-end/main.ts b/back-end/main.ts new file mode 100644 index 0000000..ea9d9f6 --- /dev/null +++ b/back-end/main.ts @@ -0,0 +1,7 @@ +export function add(a: number, b: number): number { + return a + b; +} + +if (import.meta.main) { + console.log("Add 2 + 3 =", add(2, 3)); +} diff --git a/doc/代码存放位置.md b/doc/代码存放位置.md new file mode 100644 index 0000000..e4afb6b --- /dev/null +++ b/doc/代码存放位置.md @@ -0,0 +1,34 @@ + +### 1. 领域层(Domains) +- 实体类:`src/domains/product/domain/entities/Product.ts` +- 仓储接口(端口):`src/domains/product/ports/repositories/ProductRepository.ts` + + +### 2. 基础设施层(Infrastructure) +- HTTP仓储实现:`src/domains/product/infrastructure/api/HttpProductRepository.ts` +- 通用HTTP客户端:`src/shared/infra/http/httpClient.ts` + + +### 3. 应用服务层(Application) +- 商品应用服务:`src/domains/product/application/services/ProductApplicationService.ts` + + +### 4. 依赖注入配置 +- 商品领域DI配置:`src/app/di/productModule.ts` + + +### 5. 路由配置(交付层) +- 商品路由:`src/app/router/productRoutes.ts` +- 主路由配置:`src/app/router/index.ts` + + +### 6. 功能实现(交付层) +- 商品列表页面:`src/features/product/views/ProductList.tsx` +- 商品详情页面:`src/features/product/views/ProductDetail.tsx` +- 商品卡片组件:`src/features/product/components/ProductCard.tsx` + + +### 7. 通用UI组件(交付层) +- 分页组件:`src/app/components/Pagination.tsx` +- 加载组件:`src/app/components/Loading.tsx`(代码中引用) +- 按钮组件:`src/app/components/Button.tsx`(代码中引用) diff --git a/doc/目录结构.md b/doc/目录结构.md index 29eff7c..9f0dbd8 100644 --- a/doc/目录结构.md +++ b/doc/目录结构.md @@ -1,18 +1,18 @@ ```txt src/ ├── domains/ # 【核心】领域层 - 所有业务领域模块 -│ └── order/ # 订单领域模块 +│ └── product/ # 订单领域模块 │ ├── domain/ # 领域模型(充血模型) -│ │ ├── entities/ # 实体(如:Order, OrderLineItem) +│ │ ├── entities/ # 实体(如:Product, ProductLineItem) │ │ ├── value-objects/ # 值对象(如:Money, Address) │ │ ├── enums/ # 领域枚举 │ │ └── events/ # 领域事件(如果需要) │ ├── application/ # 应用服务层 - 协调领域对象完成用例 -│ │ └── services/ # 应用服务(如:OrderApplicationService) +│ │ └── services/ # 应用服务(如:ProductApplicationService) │ ├── infrastructure/ # 基础设施层 - 领域层的具体实现 -│ │ └── api/ # 数据获取实现(如:HttpOrderRepository) +│ │ └── api/ # 数据获取实现(如:HttpProductRepository) │ ├── ports/ # 端口(接口/抽象类)- 定义契约 -│ │ └── repositories/ # 仓储接口(如:OrderRepository) +│ │ └── repositories/ # 仓储接口(如:ProductRepository) │ └── use-cases/ # (可选)或将用例放在这里 ├── app/ # 【交付层】应用组装和配置:路由、状态管理、主布局、UI库设置、错误处理、依赖注入容器 │ ├── components/ # 通用UI组件(与业务无关,如Button,Modal) @@ -22,7 +22,7 @@ src/ │ └── main.ts # 应用入口,依赖注入的组装之地 │ └── App.vue # 根组件 ├── features/ # 【交付层】基于领域的功能模块:关注具体的业务功能实现,它是舞台上的“演员”和“节目”。 -│ └── order/ # 订单功能模块 +│ └── product/ # 订单功能模块 │ ├── components/ # 订单领域专用的UI组件 │ ├── views/ # 订单相关的页面级Vue组件 │ ├── composables/ # 订单相关的Vue组合式函数 diff --git a/README.md b/front-end/main-app/README.md similarity index 100% rename from README.md rename to front-end/main-app/README.md diff --git a/index.html b/front-end/main-app/index.html similarity index 100% rename from index.html rename to front-end/main-app/index.html diff --git a/package-lock.json b/front-end/main-app/package-lock.json similarity index 100% rename from package-lock.json rename to front-end/main-app/package-lock.json diff --git a/package.json b/front-end/main-app/package.json similarity index 100% rename from package.json rename to front-end/main-app/package.json diff --git a/public/favicon.ico b/front-end/main-app/public/favicon.ico similarity index 100% rename from public/favicon.ico rename to front-end/main-app/public/favicon.ico diff --git a/src/app/App.tsx b/front-end/main-app/src/app/App.tsx similarity index 100% rename from src/app/App.tsx rename to front-end/main-app/src/app/App.tsx diff --git a/src/app/assets/base.css b/front-end/main-app/src/app/assets/base.css similarity index 100% rename from src/app/assets/base.css rename to front-end/main-app/src/app/assets/base.css diff --git a/src/app/assets/logo.svg b/front-end/main-app/src/app/assets/logo.svg similarity index 100% rename from src/app/assets/logo.svg rename to front-end/main-app/src/app/assets/logo.svg diff --git a/src/app/assets/main.css b/front-end/main-app/src/app/assets/main.css similarity index 100% rename from src/app/assets/main.css rename to front-end/main-app/src/app/assets/main.css diff --git a/src/app/components/Header.tsx b/front-end/main-app/src/app/components/Header.tsx similarity index 100% rename from src/app/components/Header.tsx rename to front-end/main-app/src/app/components/Header.tsx diff --git a/src/app/main.ts b/front-end/main-app/src/app/main.ts similarity index 100% rename from src/app/main.ts rename to front-end/main-app/src/app/main.ts diff --git a/src/app/router/index.ts b/front-end/main-app/src/app/router/index.ts similarity index 100% rename from src/app/router/index.ts rename to front-end/main-app/src/app/router/index.ts diff --git a/src/app/stores/counter.ts b/front-end/main-app/src/app/stores/counter.ts similarity index 100% rename from src/app/stores/counter.ts rename to front-end/main-app/src/app/stores/counter.ts diff --git a/src/app/views/About.tsx b/front-end/main-app/src/app/views/About.tsx similarity index 100% rename from src/app/views/About.tsx rename to front-end/main-app/src/app/views/About.tsx diff --git a/src/app/views/Home.tsx b/front-end/main-app/src/app/views/Home.tsx similarity index 100% rename from src/app/views/Home.tsx rename to front-end/main-app/src/app/views/Home.tsx diff --git a/src/app/views/NotFound.tsx b/front-end/main-app/src/app/views/NotFound.tsx similarity index 100% rename from src/app/views/NotFound.tsx rename to front-end/main-app/src/app/views/NotFound.tsx diff --git a/src/features/car/index.ts b/front-end/main-app/src/features/car/index.ts similarity index 100% rename from src/features/car/index.ts rename to front-end/main-app/src/features/car/index.ts diff --git a/src/features/order/index.ts b/front-end/main-app/src/features/order/index.ts similarity index 100% rename from src/features/order/index.ts rename to front-end/main-app/src/features/order/index.ts diff --git a/src/shared/config/HttpConfig.ts b/front-end/main-app/src/shared/config/HttpConfig.ts similarity index 100% rename from src/shared/config/HttpConfig.ts rename to front-end/main-app/src/shared/config/HttpConfig.ts diff --git a/src/shared/config/ThemeConfig.ts b/front-end/main-app/src/shared/config/ThemeConfig.ts similarity index 100% rename from src/shared/config/ThemeConfig.ts rename to front-end/main-app/src/shared/config/ThemeConfig.ts diff --git a/src/shared/config/index.ts b/front-end/main-app/src/shared/config/index.ts similarity index 100% rename from src/shared/config/index.ts rename to front-end/main-app/src/shared/config/index.ts diff --git a/src/shared/infra/AxiosInfra.ts b/front-end/main-app/src/shared/infra/AxiosInfra.ts similarity index 100% rename from src/shared/infra/AxiosInfra.ts rename to front-end/main-app/src/shared/infra/AxiosInfra.ts diff --git a/src/shared/types/env.d.ts b/front-end/main-app/src/shared/types/env.d.ts similarity index 100% rename from src/shared/types/env.d.ts rename to front-end/main-app/src/shared/types/env.d.ts diff --git a/src/shared/types/shim.d.ts b/front-end/main-app/src/shared/types/shim.d.ts similarity index 100% rename from src/shared/types/shim.d.ts rename to front-end/main-app/src/shared/types/shim.d.ts diff --git a/src/shared/utils/UrlCheckUtils.ts b/front-end/main-app/src/shared/utils/UrlCheckUtils.ts similarity index 100% rename from src/shared/utils/UrlCheckUtils.ts rename to front-end/main-app/src/shared/utils/UrlCheckUtils.ts diff --git a/src/shared/utils/index.ts b/front-end/main-app/src/shared/utils/index.ts similarity index 100% rename from src/shared/utils/index.ts rename to front-end/main-app/src/shared/utils/index.ts diff --git a/tsconfig.app.json b/front-end/main-app/tsconfig.app.json similarity index 100% rename from tsconfig.app.json rename to front-end/main-app/tsconfig.app.json diff --git a/tsconfig.json b/front-end/main-app/tsconfig.json similarity index 100% rename from tsconfig.json rename to front-end/main-app/tsconfig.json diff --git a/tsconfig.node.json b/front-end/main-app/tsconfig.node.json similarity index 100% rename from tsconfig.node.json rename to front-end/main-app/tsconfig.node.json diff --git a/vite.config.ts b/front-end/main-app/vite.config.ts similarity index 100% rename from vite.config.ts rename to front-end/main-app/vite.config.ts