批次1: req-prd 瘦身 + req-design 重定位 + dev-coding 聚焦 批次2: dev-review 新建 + review-checklist 插件 批次3: dev-integration 新建 + req-compare 拆出 批次4: 插件完善 (req-research/db-migration/dev-scaffold/deploy-rollback) 批次5: 平台拆分 (dev-ios/dev-android/dev-mcp/dev-pda) + dev 分组更新 批次6: marketplace.json 32→44 plugins Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
50 lines
1.1 KiB
Markdown
50 lines
1.1 KiB
Markdown
---
|
||
name: dev-pda
|
||
description: PDA 应用开发插件。Android 原生 + 扫码枪集成 + 离线优先。当涉及 PDA/手持终端开发时按需加载。
|
||
---
|
||
|
||
# PDA 应用开发插件 (dev-pda)
|
||
|
||
## 特点
|
||
|
||
- Android 原生开发(Kotlin)
|
||
- 扫码枪硬件集成
|
||
- 离线优先(本地 Room DB + 同步队列)
|
||
- 简洁 UI(大按钮、大字体、适配小屏幕)
|
||
|
||
## 扫码集成
|
||
|
||
```kotlin
|
||
class ScanReceiver : BroadcastReceiver() {
|
||
override fun onReceive(context: Context, intent: Intent) {
|
||
val barcode = intent.getStringExtra("SCAN_BARCODE")
|
||
// 处理扫码结果
|
||
}
|
||
}
|
||
```
|
||
|
||
## 离线存储
|
||
|
||
```kotlin
|
||
@Entity(tableName = "inventory")
|
||
data class Inventory(
|
||
@PrimaryKey val id: Long,
|
||
val barcode: String,
|
||
val quantity: Int,
|
||
@ColumnInfo(name = "sync_status")
|
||
val syncStatus: SyncStatus = SyncStatus.PENDING
|
||
)
|
||
|
||
enum class SyncStatus { PENDING, SYNCED, FAILED }
|
||
```
|
||
|
||
## 离线同步策略
|
||
|
||
```
|
||
操作 → 写入本地 DB (PENDING)
|
||
↓
|
||
网络可用 → 批量上传 → 成功 → 标记 SYNCED
|
||
↓ 失败
|
||
标记 FAILED → 下次重试
|
||
```
|