引擎脚本基类(RPAScript)接口简介
此文档将提供以下功能接口说明
RPA操作网页工具
数据库访问器
环境变量管理器
对话框管理器
缓存管理器(获取)
缓存管理器(存储)
执行第一阶段RPA动作
执行第二阶段RPA动作
将动态下拉框的值填入当前引擎
报告进度
循环中报告进度
RPA操作网页工具
RPA操作网页工具
接口
IAgent Agent { get; }
参数
无
用法
请访问 RPA操作网页工具 了解更多用法。
数据库访问器
数据库访问器
接口
IDataBaseVisitor DataBaseVisitor { get; }
参数
无
用法
请访问 数据库访问器 了解更多用法。
环境变量管理器
环境变量管理器
接口
IEnviromentManager Enviroment { get; }
参数
无
用法
请访问 环境变量管理器 了解更多用法。
弹框创建工具
弹框创建工具
接口
IDialogHelper DialogHelper { get; }
参数
无
用法
请访问 弹框创建工具 了解更多用法。
缓存管理器(获取)
获取存储在RPA缓存中的信息,例如账号、密码等
接口
Dictionary<string, CacheData> Authorizations { get; }
参数
无
用法
// 获得缓存中的键
string key = "keyName";
// 通过键获取缓存中的账号
var userName = this.Authorizations["fyx_system"].UserName;
// 通过键获取缓存中的密码
var password = this.Authorizations["fyx_system"].Password;
缓存管理器(存储)
将账号、密码等信息存储到RPA缓存中
接口
void FillAuthorizations(IEnumerable<CacheData> authorizations);
参数
authorizations:存储信息
用法
// CacheData为RPA中缓存信息实体类
CacheData auths = new CacheData();
auths.Key = "key";
auths.UserName = "UserName";
auths.Password = "Password";
auths.Timestamp = DateTime.Now;
auths.Permanet = false;
// 将账号密码存储到缓存中
this.Script.FillAuthorizations(auths);
执行第一阶段RPA动作
执行第一阶段RPA动作,返回新采集到的数据的ID清单
接口
async Task<IEnumerable<int>> FetchData()
参数
无
用法
var collectedIDs = await this.Script.FetchData();
执行第二阶段RPA动作
执行第二阶段RPA动作,返回已处理的ID清单
接口
async Task<IEnumerable<int>> ProcessData(IEnumerable<int> dataToProcess);
参数
dataToProcess:采集到的ID清单中需要处理的ID清单
用法
List<RqDetail> idList = new();
idList.Add(1);
idList.Add(2);
var collectedIDs = await this.Script.FetchData(idList);
将动态下拉框的值填入当前引擎
接口
void FillDropDownOptions(string key, Dictionary<string, string> options);
参数
key:动态下拉框的标记key
options:动态下拉框的options
用法
// 动态下拉框的标记key
String key = "options_key";
// 动态下拉框的options
Dictionary<string, string> options = new Dictionary<string, string>();
......
this.FillDropDownOptions(key,options);
报告进度
报告当前流程进度
接口
void ReportProgress(int percent);
参数
percent:进度值,在0到100之间
用法
// 当前进度
int progress = 30;
this.ReportProgress(progress);
循环中报告进度
报告当前流程进度,适用于已知总数的循环
接口
int ReportProgress(int startPercent, int endpercent, int totalCount, int index);
参数
startPercent:进入循环时的进度
endpercent:退出循环时的进度
totalCount:循环总数
index:当前循环次数,大于0
用法
int[] array = new int[10];
for(int i = 0; i < array.length; i++)
// 报告当前循环进度
this.ReportProgress(30, 90, array.length, i+1);
......
}