引擎脚本基类(RPAScript)接口简介

此文档将提供以下功能接口说明

avatarRPA操作网页工具

avatar数据库访问器

avatar环境变量管理器

avatar对话框管理器

avatar缓存管理器(获取)

avatar缓存管理器(存储)

avatar执行第一阶段RPA动作

avatar执行第二阶段RPA动作

avatar将动态下拉框的值填入当前引擎

avatar报告进度

avatar循环中报告进度

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);
	......
}