Files
aitsc/example/项目结构文档.txt
renjianbo 8e750f5bee
Some checks failed
Flask 提示词大师 - CI/CD 流水线 / 代码质量检查 (push) Has been cancelled
Flask 提示词大师 - CI/CD 流水线 / 单元测试 (push) Has been cancelled
Flask 提示词大师 - CI/CD 流水线 / 集成测试 (push) Has been cancelled
Flask 提示词大师 - CI/CD 流水线 / 构建Docker镜像 (push) Has been cancelled
Flask 提示词大师 - CI/CD 流水线 / 部署到测试环境 (push) Has been cancelled
Flask 提示词大师 - CI/CD 流水线 / 部署到生产环境 (push) Has been cancelled
Flask 提示词大师 - CI/CD 流水线 / 部署监控系统 (push) Has been cancelled
aaa
2026-03-01 23:56:28 +08:00

602 lines
24 KiB
Plaintext
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# 项目结构文档
## 一、项目基本信息
### 1.1 项目概述
- **项目名称**: peizhen配真
- **应用包名**: com.ruilaizi.example
- **命名空间**: com.ruilaizi.example
- **项目类型**: Android 原生应用
- **开发语言**: Java
- **构建工具**: Gradle
- **Android Gradle Plugin 版本**: 8.7.3
### 1.2 应用配置
- **应用ID**: com.ruilaizi.example
- **版本号**: 101
- **版本名称**: 1.0.1
- **最低SDK版本**: 26 (Android 8.0)
- **目标SDK版本**: 34 (Android 14)
- **编译SDK版本**: 34
- **构建工具版本**: 30.0.2
- **支持多Dex**: 是
### 1.3 签名配置
- **签名文件1**: july.jks
- **签名文件2**: ruilaizi.jks
## 二、项目模块结构
### 2.1 主模块 (app)
- **类型**: Android Application
- **功能**: 主应用模块包含所有业务逻辑和UI
### 2.2 基础库模块 (baselibs)
- **类型**: Android Library
- **命名空间**: com.ruilaizi.baselibs
- **状态**: 已配置但未在主模块中引用(已注释)
- **功能**: 基础工具库(目前为空)
### 2.3 城市选择器模块 (citypicker)
- **类型**: Android Library
- **命名空间**: com.zaaach.citypicker
- **状态**: 已移除在settings.gradle中已注释避免D8编译问题
- **功能**: 城市选择器组件
## 三、项目目录结构
```
peizhen/
├── app/ # 主应用模块
│ ├── build/ # 构建输出目录
│ ├── libs/ # 本地JAR库
│ ├── release/ # Release版本APK输出目录
│ ├── src/ # 源代码目录
│ │ ├── main/ # 主源代码
│ │ │ ├── assets/ # 资源文件JSON、HTML等
│ │ │ ├── java/ # Java源代码
│ │ │ ├── res/ # 资源文件(布局、图片、字符串等)
│ │ │ └── AndroidManifest.xml
│ │ └── test/ # 测试代码
│ ├── build.gradle # 应用构建配置
│ ├── proguard-rules.pro # ProGuard混淆规则
│ ├── july.jks # 签名文件1
│ └── ruilaizi.jks # 签名文件2
├── baselibs/ # 基础库模块
│ ├── src/
│ │ └── main/
│ │ ├── java/ # 基础库Java代码
│ │ ├── res/ # 基础库资源
│ │ └── AndroidManifest.xml
│ ├── build.gradle # 库构建配置
│ └── proguard-rules.pro # 混淆规则
├── citypicker/ # 城市选择器模块(已移除)
│ ├── src/
│ ├── build.gradle
│ └── proguard-rules.pro
├── gradle/ # Gradle配置
│ └── wrapper/ # Gradle Wrapper
│ ├── gradle-wrapper.jar
│ └── gradle-wrapper.properties
├── build.gradle # 项目级构建配置
├── settings.gradle # 项目设置(模块配置)
├── gradle.properties # Gradle属性配置
├── gradlew # Gradle Wrapper脚本Unix
├── gradlew.bat # Gradle Wrapper脚本Windows
├── local.properties # 本地配置SDK路径等
└── peizhen.iml # IntelliJ IDEA项目文件
```
## 四、Java代码包结构
### 4.1 主包结构 (com.ruilaizi.example)
```
com.ruilaizi.example/
├── base/ # 基础类
│ ├── BaseActivity.java # Activity基类
│ ├── BaseFragment.java # Fragment基类
│ ├── BasetwoFragment.java # Fragment基类2
│ ├── BaseTreeActivity.java # 树形Activity基类
│ ├── BaseTreeFragment.java # 树形Fragment基类
│ ├── BaseTreeView.java # 树形视图基类
│ ├── BaseModel.java # Model基类
│ ├── BaseBean.java # Bean基类
│ ├── BaseRecycleAdapter.java # RecyclerView适配器基类
│ └── BaseViewHolder.java # ViewHolder基类
├── BaseApplication.java # Application入口类
├── common/ # 公共类
│ └── Constants.java # 常量定义
├── db/ # 数据库相关
│ ├── dao/ # 数据访问对象
│ │ ├── DataBaseHelper.java # 数据库帮助类
│ │ ├── addCustomerDao.java # 客户数据访问
│ │ └── DbRecordDao.java # 记录数据访问
│ ├── DbBean.java # 数据库Bean
│ └── DbRecordBeanData.java # 记录数据Bean
├── dialog/ # 对话框相关
│ ├── BaseDialog.java # 对话框基类
│ ├── BaseTipsDialog.java # 提示对话框
│ ├── LoadingDialog.java # 加载对话框
│ ├── MyDialog.java # 自定义对话框
│ ├── HomeShopDialog.java # 首页商店对话框
│ └── ...
├── main/ # 主要业务模块
│ ├── activity/ # Activity页面
│ │ ├── SplashActivity.java # 启动页(主入口)
│ │ ├── MainActivity.java # 主页面
│ │ ├── Main2Activity.java # 主页面2
│ │ ├── LoginPasswordActivity.java # 密码登录页
│ │ ├── NewCodeLoginActivity.java # 验证码登录页
│ │ ├── ForgetPasActivity.java # 忘记密码页
│ │ ├── ModifyPasActivity.java # 修改密码页
│ │ ├── OrderActivity.java # 订单页
│ │ ├── mingXiActivity.java # 明细页
│ │ ├── common/ # 公共组件
│ │ │ ├── databus/ # 数据总线
│ │ │ ├── http/ # HTTP请求
│ │ │ ├── storage/ # 存储工具
│ │ │ └── util/ # 工具类
│ │ ├── mine/ # 我的模块
│ │ │ ├── MessageNoticeActivity.java # 消息通知
│ │ │ └── InboundHistoryActivity.java # 入库历史
│ │ └── mvp/ # MVP架构
│ │ ├── contract/ # 契约接口
│ │ ├── model/ # 数据模型
│ │ └── presenterImpl/ # presenter实现
│ │
│ ├── kehu/ # 客户模块
│ │ ├── activity/ # 客户相关Activity16个
│ │ │ ├── AddCustomerActivity.java # 添加客户
│ │ │ ├── CustomerDetailActivity.java # 客户详情
│ │ │ ├── FpOrderInfoActivity.java # 订单信息
│ │ │ ├── AllocationActivity.java # 分配
│ │ │ ├── SearchActivity.java # 搜索
│ │ │ ├── DesignActivity.java # 设计
│ │ │ ├── StyleActivity.java # 风格
│ │ │ ├── BudgetActivity.java # 预算
│ │ │ └── ...
│ │ ├── adapter/ # 适配器11个
│ │ ├── Bean/ # 数据Bean26个
│ │ ├── Dialog/ # 对话框5个
│ │ ├── fragment/ # Fragment11个
│ │ └── KehuinfoBean.java # 客户信息Bean
│ │
│ ├── my/ # 我的模块
│ │ ├── activity/ # 我的相关Activity15个
│ │ │ ├── MyInfoActivity.java # 我的信息
│ │ │ ├── SettingActivity.java # 设置
│ │ │ ├── PersonalProfileActivity.java # 个人资料
│ │ │ ├── ShimingActivity.java # 实名
│ │ │ ├── HongBaoActivity.java # 红包
│ │ │ ├── ConfirmOrderActivity.java # 确认订单
│ │ │ ├── TwoWayActivity.java # 双向
│ │ │ ├── ListActivity.java # 列表
│ │ │ ├── refuseActivity.java # 拒绝
│ │ │ └── ...
│ │ ├── adapter/ # 适配器8个
│ │ ├── entity/ # 实体类22个
│ │ ├── fragment/ # Fragment6个
│ │ ├── mvp/ # MVP架构3个文件
│ │ └── MyFragment.java # 我的Fragment
│ │
│ ├── find/ # 发现模块
│ │ ├── adapter/ # 适配器16个
│ │ ├── entity/ # 实体类13个
│ │ ├── mvp/ # MVP架构
│ │ │ ├── contract/ # 契约接口2个
│ │ │ ├── model/ # 数据模型1个
│ │ │ └── presenter/ # presenter1个
│ │ ├── ui/ # UI组件3个
│ │ ├── CommentActivity.java # 评论页
│ │ ├── ConversationActivity.java # 会话页
│ │ ├── PriLetFragment.java # 私信Fragment
│ │ ├── QuestionsFragment.java # 问题Fragment
│ │ └── OnSatisfactionListener.java
│ │
│ └── task/ # 任务模块
│ ├── HomeFragment.java # 首页Fragment
│ ├── ViewHolderOne.java # ViewHolder 1
│ ├── ViewHolderTwo.java # ViewHolder 2
│ ├── ViewHolderThree.java # ViewHolder 3
│ ├── ViewHolderFour.java # ViewHolder 4
│ ├── ViewHolderFive.java # ViewHolder 5
│ └── ViewHolderSix.java # ViewHolder 6
├── network/ # 网络请求
│ ├── ApiCallBack.java # API回调
│ ├── ApiUtils.java # API工具
│ ├── http/ # HTTP相关
│ │ ├── ApiUtils.java
│ │ ├── MyApi.java
│ │ ├── ResponseBean.java
│ │ ├── ResponseBeanx.java
│ │ ├── LifeTreeAPIException.java
│ │ └── LifeTreeConverterFactory.java
│ ├── LifeTreeAPIException.java
│ ├── LifeTreeConverterFactory.java
│ └── WeChatApi.java # 微信API
├── okgonet/ # OkGo网络库封装
│ ├── Func1.java
│ ├── HttpConstants.java # HTTP常量
│ ├── NetApi.java # 网络API
│ ├── Observable.java
│ └── Observer.java
├── utils/ # 工具类
│ ├── AbImageUtil.java # 图片工具
│ ├── AbStrUtil.java # 字符串工具
│ ├── BaseAdapter.java # 适配器基类
│ ├── CloseUtils.java # 关闭工具
│ ├── DensityUtil.java # 密度工具
│ ├── FileIOUtils.java # 文件IO工具
│ ├── FileUtils.java # 文件工具
│ ├── GetJsonDataUtil.java # JSON数据获取工具
│ ├── GlideTools.java # Glide图片加载工具
│ ├── ImageUtils.java # 图片工具
│ ├── JsonUtils.java # JSON工具
│ ├── JumpUtils.java # 跳转工具
│ ├── LocatData.java # 定位数据
│ ├── NetUtils.java # 网络工具
│ ├── PhonenNumUtil.java # 电话号码工具
│ ├── SharedTools.java # SharedPreferences工具
│ ├── SPUtils.java # SharedPreferences工具
│ ├── SpaceItemDecoration.java # RecyclerView间距装饰
│ ├── StatusBarUtil.java # 状态栏工具
│ ├── StringUtils.java # 字符串工具
│ ├── ToastUtils.java # Toast工具
│ ├── ToolsText.java # 文本工具
│ ├── ToolsUtils.java # 工具类
│ ├── UiUtils.java # UI工具
│ ├── Utils.java # 通用工具
│ ├── VerificationUtils.java # 验证工具
│ ├── WebViewJavaScriptFunction.java # WebView JS交互
│ ├── WidgetTools.java # 控件工具
│ ├── X5WebView.java # X5 WebView
│ └── checkVersionsUtils/ # 版本检查工具
│ └── ProfileSpUtils.java # 用户资料存储工具
├── view/ # 自定义视图
│ ├── DynamicWave.java # 动态波浪
│ ├── HeadZoomScrollView.java # 头部缩放滚动视图
│ ├── MyScrollView.java # 自定义滚动视图
│ ├── StatusBarView.java # 状态栏视图
│ └── webview/ # WebView相关
│ └── XfiveWebActivity.java # X5 WebView Activity
├── widget/ # 自定义控件
│ ├── CircleImageView.java # 圆形图片视图
│ ├── ItemProView.java # 项目视图
│ ├── ItemView.java # 项目视图
│ ├── ListViewForScrollView.java # 可滚动ListView
│ ├── PastEditText.java # 自定义EditText
│ ├── TagView.java # 标签视图
│ └── TitleBar.java # 标题栏
└── wxapi/ # 微信API
├── WXEntryActivity.java # 微信入口Activity
└── WXPayEntryActivity.java # 微信支付入口Activity
```
### 4.2 代码统计
- **Java文件总数**: 296个
- **主要业务模块**:
- 客户模块 (kehu): 约70+个文件
- 我的模块 (my): 约60+个文件
- 发现模块 (find): 约35+个文件
- 任务模块 (task): 7个文件
## 五、资源文件结构
### 5.1 资源目录 (app/src/main/res/)
```
res/
├── anim/ # 动画资源10个XML文件
│ ├── dialog_dismiss.xml
│ ├── dialog_in_anim.xml
│ ├── dialog_out_anim.xml
│ ├── dialog_show.xml
│ ├── push_bottom_in2.xml
│ ├── push_bottom_out2.xml
│ ├── scale_in.xml
│ ├── scale_out.xml
│ ├── slide_in_bottom.xml
│ └── slide_out_bottom.xml
├── color/ # 颜色资源3个XML文件
│ ├── color_selector_text_goods_classify.xml
│ ├── color_selector_text_send_code.xml
│ └── selector_tag_text.xml
├── drawable/ # 可绘制资源约60个XML/PNG文件
│ ├── 各种背景、形状、选择器XML文件
│ └── 图标PNG文件
├── drawable-hdpi/ # 高密度图标
├── drawable-mdpi/ # 中等密度图标
├── drawable-xhdpi/ # 超高密度图标和资源
├── drawable-xxhdpi/ # 超超高密度图标
├── drawable-xxxhdpi/ # 超超超高密度图标
├── layout/ # 布局文件133个XML文件
├── mipmap-*/ # 应用图标(多密度)
│ ├── mipmap-hdpi/ # 66个文件65 PNG + 1 JPG
│ ├── mipmap-mdpi/ # 67个文件66 PNG + 1 JPG
│ ├── mipmap-xhdpi/ # 89个文件87 PNG + 2 JPG
│ ├── mipmap-xxhdpi/ # 132个文件126 PNG + 5 JPG + 1 GIF
│ └── mipmap-xxxhdpi/ # 77个文件74 PNG + 3 JPG
├── values/ # 值资源5个XML文件
│ ├── strings.xml # 字符串资源
│ ├── styles.xml # 样式资源
│ ├── colors.xml # 颜色值
│ ├── dimens.xml # 尺寸值
│ └── themes.xml # 主题
├── values-en/ # 英文值资源1个XML文件
├── values-v15/ # API 15+值资源
├── values-w820dp/ # 平板值资源
└── xml/ # XML配置文件2个文件
├── network_security_config.xml # 网络安全配置
└── file_paths_public.xml # FileProvider路径配置
```
### 5.2 资源统计
- **布局文件**: 133个
- **图片资源**: 434个PNG + 12个JPG + 1个GIF
- **动画资源**: 10个
- **颜色资源**: 3个
- **可绘制资源**: 约60个
### 5.3 Assets资源 (app/src/main/assets/)
```
assets/
├── city.json # 城市数据
├── customerList.json # 客户列表数据
├── dede.json # 数据文件
├── edsf.json # 数据文件
├── fpList.json # 列表数据
├── fpOrderInfo.json # 订单信息数据
├── jiazaidonghua.json # 加载动画数据
├── logingpwd.json # 登录密码数据
├── orderList.json # 订单列表数据
├── privacy.html # 隐私政策HTML
├── privateList.json # 私有列表数据
├── province.json # 省份数据
├── ssssd.json # 数据文件
└── yunweixin.json # 运维微信数据
```
## 六、第三方依赖库
### 6.1 网络请求库
- **Retrofit**: 2.4.0HTTP客户端
- **OkHttp**: 3.5.0通过Retrofit
- **OkGo**: 3.0.4(网络请求框架)
- **OkRx2**: 2.0.2RxJava2适配
- **OkServer**: 2.0.5(下载管理)
### 6.2 响应式编程
- **RxJava**: 1.0.14(旧版本)
- **RxJava2**: 2.2.6(新版本)
- **RxAndroid**: 1.1.0(旧版本)
- **RxAndroid2**: 2.1.1(新版本)
- **RxBinding**: 2.1.1响应式UI绑定
- **RxPermissions**: 0.10.2(权限处理)
### 6.3 UI组件库
- **AndroidX AppCompat**: 1.0.0
- **AndroidX Material**: 1.0.0
- **AndroidX ConstraintLayout**: 1.1.3
- **AndroidX RecyclerView**: 1.0.0
- **XRecyclerView**: 1.3.2(下拉刷新)
- **BaseRecyclerViewAdapterHelper**: 2.9.30RecyclerView适配器
- **ImmersionBar**: 3.0.0(沉浸式状态栏)
- **Lottie**: 3.4.0(动画库)
- **BannerView**: 1.0(轮播图)
- **AutoVerticalTextview**: 0.1(垂直滚动文本)
### 6.4 图片处理
- **Glide**: 4.9.0(图片加载)
- **Picasso**: 2.5.2(图片加载)
- **Luban**: 1.1.8(图片压缩)
- **Matisse**: 0.5.3-beta3图片选择器
### 6.5 数据解析
- **Gson**: 2.7JSON解析
- **Fastjson**: 1.1.43.android本地JAR
- **Jsoup**: 1.10.1HTML解析
### 6.6 数据库
- **OrmLite**: 5.1ORM数据库框架
### 6.7 其他功能库
- **ZXing**: 3.3.0(二维码扫描)
- **SystemBarTint**: 1.0.4(状态栏颜色)
- **EventBus**: 2.4.0本地JAR事件总线
- **Android-PickerView**: 4.1.9(三级联动选择器)
- **VerificationCodeInput**: 1.5(验证码输入)
- **EasyPermissions**: 1.2.0(权限处理)
- **Lifecycle Extensions**: 2.0.0(生命周期扩展)
- **MVP**: 3.0.0-alpha4Hannesdorfmann MVP框架
### 6.8 微信SDK本地JAR
- **wechat-sdk-android-without-mta**: 1.0.2
- **ShareSDK-Wechat-Core**: 2.8.3
- **tbs_sdk_thirdapp**: 3.2.0.1104(腾讯浏览服务)
### 6.9 地图定位
- **高德地图定位SDK**: latest.integration
## 七、项目架构
### 7.1 架构模式
- **MVP模式**: 部分模块使用MVP架构main/activity/mvp、main/find/mvp、main/my/mvp
- **MVC模式**: 部分模块使用传统MVC模式
- **DataBinding**: 启用数据绑定enabled=true
### 7.2 主要设计模式
- **基类模式**: BaseActivity、BaseFragment等基类
- **适配器模式**: BaseRecycleAdapter等
- **观察者模式**: RxJava响应式编程
- **单例模式**: BaseApplication等
### 7.3 数据存储
- **SharedPreferences**: ProfileSpUtils、SPUtils、SharedTools
- **数据库**: OrmLiteDataBaseHelper
- **文件存储**: FileUtils、FileIOUtils
### 7.4 网络架构
- **Retrofit + RxJava**: 主要网络请求方式
- **OkGo**: 辅助网络请求框架
- **统一异常处理**: LifeTreeAPIException、LifeTreeConverterFactory
## 八、应用入口和主要流程
### 8.1 应用入口
- **Application**: BaseApplication
- **启动Activity**: SplashActivity启动页
- **主Activity**: MainActivity主页面
### 8.2 主要功能模块
1. **登录模块**
- SplashActivity启动页
- NewCodeLoginActivity验证码登录
- LoginPasswordActivity密码登录
- ForgetPasActivity忘记密码
2. **主功能模块**
- MainActivity主页面包含多个Fragment
- HomeFragment首页
- MyFragment我的
- TraceFragment追踪
3. **客户管理模块** (kehu)
- 客户列表、添加客户、客户详情
- 订单管理、分配、搜索等
4. **我的模块** (my)
- 个人信息、设置、订单管理
- 实名认证、红包等
5. **发现模块** (find)
- 会话、评论、私信等社交功能
## 九、构建配置
### 9.1 Gradle配置
- **Gradle版本**: 通过gradle-wrapper.properties配置
- **Android Gradle Plugin**: 8.7.3
- **Java版本**: 1.8sourceCompatibility、targetCompatibility
- **构建工具版本**: 30.0.2
### 9.2 构建类型
- **Debug**: 开发调试版本
- **Release**: 发布版本代码混淆minifyEnabled false
### 9.3 代码混淆
- **ProGuard规则文件**: app/proguard-rules.pro
- **当前状态**: Release版本未启用混淆minifyEnabled false
### 9.4 仓库配置
- **阿里云Maven镜像**: 主要使用阿里云镜像加速
- **JitPack**: 用于GitHub项目依赖
- **Google Maven**: Google官方仓库
- **JCenter**: 备用仓库
## 十、特殊配置
### 10.1 权限配置
应用申请了以下主要权限:
- 网络权限INTERNET、ACCESS_NETWORK_STATE
- 存储权限READ_EXTERNAL_STORAGE、WRITE_EXTERNAL_STORAGE
- 定位权限ACCESS_COARSE_LOCATION、ACCESS_FINE_LOCATION
- 相机权限CAMERA
- 录音权限RECORD_AUDIO
- 电话权限CALL_PHONE、READ_PHONE_STATE
- 联系人权限READ_CONTACTS
- 悬浮窗权限SYSTEM_ALERT_WINDOW
- 安装权限REQUEST_INSTALL_PACKAGES
### 10.2 功能特性
- **多Dex支持**: 启用突破65535方法数限制
- **DataBinding**: 启用
- **网络安全配置**: network_security_config.xml
- **FileProvider**: 文件共享提供者
- **微信集成**: 微信登录、支付、分享
### 10.3 已知问题
- **citypicker模块**: 已移除避免D8编译问题
- **baselibs模块**: 已配置但未使用
- **签名配置重复**: build.gradle中存在两个signingConfigs配置
## 十一、项目特点
### 11.1 技术特点
- 使用AndroidX库
- 支持DataBinding数据绑定
- 响应式编程RxJava
- MVP架构模式
- 多模块化设计(虽然部分模块未使用)
### 11.2 业务特点
- 客户管理系统
- 订单管理系统
- 社交功能(发现模块)
- 个人中心
- 微信集成(登录、支付、分享)
### 11.3 开发特点
- 代码量较大296个Java文件
- 资源文件丰富679个资源文件
- 使用多种第三方库
- 本地JAR库较多4个
## 十二、文件统计
### 12.1 代码文件
- **Java文件**: 296个
- **XML布局文件**: 133个
- **资源XML文件**: 约100+个
### 12.2 资源文件
- **PNG图片**: 434个
- **JPG图片**: 12个
- **GIF图片**: 1个
- **JSON数据文件**: 13个
- **HTML文件**: 1个
### 12.3 配置文件
- **Gradle文件**: 4个build.gradle × 3 + settings.gradle
- **ProGuard规则**: 3个
- **签名文件**: 2个.jks
---
## 文档说明
**生成时间**: 2025年1月
**项目路径**: D:\androidPj\peizhen
**文档版本**: 1.0
**注意事项**:
1. 本文档基于当前项目结构生成
2. 部分模块可能已移除或未使用如citypicker、baselibs
3. 文件数量为统计值,实际可能略有差异
4. 建议定期更新本文档以保持准确性