Files
ai-proj-helper/skills-dev/dev-pda-plugin/skills/SKILL.md
T
johnQ d5bdfcfb7c refactor(skill): 18 个命令型技能转 user-invoked,压目录预算
- biz-* 4 个、integration-* 8 个、dev-android/ios/pda、publish、ai-proj-cicd-release、ai-proj-macos-release
- 均加 metadata.invocation: user-invoked + disable-model-invocation: true(DSH 实测生效)
- catalog: promoted/model-invoked 40、promoted/user-invoked 18、beta 3
2026-10-31 22:16:39 +08:00

53 lines
1.2 KiB
Markdown
Raw 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.
---
name: dev-pda
description: PDA 应用开发插件。Android 原生 + 扫码枪集成 + 离线优先。当涉及 PDA/手持终端开发时按需加载。
metadata:
invocation: user-invoked
disable-model-invocation: true
---
# 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 → 下次重试
```