RPA App 支持动态加载和执行 JavaScript 脚本,让您可以灵活地创建和运行自动化任务。 脚本在安全的沙箱环境中执行,可以访问 RPA 原生模块的所有功能。
// 脚本开头的注释说明
console.log('脚本开始执行');
// 同步执行示例
return '脚本执行完成';
// 异步执行示例
return new Promise(async (resolve, reject) => {
try {
// 执行异步操作
const result = await RPAServiceModule.launchSettings();
resolve(result);
} catch (error) {
reject(error);
}
});
脚本执行时可以访问以下对象:
原生 RPA 模块,提供以下方法:
start()
- 启动 RPA 服务launchSettings()
- 启动系统设置launchWifiSettings()
- 启动 WiFi 设置launchBluetoothSettings()
- 启动蓝牙设置launchAppByPackage(packageName)
- 通过包名启动应用标准控制台对象,用于日志输出:
console.log(message)
- 输出普通日志console.error(message)
- 输出错误日志console.warn(message)
- 输出警告日志React Native 的 Alert 组件:
Alert.alert(title, message)
- 显示提示框JSON
- JSON 处理Math
- 数学函数Date
- 日期时间String
, Number
, Boolean
- 基本类型Array
, Object
- 集合类型Promise
- 异步处理setTimeout
, setInterval
- 定时器// Hello World 示例脚本
console.log('Hello from RPA Script!');
Alert.alert('脚本执行', 'Hello World 脚本执行成功!');
return 'Hello World executed successfully';
// 启动系统设置示例脚本
console.log('正在启动系统设置...');
return new Promise(async (resolve, reject) => {
try {
const result = await RPAServiceModule.launchSettings();
console.log('设置启动结果:', result);
Alert.alert('成功', result);
resolve(result);
} catch (error) {
console.error('启动设置失败:', error);
Alert.alert('错误', '启动设置失败: ' + error);
reject(error);
}
});
// 自动化序列示例脚本
console.log('开始执行自动化序列...');
return new Promise(async (resolve, reject) => {
try {
// 1. 启动 RPA 服务
console.log('1. 初始化 RPA 服务');
RPAServiceModule.start();
// 等待一秒
await new Promise(r => setTimeout(r, 1000));
// 2. 启动 WiFi 设置
console.log('2. 启动 WiFi 设置');
const wifiResult = await RPAServiceModule.launchWifiSettings();
console.log('WiFi 设置结果:', wifiResult);
// 等待两秒
await new Promise(r => setTimeout(r, 2000));
// 3. 启动蓝牙设置
console.log('3. 启动蓝牙设置');
const bluetoothResult = await RPAServiceModule.launchBluetoothSettings();
console.log('蓝牙设置结果:', bluetoothResult);
Alert.alert('完成', '自动化序列执行完成!');
resolve('自动化序列执行成功');
} catch (error) {
console.error('自动化序列执行失败:', error);
Alert.alert('错误', '自动化序列执行失败: ' + error);
reject(error);
}
});
return new Promise(async (resolve, reject) => {
try {
// 可能出错的操作
const result = await RPAServiceModule.launchSettings();
resolve(result);
} catch (error) {
console.error('操作失败:', error);
Alert.alert('错误', `操作失败: ${error}`);
reject(error);
}
});
const tasks = ['任务1', '任务2', '任务3'];
for (let i = 0; i < tasks.length; i++) {
console.log(`执行进度: ${i + 1}/${tasks.length} - ${tasks[i]}`);
// 执行任务...
await new Promise(r => setTimeout(r, 1000));
}
const currentHour = new Date().getHours();
if (currentHour >= 9 && currentHour <= 17) {
console.log('工作时间,执行工作相关任务');
await RPAServiceModule.launchSettings();
} else {
console.log('非工作时间,跳过任务');
Alert.alert('提示', '当前为非工作时间');
}
脚本文件存储在应用的文档目录中:
/data/data/com.rpaapp/files/Documents/rpa-scripts/
.js
扩展名结尾launch-settings.js
setTimeout
和 setInterval
console.log()
输出调试信息Alert.alert()
显示关键状态脚本执行失败
原生方法调用失败
脚本无法保存
代码组织
错误处理
用户体验
测试验证
通过以上指南,您可以充分利用 RPA App 的动态脚本功能,创建强大的自动化解决方案!