# KouwutuProject_hm **Repository Path**: harmony_os_2/kouwutu-project_hm ## Basic Information - **Project Name**: KouwutuProject_hm - **Description**: No description available - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: main - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2026-09-07 - **Last Updated**: 2026-09-23 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # 抠图贴纸助手 把照片里的东西剪成贴纸:端侧主体分割 → 描边 → 透明 PNG → 存相册 / 复制 / 分享。全程不联网、不申请任何权限。 产品与技术讨论见 `../扣物图/`(沿用工作代号的目录,含方案选择、技术方案、开发计划、上架合规清单)。 ## 结构 ``` entry/src/main/ets/ ├── common/ Metrics(间距 / 弹层留白 SHEET_* 常量)、RouteName、PageUrl(router 页面路径)、StoreKey(含 bottomInset) ├── model/ Sticker:BorderMode / BorderWidth / BgMode / SizeMode(画幅比例) / ShapeMode / CaptionPos / StickerStyle / HSV 换算 │ Work:WorkItem(「我的贴纸」里的一张成品) ├── service/ Segmenter(解码降采样 + 主体分割 + 取色;没主体返回空数组不抛错) │ Composer(主体层 → 阴影 + 描边 → 背景 → 比例画幅 → 配字,PixelMap 进 PixelMap 出) │ Exporter(存相册 / 复制 / 分享) ├── data/ FileStore(stickers/ 临时、works/ 成品)、StylePrefs(样式 / 自选色 / 一次性标记) │ Db + CaptionRepo + entity/Caption(@hzw/zdb 本地库,配字历史;新实体必须在 Db.ets 里 import 才会建表) │ BootPrefs(隐私政策同意状态,独立存储、先于建库可读)、AppBoot(同意后才跑的初始化:建目录 / 开偏好 / 建库,幂等) ├── component/ MatSurface、OptionChip、ToolButton、StateView、GuideView(引导三屏)、ColorPickerSheet(取色器) ├── pages/ Index(首页 + Navigation 宿主)、GuidePage、EditorPage、WorksPage、WorkDetailPage │ PrivacyPage(启动闸门:未同意先弹隐私政策)、PrivacyWebPage(条款全文,读 rawfile/privacy.html,不联网) └── entryability/EntryAbility(开窗时按同意状态分流到 PrivacyPage / Index;分享面板入口:ohos.want.action.sendData;启动时算 bottomInset) ``` 规则:`service/` 不碰 UI、不碰文件;`Composer` 三段顺序固定:主体层 → 装饰层(阴影 → 描边 → 主体)→ 画幅(背景 → 摆放 → 配字)。 UI 交付前过两道本地 skill:`python3 ~/.agents/skills/arkui-layout-audit/scripts/audit_arkui.py entry/src/main/ets`(静态) 与 `harmony-next` 的 `ux_audit_pipeline.py capture-audit`(真机截图 + DevEco UxTestService;Python 依赖见《技术方案》第 8 节第 16 条)。 ## 构建 ```bash ./build.sh # 命令行编译,产物在 entry/build/default/outputs/default/ ``` 真机安装需要签名。第一次在 DevEco Studio 打开工程:File > Project Structure > Signing Configs, 勾选 Automatically generate signature 并登录华为账号,IDE 会把 `signingConfigs` 写回 `build-profile.json5`。 之后 `./build.sh` 出的 HAP 可直接 `hdc install`。 ## 版本约束 - `compatibleSdkVersion` 5.0.0(12):用到的每个 API 都停在 12。 - 不联网:不加任何网络请求、崩溃上报、更新检查(单机 App 免备案的前提)。唯一的三方依赖 `@hzw/zdb` 是纯本地 RDB 封装。 - 不申请权限:选图 PhotoViewPicker、拍照 cameraPicker、存相册 SaveButton、分享 systemShare。