feat: power claude templates
This commit is contained in:
3
.claude/commands/build-debug.md
Normal file
3
.claude/commands/build-debug.md
Normal file
@@ -0,0 +1,3 @@
|
|||||||
|
构建项目的 Debug 版本 APK
|
||||||
|
|
||||||
|
./gradlew assembleDebug
|
||||||
3
.claude/commands/build-release.md
Normal file
3
.claude/commands/build-release.md
Normal file
@@ -0,0 +1,3 @@
|
|||||||
|
构建项目的 Release 版本 APK (已签名)
|
||||||
|
|
||||||
|
./gradlew assembleRelease
|
||||||
6
.claude/commands/check-modules.md
Normal file
6
.claude/commands/check-modules.md
Normal file
@@ -0,0 +1,6 @@
|
|||||||
|
显示项目中所有模块的列表和基本信息
|
||||||
|
|
||||||
|
echo "=== 项目模块列表 ===" && \
|
||||||
|
cat settings.gradle | grep "include" && \
|
||||||
|
echo "\n=== 模块目录 ===" && \
|
||||||
|
ls -la | grep "^d" | grep "module_"
|
||||||
3
.claude/commands/clean-build.md
Normal file
3
.claude/commands/clean-build.md
Normal file
@@ -0,0 +1,3 @@
|
|||||||
|
清理构建缓存并重新构建 Debug 版本
|
||||||
|
|
||||||
|
./gradlew clean && ./gradlew assembleDebug
|
||||||
3
.claude/commands/devices.md
Normal file
3
.claude/commands/devices.md
Normal file
@@ -0,0 +1,3 @@
|
|||||||
|
列出所有已连接的 Android 设备和模拟器
|
||||||
|
|
||||||
|
adb devices -l
|
||||||
3
.claude/commands/install.md
Normal file
3
.claude/commands/install.md
Normal file
@@ -0,0 +1,3 @@
|
|||||||
|
构建并安装 Debug 版本到连接的 Android 设备或模拟器
|
||||||
|
|
||||||
|
./gradlew installDebug
|
||||||
3
.claude/commands/lint.md
Normal file
3
.claude/commands/lint.md
Normal file
@@ -0,0 +1,3 @@
|
|||||||
|
运行 Android Lint 代码质量检查
|
||||||
|
|
||||||
|
./gradlew lint
|
||||||
3
.claude/commands/logs.md
Normal file
3
.claude/commands/logs.md
Normal file
@@ -0,0 +1,3 @@
|
|||||||
|
实时查看应用日志 (过滤应用包名)
|
||||||
|
|
||||||
|
adb logcat | grep "com.lukouguoji.aerologic"
|
||||||
@@ -24,7 +24,14 @@
|
|||||||
"WebSearch",
|
"WebSearch",
|
||||||
"Bash(chmod:*)",
|
"Bash(chmod:*)",
|
||||||
"Bash(xargs ls:*)",
|
"Bash(xargs ls:*)",
|
||||||
"Bash(xargs rm -rf)"
|
"Bash(xargs rm -rf)",
|
||||||
|
"Bash(for module in module_gnc module_gnj module_gjc module_gjj module_hangban module_cargo module_mit module_p Printer MPChartLib)",
|
||||||
|
"Bash(do echo '=== $module ===' ls -la /Users/kid/Development/Fusion/Projects/aerologic-app/$module/)",
|
||||||
|
"Bash(git -C /Users/kid/Development/Fusion/Projects/aerologic-app log --oneline)",
|
||||||
|
"Bash(git -C /Users/kid/Development/Fusion/Projects/aerologic-app branch -a)",
|
||||||
|
"Bash(adb:*)",
|
||||||
|
"Bash(emulator:*)",
|
||||||
|
"Bash(logcat:*)"
|
||||||
],
|
],
|
||||||
"deny": [],
|
"deny": [],
|
||||||
"ask": []
|
"ask": []
|
||||||
|
|||||||
101
CHANGELOG.md
Normal file
101
CHANGELOG.md
Normal file
@@ -0,0 +1,101 @@
|
|||||||
|
# 版本变更日志 (Changelog)
|
||||||
|
|
||||||
|
本文档记录 AirLogistics 项目的所有重要变更。
|
||||||
|
|
||||||
|
格式基于 [Keep a Changelog](https://keepachangelog.com/zh-CN/1.0.0/),
|
||||||
|
版本号遵循 [语义化版本](https://semver.org/lang/zh-CN/)。
|
||||||
|
|
||||||
|
## [1.8.4] - 2024-12-02
|
||||||
|
|
||||||
|
### 新增 (Added)
|
||||||
|
- 完善 Claude Code 配置,添加 Android 开发权限
|
||||||
|
- 创建 8 个快捷命令 (/build-debug, /install, /logs 等)
|
||||||
|
- 定制 CLAUDE.md 为 Android 项目专用开发指南
|
||||||
|
- 添加 CONTRIBUTING.md 贡献指南文档
|
||||||
|
- 添加 CHANGELOG.md 版本变更日志
|
||||||
|
|
||||||
|
### 改进 (Changed)
|
||||||
|
- 优化首页菜单交互体验
|
||||||
|
- 改进 UI 界面显示效果
|
||||||
|
|
||||||
|
### 技术栈
|
||||||
|
- Kotlin 1.6.21
|
||||||
|
- Android Gradle Plugin 7.2.0
|
||||||
|
- Gradle 7.3.3
|
||||||
|
- minSdk 24, targetSdk 30, compileSdk 31
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## [1.8.x] - 之前版本
|
||||||
|
|
||||||
|
### 主要功能
|
||||||
|
- 国内出港业务模块 (货物收运、复磅称重、转运管理、出库装机)
|
||||||
|
- 国内进港业务模块 (舱单管理、卸机入库、出库提货、移库管理)
|
||||||
|
- 国际出港业务模块 (国际货物收运、板箱组装、ULD容器管理)
|
||||||
|
- 国际进港业务模块 (国际舱单管理、报文解析、理货管理)
|
||||||
|
- 航班管理模块 (航班查询、航班统计)
|
||||||
|
- 货物追踪模块 (货物状态追踪、运输日志)
|
||||||
|
- 监装监卸模块 (监装监卸管理)
|
||||||
|
- PDA功能模块 (PDA专用功能)
|
||||||
|
- 蓝牙打印模块 (佳博打印机集成)
|
||||||
|
|
||||||
|
### 核心架构
|
||||||
|
- MVVM 架构模式
|
||||||
|
- 组件化模块设计 (11个业务模块 + 1个基础库)
|
||||||
|
- DataBinding 双向绑定
|
||||||
|
- Kotlin Coroutines + Flow 异步处理
|
||||||
|
- ARouter 模块间通信
|
||||||
|
- Retrofit + OkHttp 网络请求
|
||||||
|
- Glide 图片加载
|
||||||
|
- MPAndroidChart 图表展示
|
||||||
|
|
||||||
|
### 开发基础设施
|
||||||
|
- BaseActivity/BaseBindingActivity 基类
|
||||||
|
- BaseViewModel/BasePageViewModel 基类
|
||||||
|
- CommonAdapter + BaseViewHolder 列表适配
|
||||||
|
- PadSearchLayout/PadDataLayout 自定义组件
|
||||||
|
- 完整的 Kotlin 扩展函数库
|
||||||
|
- DataBinding 适配器集合
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## 版本说明
|
||||||
|
|
||||||
|
### 版本号规则
|
||||||
|
- **Major.Minor.Patch** (例: 1.8.4)
|
||||||
|
- **Major**: 重大架构变更或不兼容的 API 修改
|
||||||
|
- **Minor**: 新功能添加,向下兼容
|
||||||
|
- **Patch**: Bug 修复和小的改进
|
||||||
|
|
||||||
|
### 变更类型
|
||||||
|
- **Added**: 新增功能
|
||||||
|
- **Changed**: 功能改进或变更
|
||||||
|
- **Deprecated**: 即将废弃的功能
|
||||||
|
- **Removed**: 已移除的功能
|
||||||
|
- **Fixed**: Bug 修复
|
||||||
|
- **Security**: 安全性修复
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## 未来计划
|
||||||
|
|
||||||
|
### 待开发功能
|
||||||
|
- [ ] 优化数据同步机制
|
||||||
|
- [ ] 增强离线模式支持
|
||||||
|
- [ ] 改进用户权限管理
|
||||||
|
- [ ] 优化蓝牙打印稳定性
|
||||||
|
- [ ] 添加数据导出功能
|
||||||
|
- [ ] 性能监控和分析
|
||||||
|
|
||||||
|
### 技术改进
|
||||||
|
- [ ] 升级到 Kotlin 2.0
|
||||||
|
- [ ] 迁移到 Jetpack Compose
|
||||||
|
- [ ] 优化构建速度
|
||||||
|
- [ ] 完善单元测试覆盖
|
||||||
|
- [ ] 添加 UI 自动化测试
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
**维护**: 本文档应在每次版本发布时更新。
|
||||||
|
**负责人**: 项目维护团队
|
||||||
|
**最后更新**: 2024-12-02
|
||||||
273
CONTRIBUTING.md
Normal file
273
CONTRIBUTING.md
Normal file
@@ -0,0 +1,273 @@
|
|||||||
|
# 贡献指南 (Contributing Guide)
|
||||||
|
|
||||||
|
感谢你对 AirLogistics 项目的关注!本文档将指导你如何参与项目开发。
|
||||||
|
|
||||||
|
## 开发环境搭建
|
||||||
|
|
||||||
|
### 前置要求
|
||||||
|
|
||||||
|
- **IDE**: Android Studio Arctic Fox (2020.3.1) 或更高版本
|
||||||
|
- **JDK**: JDK 1.8
|
||||||
|
- **Gradle**: 7.3.3 (使用项目内置的 Gradle Wrapper)
|
||||||
|
- **Kotlin**: 1.6.21 (已在项目中配置)
|
||||||
|
- **Android SDK**: API 24-31
|
||||||
|
|
||||||
|
### 克隆项目
|
||||||
|
|
||||||
|
```bash
|
||||||
|
git clone ssh://git@git.njcqit.com:2222/eric/aerologic-app.git
|
||||||
|
cd aerologic-app
|
||||||
|
```
|
||||||
|
|
||||||
|
### 配置 Android SDK
|
||||||
|
|
||||||
|
1. 创建 `local.properties` 文件 (如果不存在):
|
||||||
|
```properties
|
||||||
|
sdk.dir=/path/to/your/android/sdk
|
||||||
|
```
|
||||||
|
|
||||||
|
2. 在 Android Studio 中:
|
||||||
|
- 打开项目
|
||||||
|
- 等待 Gradle 同步完成
|
||||||
|
- 如提示 SDK 路径问题,在 Settings → Android SDK 中配置
|
||||||
|
|
||||||
|
### Gradle 依赖配置
|
||||||
|
|
||||||
|
项目已配置阿里云 Maven 镜像和私有仓库,正常情况下依赖会自动下载。
|
||||||
|
|
||||||
|
如遇依赖下载问题:
|
||||||
|
1. 下载 gradle-7.3.3-bin.zip
|
||||||
|
- 百度网盘: https://pan.baidu.com/s/18wsuGRlNxjMYbxLhBH9yeg
|
||||||
|
- 提取码: 1029
|
||||||
|
|
||||||
|
2. 配置 Gradle:
|
||||||
|
- Settings → Build, Execution, Deployment → Build Tools → Gradle
|
||||||
|
- 解压并替换到 "Gradle user home" 目录
|
||||||
|
|
||||||
|
## 项目构建
|
||||||
|
|
||||||
|
### 首次构建
|
||||||
|
|
||||||
|
```bash
|
||||||
|
# 清理并构建 Debug 版本
|
||||||
|
./gradlew clean assembleDebug
|
||||||
|
|
||||||
|
# 或使用快捷命令
|
||||||
|
/clean-build
|
||||||
|
```
|
||||||
|
|
||||||
|
### 常用构建命令
|
||||||
|
|
||||||
|
```bash
|
||||||
|
# 构建 Debug APK
|
||||||
|
./gradlew assembleDebug
|
||||||
|
# 或使用: /build-debug
|
||||||
|
|
||||||
|
# 构建 Release APK (已签名)
|
||||||
|
./gradlew assembleRelease
|
||||||
|
# 或使用: /build-release
|
||||||
|
|
||||||
|
# 安装到设备
|
||||||
|
./gradlew installDebug
|
||||||
|
# 或使用: /install
|
||||||
|
|
||||||
|
# 运行代码检查
|
||||||
|
./gradlew lint
|
||||||
|
# 或使用: /lint
|
||||||
|
|
||||||
|
# 查看已连接设备
|
||||||
|
adb devices -l
|
||||||
|
# 或使用: /devices
|
||||||
|
|
||||||
|
# 查看应用日志
|
||||||
|
adb logcat | grep "com.lukouguoji.aerologic"
|
||||||
|
# 或使用: /logs
|
||||||
|
```
|
||||||
|
|
||||||
|
### 组件化开发模式
|
||||||
|
|
||||||
|
项目支持模块独立运行,方便单模块调试:
|
||||||
|
|
||||||
|
1. 编辑 `gradle.properties`
|
||||||
|
2. 设置 `isBuildModule=true` (独立运行) 或 `false` (集成模式)
|
||||||
|
3. Sync 项目
|
||||||
|
4. 运行对应模块
|
||||||
|
|
||||||
|
**注意**: 切换模式后需要重新 Sync 项目。
|
||||||
|
|
||||||
|
## 分支策略
|
||||||
|
|
||||||
|
### 分支类型
|
||||||
|
|
||||||
|
- **main**: 主分支,用于发布稳定版本
|
||||||
|
- **feature/xxx**: 功能开发分支 (例: `feature/cargo-tracking`)
|
||||||
|
- **hotfix/xxx**: 紧急修复分支 (例: `hotfix/login-crash`)
|
||||||
|
- **refactor/xxx**: 重构分支 (例: `refactor/network-layer`)
|
||||||
|
|
||||||
|
### 分支命名规范
|
||||||
|
|
||||||
|
- 使用小写字母和连字符
|
||||||
|
- 功能分支: `feature/功能名称-简短描述`
|
||||||
|
- 修复分支: `hotfix/问题简述`
|
||||||
|
- 重构分支: `refactor/重构范围`
|
||||||
|
|
||||||
|
### 工作流程
|
||||||
|
|
||||||
|
1. 从 main 分支创建新分支:
|
||||||
|
```bash
|
||||||
|
git checkout main
|
||||||
|
git pull
|
||||||
|
git checkout -b feature/your-feature-name
|
||||||
|
```
|
||||||
|
|
||||||
|
2. 在新分支上开发并提交
|
||||||
|
|
||||||
|
3. 推送到远程仓库:
|
||||||
|
```bash
|
||||||
|
git push -u origin feature/your-feature-name
|
||||||
|
```
|
||||||
|
|
||||||
|
4. 创建 Pull Request,等待代码审查
|
||||||
|
|
||||||
|
## 提交规范
|
||||||
|
|
||||||
|
### Conventional Commits 格式
|
||||||
|
|
||||||
|
提交信息应遵循以下格式:
|
||||||
|
|
||||||
|
```
|
||||||
|
<类型>: <简短描述>
|
||||||
|
|
||||||
|
[可选的详细说明]
|
||||||
|
|
||||||
|
[可选的 footer]
|
||||||
|
```
|
||||||
|
|
||||||
|
### 提交类型
|
||||||
|
|
||||||
|
- **feat**: 新功能 (例: `feat: 添加国内出港货物复磅功能`)
|
||||||
|
- **fix**: Bug修复 (例: `fix: 修复登录页面崩溃问题`)
|
||||||
|
- **refactor**: 代码重构 (例: `refactor: 优化网络请求层架构`)
|
||||||
|
- **docs**: 文档更新 (例: `docs: 更新 README 安装说明`)
|
||||||
|
- **style**: 代码格式调整 (例: `style: 格式化 LoginActivity 代码`)
|
||||||
|
- **test**: 测试相关 (例: `test: 添加货物追踪单元测试`)
|
||||||
|
- **chore**: 构建/工具相关 (例: `chore: 升级 Kotlin 到 1.6.21`)
|
||||||
|
|
||||||
|
### 提交示例
|
||||||
|
|
||||||
|
```bash
|
||||||
|
# 好的提交信息
|
||||||
|
git commit -m "feat: 添加国际进港舱单管理功能"
|
||||||
|
git commit -m "fix: 修复蓝牙打印机连接失败问题"
|
||||||
|
git commit -m "refactor: 重构 BaseViewModel 生命周期管理"
|
||||||
|
|
||||||
|
# 不好的提交信息
|
||||||
|
git commit -m "update"
|
||||||
|
git commit -m "修改了一些文件"
|
||||||
|
git commit -m "功能完成"
|
||||||
|
```
|
||||||
|
|
||||||
|
## 代码审查流程
|
||||||
|
|
||||||
|
### 创建 Pull Request
|
||||||
|
|
||||||
|
1. 确保代码已推送到远程仓库
|
||||||
|
2. 在 Git 托管平台创建 Pull Request
|
||||||
|
3. 填写 PR 描述:
|
||||||
|
- 功能说明
|
||||||
|
- 变更内容
|
||||||
|
- 测试情况
|
||||||
|
- 相关 Issue (如有)
|
||||||
|
|
||||||
|
### 代码审查要点
|
||||||
|
|
||||||
|
审查者应关注:
|
||||||
|
- [ ] 代码是否符合项目架构和规范
|
||||||
|
- [ ] 是否使用了正确的基类 (BaseActivity, BaseViewModel等)
|
||||||
|
- [ ] DataBinding 和协程使用是否正确
|
||||||
|
- [ ] 命名是否清晰、符合约定
|
||||||
|
- [ ] 是否有明显的性能问题
|
||||||
|
- [ ] 是否有代码重复或可复用的逻辑
|
||||||
|
|
||||||
|
### 合并前检查清单
|
||||||
|
|
||||||
|
提交者在创建 PR 前应确保:
|
||||||
|
- [ ] 代码编译通过,无编译错误
|
||||||
|
- [ ] 遵循项目命名和文件组织规范
|
||||||
|
- [ ] 使用了项目提供的基类和工具类
|
||||||
|
- [ ] DataBinding 正确使用
|
||||||
|
- [ ] 协程和 Flow 使用规范
|
||||||
|
- [ ] 无明显的内存泄漏风险
|
||||||
|
- [ ] 已在真机或模拟器上测试
|
||||||
|
- [ ] 提交信息符合规范
|
||||||
|
|
||||||
|
## 开发注意事项
|
||||||
|
|
||||||
|
### 架构要求
|
||||||
|
|
||||||
|
1. **优先使用现有基类**
|
||||||
|
- Activity 继承 `BaseActivity` 或 `BaseBindingActivity`
|
||||||
|
- ViewModel 继承 `BaseViewModel` 或 `BasePageViewModel`
|
||||||
|
- 列表适配器使用 `CommonAdapter` + `BaseViewHolder`
|
||||||
|
|
||||||
|
2. **使用统一 UI 组件**
|
||||||
|
- 搜索输入: 使用 `PadSearchLayout`
|
||||||
|
- 数据展示: 使用 `PadDataLayout`
|
||||||
|
- 遵循全局样式规范 (colors, dimens, styles)
|
||||||
|
|
||||||
|
3. **网络请求规范**
|
||||||
|
- 使用 `launchCollect` 或 `launchLoadingCollect` 扩展函数
|
||||||
|
- API 定义在对应模块的 `api/` 目录下
|
||||||
|
- 数据模型继承 `BaseResultBean` 或 `BaseListBean`
|
||||||
|
|
||||||
|
### 代码风格
|
||||||
|
|
||||||
|
- 遵循 Kotlin 官方编码规范
|
||||||
|
- 使用有意义的变量名和函数名
|
||||||
|
- 避免过长的函数,单个函数不超过 50 行
|
||||||
|
- 复杂逻辑添加注释说明
|
||||||
|
|
||||||
|
### 安全要求
|
||||||
|
|
||||||
|
- **禁止提交敏感信息**:
|
||||||
|
- API密钥
|
||||||
|
- 密码
|
||||||
|
- Token
|
||||||
|
- 个人信息
|
||||||
|
- 签名文件 (key.jks 已在 .gitignore 中)
|
||||||
|
|
||||||
|
- **配置信息管理**:
|
||||||
|
- 服务器地址配置在 `module_base/res/values/strings.xml`
|
||||||
|
- 本地开发配置使用 `local.properties`
|
||||||
|
- 运行时配置使用 SharedPreferences
|
||||||
|
|
||||||
|
## 模块开发规范
|
||||||
|
|
||||||
|
### 新增业务页面
|
||||||
|
|
||||||
|
1. 在对应模块的 `ui/page/` 目录下创建 Activity
|
||||||
|
2. 在 `service/viewModel/` 目录下创建 ViewModel
|
||||||
|
3. 在 `bean/` 目录下定义数据模型
|
||||||
|
4. 布局文件使用 DataBinding
|
||||||
|
|
||||||
|
### 模块间通信
|
||||||
|
|
||||||
|
- 使用 ARouter 进行页面跳转
|
||||||
|
- 路由路径定义在 `module_base/router/` 目录
|
||||||
|
- 事件通信使用 FlowBus 或 EventBus
|
||||||
|
|
||||||
|
## 获取帮助
|
||||||
|
|
||||||
|
如有问题或建议,可以通过以下方式:
|
||||||
|
|
||||||
|
1. 查看项目文档:
|
||||||
|
- [CLAUDE.md](./CLAUDE.md) - 详细开发指南
|
||||||
|
- [README.md](./README.md) - 项目概览
|
||||||
|
|
||||||
|
2. 联系项目维护者
|
||||||
|
|
||||||
|
3. 提交 Issue (如果支持)
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
再次感谢你的贡献!🎉
|
||||||
Reference in New Issue
Block a user