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