Go to file
2025-06-04 09:30:15 +08:00
android 添加网络权限 2025-06-04 09:30:15 +08:00
ios 1. 架构设计: 2025-04-14 23:28:20 +08:00
lib 调整引用格式, 采用相对路径, 防止新项目名导致路径错误 2025-04-15 14:45:10 +08:00
linux 1. 架构设计: 2025-04-14 23:28:20 +08:00
macos 1. 架构设计: 2025-04-14 23:28:20 +08:00
test 1. 架构设计: 2025-04-14 23:28:20 +08:00
web 1. 架构设计: 2025-04-14 23:28:20 +08:00
windows 1. 架构设计: 2025-04-14 23:28:20 +08:00
.gitignore 完成合并,解决冲突 2025-04-14 23:49:50 +08:00
.metadata 通过命令行补交配置文件 2025-04-14 23:44:14 +08:00
analysis_options.yaml 通过命令行补交配置文件 2025-04-14 23:44:14 +08:00
LICENSE Initial commit 2025-04-14 22:57:12 +08:00
pubspec.lock 1. 架构设计: 2025-04-14 23:28:20 +08:00
pubspec.yaml 1. 架构设计: 2025-04-14 23:28:20 +08:00
README.md 更新README, 介绍项目架构以及二次开发指南 2025-04-16 15:35:24 +08:00

pda_template

项目结构

├─app					# 主应用模块
│  ├─config				# 应用配置文件
│  ├─enum				# 枚举类
│  ├─routing			# 路由配置
│  └─theme				# 主题样式
├─core					# 核心基础模块
│  ├─api				# API 通信相关
│  │  ├─clients			# API 客户端(网络请求封装)
│  │  │  └─impl			# 具体实现类
│  │  ├─config			# Yaml配置文件解析类
│  │  └─models			# 数据模型(请求/响应体)
│  │      ├─entries		# 实体类定义
│  │      ├─requests	# 请求体
│  │      └─responses	# 响应体
│  ├─di					# 依赖注入配置
│  └─utils				# 工具类
│      └─extensions		# 扩展函数/方法
├─features				# 功能模块(按业务拆分)
│  ├─order				# 订单功能模块
│  │  ├─business_logic	# 业务逻辑(用例、通知等)
│  │  │  ├─notifiers	# 状态通知类
│  │  │  └─repositories	# 数据仓库接口
│  │  └─presentation	# 界面层(屏幕/组件)
│  │      ├─screens		# 页面级组件
│  │      └─widgets		# 可复用小组件
│  ├─page				# 基础页面(home, login)
│  │  ├─business_logic	# 业务逻辑
│  │  │  └─notifiers	# 状态通知类
│  │  ├─data			# 数据层(本地/远程)
│  │  │  └─repositories	# 数据仓库实现
│  │  ├─domain			# 领域模型
│  │  │  ├─models		# 领域实体
│  │  │  └─repositories	# 领域仓库接口
│  │  └─presentation	# 页面展示组件
│  └─stock				# 库存管理模块
│      ├─business_logic	# 库存业务逻辑
│      │  ├─notifiers	# 库存状态监听
│      │  └─repositories# 库存仓库接口
│      ├─data			# 数据层
│      │  ├─datasources	# 数据源(本地/远程)
│      │  └─repositories# 库存仓库实现
│      ├─domain			# 库存领域模型
│      │  ├─models		# 库存实体
│      │  └─repositories# 领域仓库接口
│      └─presentation	# 库存界面层
│          ├─screens	# 库存页面
│          └─widgets	# 库存组件
└─images				# 静态资源
    └─ico				# 弹窗图标文件

二次开发指南

app模块
  • lib/app/config/endpoints.yaml: 添加Http接口路径

  • lib/app/enum: 有需要则添加枚举

core模块
  • lib/core/api/clients/wms_api_client.dart: API客户端抽象类添加接口

  • lib/core/api/clients/impl/wms_v1_api_client.dart: 实现API客户端抽象类, 有需要则创建wms_v2_api_client.dart

  • lib/core/api/models/entries: 按需添加DTO实体类, 供请求体和响应体引用

  • lib/core/api/models/requests: 定义请求体

  • lib/core/api/models/responses: 定义响应体

  • lib/core/di/providers.dart: 依赖注入类, 添加生产者(每个页面一个生产者)

feature模块
  • lib/features/page/presentation/home.dart: 添加新页面的路由

  • lib/features/stock/business_logic/notifiers: 定义状态通知类(每个页面对应一个通知类)

  • lib/features/stock/data/repositories/stock_repository_impl.dart 库存业务仓库实现, 定义API接口的调用方式, 并进行领域实体模型的转换并将API接口返回值由DTO转换为领域实体模型

  • lib/features/stock/domain/models: 定义领域模型

  • lib/features/stock/domain/repositories/stock_repository.dart: 添加库存业务仓库抽象类接口

  • lib/features/stock/presentation/screens: 应用页面, 添加消费者(每个页面一个消费者)