rn-rpa-app

🎯 RPA App 项目概览

📋 项目简介

RPA App 是一个基于 React Native 的移动端机器人流程自动化(RPA)应用,专为 Android 平台设计。该应用允许用户通过动态脚本实现设备自动化操作,并提供了完整的 Web 调试界面和脚本管理系统。

🏗️ 项目架构

整体架构图

┌─────────────────────────────────────────────────────────────┐
│                    RPA App 架构                              │
├─────────────────────────────────────────────────────────────┤
│  📱 React Native 前端层                                      │
│  ├── App.tsx (主应用组件)                                    │
│  ├── Components (UI 组件)                                   │
│  └── Services (业务服务层)                                   │
├─────────────────────────────────────────────────────────────┤
│  🌐 HTTP 服务层                                              │
│  ├── HttpService (HTTP 服务器)                              │
│  ├── Web Debug Interface (Web 调试界面)                      │
│  └── API Endpoints (RESTful API)                           │
├─────────────────────────────────────────────────────────────┤
│  📜 脚本执行层                                                │
│  ├── ScriptService (脚本管理)                                │
│  ├── ScriptErrorAnalyzer (错误分析)                          │
│  └── Dynamic Script Execution (动态执行)                     │
├─────────────────────────────────────────────────────────────┤
│  🤖 原生 RPA 层                                              │
│  ├── RPAModule (原生 RPA 模块)                               │
│  ├── Android Accessibility Service                         │
│  └── Device Automation APIs                                │
├─────────────────────────────────────────────────────────────┤
│  💾 数据存储层                                                │
│  ├── FileService (文件操作)                                  │
│  ├── Script Storage (脚本存储)                               │
│  └── Log Management (日志管理)                               │
└─────────────────────────────────────────────────────────────┘

核心模块说明

1. 📱 React Native 前端层

2. 🌐 HTTP 服务层

3. 📜 脚本执行层

4. 🤖 原生 RPA 层

5. 💾 数据存储层

🛠️ 技术栈

前端技术

技术 版本 用途
React Native 0.80.0 跨平台移动应用框架
TypeScript 5.0.4 静态类型检查
React 18.2.0 UI 组件库
Metro 0.80.12 JavaScript 打包工具

原生开发

技术 版本 用途
Android SDK API 28+ Android 原生开发
Java 11+ Android 原生代码
Gradle 8.0+ Android 构建工具

开发工具

工具 版本 用途
Node.js 18+ JavaScript 运行环境
npm 9+ 包管理器
ESLint 8.19.0 代码规范检查
Prettier 2.8.8 代码格式化
Jest 29.6.3 单元测试框架
Husky 8.0.3 Git hooks 管理

第三方库

库名 版本 用途
react-native-fs 2.20.0 文件系统操作
react-native-http-bridge 0.6.0 HTTP 服务器
@react-native-community/netinfo 11.3.1 网络状态检测

🚀 核心功能

1. 📜 动态脚本系统

2. 🌐 Web 调试界面

3. 🤖 RPA 自动化

4. 📊 监控和日志

🔄 工作流程

典型使用流程

graph TD
    A[启动 RPA App] --> B[启动 HTTP 服务器]
    B --> C[连接 Web 调试界面]
    C --> D[编写/加载脚本]
    D --> E[执行脚本]
    E --> F[监控执行过程]
    F --> G[查看执行结果]
    G --> H{是否需要调试?}
    H -->|是| I[分析错误日志]
    H -->|否| J[保存脚本]
    I --> K[修改脚本]
    K --> D
    J --> L[结束]

开发工作流程

graph TD
    A[克隆项目] --> B[安装依赖]
    B --> C[配置开发环境]
    C --> D[启动开发服务器]
    D --> E[编写代码]
    E --> F[运行测试]
    F --> G[代码检查]
    G --> H{检查通过?}
    H -->|否| I[修复问题]
    H -->|是| J[提交代码]
    I --> E
    J --> K[构建应用]
    K --> L[部署测试]

📈 项目特色

🎯 技术亮点

  1. 跨平台架构: React Native + 原生模块混合开发
  2. 动态脚本: 运行时 JavaScript 脚本执行
  3. Web 调试: 内置 HTTP 服务器和 Web 界面
  4. 智能错误分析: 自动错误检测和修复建议
  5. 完整工具链: ESLint + Prettier + Husky + Jest

🛡️ 质量保证

  1. 代码规范: 严格的 ESLint 和 Prettier 配置
  2. 类型安全: 全面的 TypeScript 类型定义
  3. 自动化测试: Jest 单元测试和覆盖率检查
  4. Git 规范: Conventional Commits 和自动化检查
  5. CI/CD: GitHub Actions 自动化构建和部署

🔧 开发体验

  1. 热重载: React Native Fast Refresh
  2. 实时调试: Chrome DevTools 支持
  3. 代码提示: 完整的 TypeScript 智能提示
  4. 自动修复: 保存时自动格式化和修复
  5. 详细文档: 完整的开发和使用文档

🎯 应用场景

典型使用场景

  1. 移动应用测试: 自动化 UI 测试和回归测试
  2. 重复任务自动化: 批量操作和数据处理
  3. 设备管理: 批量设备配置和管理
  4. 数据采集: 自动化数据抓取和处理
  5. 流程自动化: 复杂业务流程的自动化执行

目标用户

🚀 未来规划

短期目标(1-3 个月)

中期目标(3-6 个月)

长期目标(6-12 个月)


文档版本: v1.0
最后更新: 2024 年 12 月
维护者: RPA App 开发团队