# 文件命名规范重构方案

## 命名规范（最终版）

- **base-core 层接口**：`IShareService` → `IShare`、`IPushService` → `IPush`（去掉 Service，保持 I 前缀）
- **capability 层接口**（能力暴露给外部）：`ShareService` → `IShare`、`PushService` → `IPush`、`BLEService` → `IBLE`、`NFCService` → `INFC`、`SocketIOService` → `ISocketIO`
- **实现类**：`*ServiceImpl` → `*Impl`（例如 `ShareServiceImpl` → `ShareImpl`）
- **能力入口 / Kit**：`ShareServiceFactory` → `ShareKit`、`PushServiceFactory` → `PushKit`、`BLEServiceFactory` → `BLEKit`、`SocketIOServiceFactory` → `SocketIOKit`（统一用 `*Kit` 做对外入口）
- **回调实现**：`*CallbackImpl` → `*Callback`（去掉 Impl，例如 `ShareCallbackImpl` → `ShareCallback`）

## 完整文件树形结构图

```
xdz_android/
├── app/src/main/java/com/narutohuo/xindazhou/
│   ├── auth/
│   │   ├── AuthManager.kt                ✅ 保持
│   │   ├── datasource/
│   │   │   ├── local/
│   │   │   │   ├── AuthLocalDataSource.kt           ✅ 保持
│   │   │   │   └── AuthLocalDataSourceImpl.kt       ✅ 保持
│   │   │   └── remote/
│   │   │       ├── AuthApi.kt                        ✅ 保持
│   │   │       └── AuthRemoteDataSource.kt           ✅ 保持
│   │   ├── model/
│   │   │   ├── LoginRequest.kt                      ✅ 保持
│   │   │   ├── LoginResponse.kt                     ✅ 保持
│   │   │   └── RegisterRequest.kt                   ✅ 保持
│   │   ├── repository/
│   │   │   └── AuthRepository.kt                     ✅ 保持
│   │   ├── storage/
│   │   │   └── TokenStore.kt                        ✅ 保持
│   │   └── ui/
│   │       ├── login/
│   │       │   └── LoginActivity.kt                 ✅ 保持
│   │       ├── register/
│   │       │   └── RegisterActivity.kt              ✅ 保持
│   │       └── viewmodel/
│   │           ├── LoginState.kt                     ✅ 保持
│   │           ├── LoginViewModel.kt                 ✅ 保持
│   │           ├── LoginViewModelFactory.kt          ✅ 保持
│   │           ├── RegisterState.kt                 ✅ 保持
│   │           ├── RegisterViewModel.kt             ✅ 保持
│   │           └── RegisterViewModelFactory.kt      ✅ 保持
│   ├── community/                                    ✅ 保持
│   ├── launch/
│   │   └── AppInitializer.kt                        ✅ 保持
│   ├── MainActivity.kt                               ✅ 保持
│   ├── MainFragment.kt                               ✅ 保持
│   ├── service/                                      ✅ 保持
│   ├── shop/                                         ✅ 保持
│   ├── user/
│   │   └── ui/
│   │       ├── UserActivity.kt                       ✅ 保持
│   │       └── viewmodel/
│   │           ├── UserViewModel.kt                  ✅ 保持
│   │           └── UserViewModelFactory.kt           ✅ 保持
│   ├── vehicle/                                      ✅ 保持
│   └── XinDaZhouApplication.kt                       ✅ 保持
│
├── base-common/src/main/java/com/narutohuo/xindazhou/common/
│   ├── config/
│   │   ├── ConfigManager.kt                          ✅ 保持
│   │   └── ServerConfigManager.kt                    ✅ 保持
│   ├── crash/
│   │   └── CrashHelper.kt                          ✅ 保持
│   ├── dialog/
│   │   ├── CascadePickerDialog.kt                   ✅ 保持
│   │   ├── DialogHelper.kt                         ✅ 保持
│   │   └── ServerConfigDialog.kt                     ✅ 保持
│   ├── executor/
│   │   └── ExecutorManager.kt                       ✅ 保持
│   ├── image/
│   │   └── ImageLoadHelper.kt                       ✅ 保持
│   ├── launch/
│   │   ├── AppLaunchManager.kt                      ✅ 保持
│   │   ├── model/
│   │   │   └── OnboardingItem.kt                    ✅ 保持
│   │   ├── NavigationCallback.kt                    ✅ 保持
│   │   ├── OnboardingManager.kt                     ✅ 保持
│   │   └── ui/
│   │       └── OnboardingFragment.kt                 ✅ 保持
│   ├── network/
│   │   ├── adapter/
│   │   │   └── ApiResponseCallAdapterFactory.kt     ✅ 保持
│   │   ├── ApiBaseRemoteDataSource.kt               ✅ 保持
│   │   ├── ApiBaseRepository.kt                     ✅ 保持
│   │   ├── ApiManager.kt                            ✅ 保持
│   │   ├── ApiResponseParser.kt                     ✅ 保持
│   │   ├── exception/
│   │   │   ├── ApiException.kt                      ✅ 保持
│   │   │   └── ExceptionHandle.kt                    ✅ 保持
│   │   ├── interceptor/
│   │   │   ├── HeaderInterceptor.kt                 ✅ 保持
│   │   │   └── TokenRefreshInterceptor.kt           ✅ 保持
│   │   ├── NetworkManager.kt                         ✅ 保持
│   │   ├── operator/
│   │   │   ├── ApiResponseOperator.kt                ✅ 保持
│   │   │   ├── GlobalApiOperator.kt                  ✅ 保持
│   │   │   └── RetryOperator.kt                     ✅ 保持
│   │   ├── response/
│   │   │   ├── ApiResponse.kt                        ✅ 保持
│   │   │   └── ApiResponseExtensions.kt              ✅ 保持
│   │   └── SANDWICH_COMPARISON_CORRECTED.md         ✅ 保持
│   ├── networkrx/
│   │   ├── ApiDisposableObserver.kt                 ✅ 保持
│   │   ├── cookie/
│   │   │   ├── CookieJarImpl.kt                      ✅ 保持
│   │   │   ├── CookieStore.kt                        ✅ 保持
│   │   │   ├── MemoryCookieStore.kt                  ✅ 保持
│   │   │   └── SPCookieStore.kt                      ✅ 保持
│   │   ├── download/
│   │   │   └── DownloadManager.kt                    ✅ 保持
│   │   ├── interceptor/
│   │   │   ├── HeaderInterceptor.kt                 ✅ 保持
│   │   │   └── TokenRefreshInterceptor.kt           ✅ 保持
│   │   ├── NetworkManager.kt                         ✅ 保持
│   │   ├── NetworkUtil.kt                            ✅ 保持
│   │   ├── ResponseThrowable.kt                      ✅ 保持
│   │   ├── RxApiResponse.kt                         ✅ 保持
│   │   ├── RxApiResponseTransformer.kt              ✅ 保持
│   │   └── RxExceptionHandler.kt                     ✅ 保持
│   ├── router/
│   │   └── RouterHelper.kt                          ✅ 保持
│   ├── storage/
│   │   └── StorageManager.kt                         ✅ 保持
│   ├── ui/
│   │   ├── ActivityExtensions.kt                    ✅ 保持
│   │   ├── ActivityManager.kt                        ✅ 保持
│   │   ├── BaseActivity.kt                           ✅ 保持
│   │   ├── BaseFragment.kt                          ✅ 保持
│   │   ├── BaseViewModel.kt                         ✅ 保持
│   │   ├── FragmentExtensions.kt                     ✅ 保持
│   │   ├── MessageHelper.kt                          ✅ 保持
│   │   ├── StatusBarHelper.kt                        ✅ 保持
│   │   └── UI层封装方案.md                           ✅ 保持
│   └── version/
│       ├── datasource/
│       │   └── remote/
│       │       ├── VersionApi.kt                     ✅ 保持
│       │       └── VersionRemoteDataSource.kt        ✅ 保持
│       ├── model/
│       │   └── VersionResponse.kt                     ✅ 保持
│       ├── repository/
│       │   └── VersionRepository.kt                  ✅ 保持
│       ├── ui/
│       │   └── UpdateDialogFragment.kt               ✅ 保持
│       └── VersionUpdateManager.kt                   ✅ 保持
│
├── base-core/src/main/java/com/narutohuo/xindazhou/core/
│   ├── log/
│   │   ├── FloatingLogButton.kt           ✅ 保持
│   │   ├── ILog.kt                        ✅ 保持
│   │   └── impl/
│   │       ├── LogcatViewerLog.kt         ✅ 保持
│   │       └── NoOpLog.kt                 ✅ 保持
│   ├── network/
│   │   └── interceptor/                   ✅ 保持
│   ├── permission/
│   │   └── PermissionHelper.kt            ✅ 保持
│   ├── share/
│   │   ├── IShareCallback.kt              ✅ 保持
│   │   └── IShareService.kt               ⚠️ → IShare.kt
│   ├── push/
│   │   └── IPushService.kt                ⚠️ → IPush.kt
│   ├── storage/
│   │   ├── IStorage.kt                    ✅ 保持
│   │   └── StorageImpl.kt                 ⚠️ → StorageKit.kt
│   └── util/
│       └── IUtil.kt                       ✅ 保持
│
├── capability-share/src/main/java/com/narutohuo/xindazhou/share/
│   ├── api/
│   │   └── ShareService.kt                ⚠️ → IShare.kt
│   ├── impl/
│   │   └── ShareServiceImpl.kt            ⚠️ → ShareImpl.kt
│   ├── factory/
│   │   └── ShareServiceFactory.kt         ⚠️ → ShareKit.kt
│   ├── callback/
│   │   └── ShareCallbackImpl.kt           ⚠️ → ShareCallback.kt
│   ├── model/
│   │   ├── ShareConfig.kt                 ✅ 保持
│   │   └── ShareResponse.kt               ✅ 保持
│   └── ui/
│       ├── ShareDialogFragment.kt         ✅ 保持
│       └── ShareProxyActivity.kt          ✅ 保持
│
├── capability-ble/src/main/java/com/narutohuo/xindazhou/ble/
│   ├── api/
│   │   └── BLEService.kt                 ⚠️ → IBLE.kt
│   ├── impl/
│   │   └── BLEServiceImpl.kt             ⚠️ → BLEImpl.kt
│   ├── factory/
│   │   └── BLEServiceFactory.kt         ⚠️ → BLEKit.kt
│   ├── callback/
│   │   └── BLECallback.kt                ✅ 保持
│   ├── config/
│   │   └── BLEConstants.kt                ✅ 保持
│   ├── model/
│   │   ├── BLECommand.kt                 ✅ 保持
│   │   ├── BLEDevice.kt                  ✅ 保持
│   │   ├── BLEEncryptedData.kt           ✅ 保持
│   │   ├── BLEResponse.kt                ✅ 保持
│   │   ├── Command.kt                    ✅ 保持
│   │   ├── FragmentBuffer.kt             ✅ 保持
│   │   └── Packet.kt                     ✅ 保持
│   └── util/
│       ├── BleConnector.kt               ✅ 保持
│       ├── BLECrypto.kt                  ✅ 保持
│       ├── BLEExtension.kt               ✅ 保持
│       ├── BLEPacketBuilder.kt            ✅ 保持
│       ├── BLEPacketParser.kt             ✅ 保持
│       ├── BlePacketSender.kt            ✅ 保持
│       ├── BLEPacketSplitter.kt           ✅ 保持
│       └── BleScanner.kt                  ✅ 保持
│
├── capability-push/src/main/java/com/narutohuo/xindazhou/push/
│   ├── api/
│   │   └── PushService.kt                 ⚠️ → IPush.kt
│   ├── impl/
│   │   └── PushServiceImpl.kt           ⚠️ → PushImpl.kt
│   ├── factory/
│   │   └── PushServiceFactory.kt         ⚠️ → PushKit.kt
│   ├── helper/
│   │   └── TagAliasOperatorHelper.kt      ✅ 保持
│   ├── model/
│   │   └── PushResponse.kt               ✅ 保持
│   ├── receiver/
│   │   ├── BootReceiver.kt               ✅ 保持
│   │   └── JPushReceiver.kt              ✅ 保持
│   ├── server/
│   │   ├── PushMessageService.kt         ⚠️ → PushMessageKit.kt
│   │   └── UserService.kt                ⚠️ → UserKit.kt
│   ├── service/
│   │   └── UserService.java              ✅ 保持
│   └── startup/
│       └── PushInitializer.kt            ✅ 保持
│
├── capability-qrcode/src/main/java/com/narutohuo/xindazhou/qrcode/
│   ├── api/
│   │   └── QRCodeManager.kt              ✅ 保持
│   ├── impl/
│   │   └── QRCodeManagerImpl.kt           ⚠️ → QRCodeImpl.kt（可选）
│   ├── factory/
│   │   └── QRCodeManagerFactory.kt        ✅ 保持
│   ├── model/
│   │   └── QRCodeResponse.kt             ✅ 保持
│   └── ui/
│       ├── QRCodeScanActivity.kt          ✅ 保持
│       └── QRCodeScanFragment.kt          ✅ 保持
│
├── capability-socketio/src/main/java/com/narutohuo/xindazhou/socketio/
│   ├── api/
│   │   └── SocketIOService.kt            ⚠️ → ISocketIO.kt
│   ├── impl/
│   │   └── SocketIOServiceImpl.kt        ⚠️ → SocketIOImpl.kt
│   ├── factory/
│   │   ├── SocketIORepositoryFactory.kt   ✅ 保持
│   │   └── SocketIOServiceFactory.kt     ⚠️ → SocketIOKit.kt
│   ├── manager/
│   │   └── SocketIOManager.kt            ✅ 保持
│   ├── repository/
│   │   └── SocketIORepository.kt         ✅ 保持
│   ├── model/
│   │   ├── SocketIOEvent.kt              ✅ 保持
│   │   └── SocketIOResponse.kt           ✅ 保持
│   └── SocketIOManager.kt                ✅ 保持
│
└── capability-nfc/src/main/java/com/narutohuo/xindazhou/nfc/
    ├── api/
    │   └── NFCService.kt                 ⚠️ → INFC.kt
    ├── impl/
    │   └── NFCServiceImpl.kt              ⚠️ → NFCImpl.kt
    └── model/
        └── NFCResponse.kt                 ✅ 保持
```

## 改名清单

### base-core
- `core/share/IShareService.kt` → `core/share/IShare.kt`
- `core/push/IPushService.kt` → `core/push/IPush.kt`
- `core/storage/StorageImpl.kt` → `core/storage/StorageKit.kt`

### capability-share
- `share/api/ShareService.kt` → `share/api/IShare.kt`
- `share/impl/ShareServiceImpl.kt` → `share/impl/ShareImpl.kt`
- `share/factory/ShareServiceFactory.kt` → `share/ShareKit.kt`（或 `share/factory/ShareKit.kt`）
- `share/callback/ShareCallbackImpl.kt` → `share/callback/ShareCallback.kt`

### capability-ble
- `ble/api/BLEService.kt` → `ble/api/IBLE.kt`
- `ble/impl/BLEServiceImpl.kt` → `ble/impl/BLEImpl.kt`
- `ble/factory/BLEServiceFactory.kt` → `ble/BLEKit.kt`（或 `ble/factory/BLEKit.kt`）

### capability-push
- `push/api/PushService.kt` → `push/api/IPush.kt`
- `push/impl/PushServiceImpl.kt` → `push/impl/PushImpl.kt`
- `push/factory/PushServiceFactory.kt` → `push/PushKit.kt`（或 `push/factory/PushKit.kt`）
- `push/server/PushMessageService.kt` → `push/server/PushMessageKit.kt`
- `push/server/UserService.kt` → `push/server/UserKit.kt`

### capability-qrcode
- `qrcode/api/QRCodeManager.kt` → `qrcode/api/QRCodeManager.kt`（保持）
- `qrcode/impl/QRCodeManagerImpl.kt` → `qrcode/impl/QRCodeImpl.kt`（可选）
- `qrcode/factory/QRCodeManagerFactory.kt` → `qrcode/factory/QRCodeManagerFactory.kt`（保持）

### capability-socketio
- `socketio/api/SocketIOService.kt` → `socketio/api/ISocketIO.kt`
- `socketio/impl/SocketIOServiceImpl.kt` → `socketio/impl/SocketIOImpl.kt`
- `socketio/factory/SocketIOServiceFactory.kt` → `socketio/SocketIOKit.kt`（或 `socketio/factory/SocketIOKit.kt`）

### capability-nfc
- `nfc/api/NFCService.kt` → `nfc/api/INFC.kt`
- `nfc/impl/NFCServiceImpl.kt` → `nfc/impl/NFCImpl.kt`

## 总计

**22 个文件需要改名**
