From ecbe7d9a5c532f8da608d6053755c5775cb1aa00 Mon Sep 17 00:00:00 2001 From: YANG JIANKUAN Date: Fri, 10 Apr 2026 20:44:01 +0800 Subject: [PATCH] feat: improve claude --- CLAUDE.md | 51 ++++++++++++++++++++++++++++++++++++++++++++++++++- 1 file changed, 50 insertions(+), 1 deletion(-) diff --git a/CLAUDE.md b/CLAUDE.md index 6bb9ef7..24d0b81 100644 --- a/CLAUDE.md +++ b/CLAUDE.md @@ -687,6 +687,8 @@ fun resetClick() { 基于 `BaseDialogModel`(XPopup 封装),支持 5 种弹窗类型。 +> ⚠️ **强制规则**:所有二次确认弹框**必须**使用 `ConfirmDialogModel`(`com.lukouguoji.module_base.model.ConfirmDialogModel`),**禁止**使用系统 `AlertDialog`。 + ### 基础模板 ```kotlin @@ -812,6 +814,25 @@ adb logcat | grep "com.lukouguoji.aerologic" # 日志 `completeSpace="@{5}"` 设置 Key 文本宽度(以"一"字宽度为单位),用于 Key-Value 布局对齐。 +### AutoQuery 自动查询(PadSearchLayout / PadDataLayoutNew) + +两个组件均支持输入时自动联想查询,只需在 XML 添加属性,无需修改 Kotlin: + +```xml + +``` + +- 1条结果 → 直接填充;多条结果 → 弹出选择列表;0条结果 → 无处理 +- 通用 API 方法:`Api.getWbNoList(@Url url, @Body data)` 返回 `BaseResultBean>` +- 关键文件:`module_base/.../ui/weight/data/layout/AutoQueryManager.kt` + --- ## Import 路径速查 @@ -838,7 +859,20 @@ adb logcat | grep "com.lukouguoji.aerologic" # 日志 ### 扩展函数(均在 `com.lukouguoji.module_base.ktx` 包下) -`launchCollect`、`launchLoadingCollect`、`showToast`、`toRequestBody`、`verifyNullOrEmpty`、`noNull`、`formatDate` +`launchCollect`、`launchLoadingCollect`、`showToast`、`toRequestBody`、`verifyNullOrEmpty`、`noNull`、`formatDate`、`setUpperCaseAlphanumericFilter` + +### 工具类 + +| 类 | 正确路径 | +|----|----------| +| `DictUtils` | `com.lukouguoji.module_base.util.DictUtils` | +| `MediaUtil` | `com.lukouguoji.module_base.util.MediaUtil` | +| `UploadUtil` | `com.lukouguoji.module_base.util.UploadUtil` | +| `KeyValue` | `dev.utils.app.info.KeyValue` | +| `DateUtils` | `dev.utils.common.DateUtils` | +| `SharedPreferenceUtil` | `com.lukouguoji.module_base.db.perference.SharedPreferenceUtil` | +| `ScanModel` | `com.lukouguoji.module_base.model.ScanModel` | +| `ConfirmDialogModel` | `com.lukouguoji.module_base.model.ConfirmDialogModel` | --- @@ -956,6 +990,21 @@ companion object { } ``` +### API 接口目录对应规则 + +为某页面查找接口时,**必须按业务路径匹配对应 API 目录**,不能跨模块借用。 + +| API 前缀 | 所属模块 | +|----------|---------| +| `IntImpManiFest/` | 国际进港-进港舱单(增删改查) | +| `IntImpAirManifest/` | 国际进港-原始舱单(申报、补充信息等) | + +不同前缀代表不同业务,即使功能语义相似(如"更新"),也不能混用。不确定时询问用户。 + +### 页面定位规则 + +修改代码前,必须确认目标文件是**首页菜单实际跳转到的 Activity/ViewModel**,而非同名旧版文件。同一业务有多个实现时,以首页菜单入口链路为准。 + --- ## 图片上传与展示规范