# multi-functional-app **Repository Path**: kangSri/multi-functional-app ## Basic Information - **Project Name**: multi-functional-app - **Description**: 得物发布图文种草带货 数据采集等 - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2026-06-13 - **Last Updated**: 2026-07-12 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # multi-functional-app 多功能自动化 Android 应用:得物发布作品、得物数据分析、拼多多链接回传。 ## 功能概览 | 功能 | 状态 | | --- | --- | | 得物发布作品 | 已实现 | | 得物数据分析 | 入口已预留,即将上线 | | 拼多多链接回传 | 入口已预留,即将上线 | ## 得物发布作品 对接 `clothing_outfit_publish_api_doc.md` 中的接口,完整流程: 1. **清空相册** — 领取前删除手机中全部图片(Pictures / DCIM) 2. **领取任务** — `POST /clothing/outfitPublish/acquire` 3. **下载全部图片** — 该组所有图片保存到 `Pictures/DewuPublish/` 4. **自动操作得物 App**: - 首页点击右上角相机 - 相册中**全选**刚下载的图片(清空后相册里只有这批图) - 点击「下一步」 - 填写标题、正文,添加 #话题 - 关联好物 → 搜索货号 → 选择匹配商品名 - 点击「发布」 5. **回传结果** — `POST /clothing/outfitPublish/confirm` 6. 无任务时按设定间隔轮询;失败时自动 `release` 释放锁 ## 悬浮窗控制 任务开始后屏幕右侧会出现可拖动的浮窗: - **暂停** — 当前步骤完成后暂停(得物操作中途不会硬切) - **开始** — 从暂停处继续,或任务结束后再次开始 - 拖动左侧状态文字可移动浮窗位置 ## 环境要求 - Android 8.0+ (API 26+) - 已安装 **得物 App** (`com.shizhuang.duapp`) - 网络可访问管理后台(默认 `http://8.134.236.190:8004/manager`) - **项目路径请只用英文**(Windows 下路径含中文如 `多功能app` 会导致 Gradle 编译失败)。推荐放在例如 `C:\Work\multi-functional-app` ### 红米 Note 10 Pro / MIUI 必做设置 在 App 内「红米 / MIUI 适配」卡片依次开启: 1. **自启动** — 设置 → 应用设置 → 自启动 → 本应用开启 2. **省电无限制** — 电池 → 本应用 → 无限制(勿选「智能限制」) 3. **通知** — 允许通知(任务前台通知,防 MIUI 杀后台) 4. **应用权限** — 存储、悬浮窗、无障碍 全部允许 5. **无障碍** — 得物发布自动化 → 开启;Android 13+ 需点「允许受限设置」 6. **最近任务** — 多任务界面下拉本应用卡片 → 锁定(小锁图标) Note 10 Pro 为 1080×2400 屏幕,自动化坐标已按 MIUI 状态栏微调。 ## 安装与使用 1. 用 **Android Studio** 打开本项目根目录 2. **首次 Sync 较慢?** 见下方「编译加速说明」 3. 编译安装到手机:`Run app` 4. 首次使用: - 进入「得物发布作品」 - 点击 **无障碍设置**,开启「得物发布自动化」 - 配置服务器地址与 deviceId(默认按 Android ID 生成) - 点击 **悬浮窗**,授予悬浮窗权限(运行时在屏幕显示暂停/开始按钮) - 点击 **文件权限**,授予「所有文件访问」(Android 11+,用于领取前清空相册) - 点击 **开始发布**,保持得物可正常登录使用 ## 编译加速说明(国内网络) 首次打开项目可能有多段下载,**只有 bin 包和 Maven 依赖是编译 APK 必需的**: | 下载内容 | 大小约 | 是否必需 | 说明 | | --- | --- | --- | --- | | `gradle-8.2-bin.zip` | ~130MB | **必需** | 已改腾讯云镜像 | | `gradle-8.2-src.zip` | ~45MB | **不必** | IDE 看 Gradle 源码,**可直接点 × 取消** | | Android Gradle Plugin | ~100MB | **必需** | 已走阿里云 Maven | | AndroidX / Compose 等 | ~200MB+ | **必需** | 首次 Build 才下,**只需一次** | | Android SDK 组件 | 不定 | 视 SDK 而定 | SDK Manager 可配镜像 | **你截图里的 `gradle-8.2-src.zip` 可以取消**,不影响打 APK。 已做优化:腾讯云 Gradle + 阿里云 Maven + 关闭 IDE 自动拉源码。 可选加速: - PowerShell 执行 `.\scripts\prefetch-gradle-china.ps1` - 复制 `scripts\init.gradle` → `C:\Users\<用户名>\.gradle\init.gradle` ## 配置说明 - **服务器地址**:API Base URL,需以 `/manager` 结尾 - **deviceId**:同一台设备请保持固定,用于领取锁与回传校验 - **自动循环领取**:开启后无任务会等待并重试;关闭则只跑一组 - **无任务等待**:没有可领取数据时的轮询间隔(秒) ## 项目结构 ``` app/src/main/java/com/multifunctional/app/ ├── automation/ # 得物 UI 自动化(无障碍) ├── data/ # API、配置、数据模型 ├── repository/ # 发布任务编排 ├── service/ # 无障碍服务、前台服务 ├── ui/ # Compose 界面 └── util/ # 图片下载、文案生成 ``` ## 日志与排错 - 每次任务自动生成日志文件(路径显示在界面上) - 支持 **复制**(粘贴发给我分析)、**分享**、**导出文件**、**清空** - 失败时自动记录 **界面节点快照**(UI Dump),点击日志行可展开详情 - 每个自动化步骤最多重试 3 次,多种坐标/文本兜底策略 若出现点不到的情况,请复制完整日志发给我,日志中包含: - 每步点击坐标与是否成功 - 失败时的界面节点树 - API 请求与设备信息 1. 无障碍自动化依赖得物 App 界面结构,版本更新后可能需要微调选择器 2. **领取前会删除手机全部图片**,请使用专用自动化手机,勿在有个人照片的设备上运行 3. 发布前请确保得物账号已登录 3. 一组作品的多张图片会作为**同一条**得物动态发布 4. 若自动化失败,任务会自动 release,组回到待发布状态 ## 接口文档 详见项目根目录 [clothing_outfit_publish_api_doc.md](./clothing_outfit_publish_api_doc.md)