268 lines
5.8 KiB
Markdown
268 lines
5.8 KiB
Markdown
|
|
## 其他
|
|||
|
|
|
|||
|
|
### 创建唯一的 ID 编号
|
|||
|
|
|
|||
|
|
* 方法说明
|
|||
|
|
|
|||
|
|
创建唯一的 ID 编号。
|
|||
|
|
|
|||
|
|
```
|
|||
|
|
function createUuid(): string
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
* 输入参数
|
|||
|
|
|
|||
|
|
无。
|
|||
|
|
* 输出参数
|
|||
|
|
* 表示一个唯一 ID 编号的字符串。
|
|||
|
|
* 异常
|
|||
|
|
|
|||
|
|
本方法会抛出异常。
|
|||
|
|
|
|||
|
|
### 发送邮件
|
|||
|
|
|
|||
|
|
* 方法说明
|
|||
|
|
|
|||
|
|
向目标收件方发送简单邮件。
|
|||
|
|
|
|||
|
|
```
|
|||
|
|
function sendMail(param: string): void
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
* 输入参数
|
|||
|
|
* param,string 类型,表示邮件的详情,反序列化后的示例如下:
|
|||
|
|
|
|||
|
|
```
|
|||
|
|
{
|
|||
|
|
"to": "yy@yy.com", // 接收方,必填
|
|||
|
|
"subject": "Daily Meeting", // 主题,必填
|
|||
|
|
"text": "xxx", // 内容,必填
|
|||
|
|
"cc": "xxx@xxx.com,yyy@yyy.com", // 抄送,选填
|
|||
|
|
"bcc": "zzz@zzz.com" // 秘密抄送,选填
|
|||
|
|
}
|
|||
|
|
```
|
|||
|
|
* 输出参数
|
|||
|
|
|
|||
|
|
无。
|
|||
|
|
* 异常
|
|||
|
|
|
|||
|
|
本方法会抛出异常。
|
|||
|
|
|
|||
|
|
### 发送用户消息
|
|||
|
|
|
|||
|
|
* 方法说明
|
|||
|
|
|
|||
|
|
发送用户消息,不仅可以弹窗提醒,还可以在RDS的消息管理界面进行查看。
|
|||
|
|
|
|||
|
|
```
|
|||
|
|
function sendUserMessage(level: string, messageTitle: string, messageBody: string): void
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
* 输入参数
|
|||
|
|
* level,string 类型,表示消息提醒的等级,有ERROR,WARN,INFO三种等级。
|
|||
|
|
* messageTitle,string 类型,表示用户消息的标题。
|
|||
|
|
* messageBody,string 类型,表示用户消息的内容。
|
|||
|
|
* 输出参数
|
|||
|
|
|
|||
|
|
无。
|
|||
|
|
* 异常
|
|||
|
|
|
|||
|
|
本方法不会抛出异常。
|
|||
|
|
|
|||
|
|
### JSON字符串转化为XML字符串
|
|||
|
|
|
|||
|
|
* 方法说明
|
|||
|
|
|
|||
|
|
将json字符串转化为xml字符串
|
|||
|
|
|
|||
|
|
```
|
|||
|
|
function jsonToXml(param: string): string
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
* 输入参数
|
|||
|
|
* param,string 类型,表示传入的json字符串
|
|||
|
|
* 输出参数
|
|||
|
|
* xml字符串
|
|||
|
|
* 异常
|
|||
|
|
|
|||
|
|
本方法会不抛出异常。
|
|||
|
|
|
|||
|
|
### MD5字符串加密
|
|||
|
|
|
|||
|
|
* 方法说明
|
|||
|
|
|
|||
|
|
将字符串进行加密后返回
|
|||
|
|
|
|||
|
|
```
|
|||
|
|
function md5Encode(param: string): string
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
* 输入参数
|
|||
|
|
* param,string 类型,表示传入的字符串
|
|||
|
|
* 输出参数
|
|||
|
|
* 32位小写字符串
|
|||
|
|
* 异常
|
|||
|
|
|
|||
|
|
本方法会抛出异常。
|
|||
|
|
|
|||
|
|
### Base64字符串重编码
|
|||
|
|
|
|||
|
|
* 方法说明
|
|||
|
|
|
|||
|
|
将字符串进行重编码后返回
|
|||
|
|
|
|||
|
|
```
|
|||
|
|
function base64Encode(param: string): string
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
* 输入参数
|
|||
|
|
* param,string 类型,表示传入的字符串
|
|||
|
|
* 输出参数
|
|||
|
|
* UrlBase64 重编码后的字符串
|
|||
|
|
* 异常
|
|||
|
|
|
|||
|
|
本方法会抛出异常。
|
|||
|
|
|
|||
|
|
### 转换成分页对象
|
|||
|
|
|
|||
|
|
* 方法说明
|
|||
|
|
|
|||
|
|
根据给定的参数和数据,转换成分页对象并进行返回。
|
|||
|
|
|
|||
|
|
```
|
|||
|
|
function transToPageObj(totalCount: number, currentPage: number, pageSize: number, totalPage: number, pageList: string): string
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
* 输入参数
|
|||
|
|
* totalCount, number 类型,表示分页数据的总条数
|
|||
|
|
* currentPage, number 类型,表示当前是第几页
|
|||
|
|
* pageSize, number 类型,表示每页显示的数量
|
|||
|
|
* totalPage, number 类型,表示总页数
|
|||
|
|
* pageList, string 类型,表示当前页的数据
|
|||
|
|
* 输出参数
|
|||
|
|
* 转换后的分页对象字符串
|
|||
|
|
* 异常
|
|||
|
|
|
|||
|
|
本方法不会抛出异常。
|
|||
|
|
* 请求示例
|
|||
|
|
|
|||
|
|
```
|
|||
|
|
function transToPageObj() {
|
|||
|
|
|
|||
|
|
// 1. 提供分页相关参数和源数据
|
|||
|
|
|
|||
|
|
// 当前是第几页,最小值就是1!
|
|||
|
|
var currentPage = 2;
|
|||
|
|
// 每页的数据条数
|
|||
|
|
var pageSize = 20;
|
|||
|
|
// 获取相关的数据,以实际情况为准进行修改
|
|||
|
|
var data = jj.findSitesByCondition("{}","ASC");
|
|||
|
|
// 打印查询到的数据
|
|||
|
|
jj.scriptLog("INFO", "transToPageObj", data);
|
|||
|
|
// 转换成对象,方便截取当页的数据
|
|||
|
|
var dataObj = JSON.parse(data);
|
|||
|
|
// 截取指定页的数据
|
|||
|
|
var pageListObj = dataObj.slice((currentPage-1)*pageSize, currentPage*pageSize);
|
|||
|
|
// 将截取的数据转成字符串
|
|||
|
|
var pageListStr = JSON.stringify(pageListObj);
|
|||
|
|
|
|||
|
|
// 2. 调用脚本方法,转换成分页对象
|
|||
|
|
|
|||
|
|
// 将数据转换成分页对象
|
|||
|
|
var res = jj.transToPageObj(dataObj.length, currentPage, pageSize, Math.ceil(dataObj.length/pageSize), pageListStr);
|
|||
|
|
// 打印转换后的结果
|
|||
|
|
jj.scriptLog("INFO", "res=", res);
|
|||
|
|
|
|||
|
|
// 3. 拿着分页对象进行返回或其他操作
|
|||
|
|
// TODO
|
|||
|
|
}
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
### 获取天风任务参数
|
|||
|
|
|
|||
|
|
* 方法说明
|
|||
|
|
|
|||
|
|
在脚本中直接获取到天风任务参数。
|
|||
|
|
|
|||
|
|
```
|
|||
|
|
function getScriptValue(key: string): string
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
* 输入参数
|
|||
|
|
* key,变量表达式。
|
|||
|
|
* 输出参数
|
|||
|
|
|
|||
|
|
天风任务中参数key的值的字符串。
|
|||
|
|
* 异常
|
|||
|
|
本方法不会抛出异常。该方法如果获取一个不存在的值时将会返回NULL。
|
|||
|
|
* 请求示例
|
|||
|
|
|
|||
|
|
```
|
|||
|
|
function test() {
|
|||
|
|
//获取任务变量status
|
|||
|
|
jj.scriptLog("debug","b1,agvid:",jj.getScriptValue("task.variables.status"))
|
|||
|
|
//获取b4块选出的库位
|
|||
|
|
jj.scriptLog("debug","b1,agvid:",jj.getScriptValue("blocks.b4.siteId"))
|
|||
|
|
//获取输入参数agvId
|
|||
|
|
jj.scriptLog("debug","b1,agvid:",jj.getScriptValue("taskInputs.agvId"))
|
|||
|
|
}
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
### 批量放行
|
|||
|
|
|
|||
|
|
* 方法说明
|
|||
|
|
|
|||
|
|
批量放行机器人,与等待放行块结合使用。
|
|||
|
|
|
|||
|
|
```
|
|||
|
|
function releaseWaitPass(agvIds: Array<String>): boolean
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
* 输入参数
|
|||
|
|
* agvIds,String 数组类型,需放行的机器人Id。
|
|||
|
|
* 输出参数
|
|||
|
|
* true,放行成功。
|
|||
|
|
* false,放行失败
|
|||
|
|
* 异常
|
|||
|
|
本方法不会抛出异常。
|
|||
|
|
* 请求示例
|
|||
|
|
|
|||
|
|
```
|
|||
|
|
function releaseWaitPass(){
|
|||
|
|
let agvIds = []//注意参数是数组
|
|||
|
|
agvIds.push("AMB-150J")//放行一个就只用push一个
|
|||
|
|
agvIds.push("sim_01")
|
|||
|
|
jj.releaseWaitPass(agvIds)
|
|||
|
|
}
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
### 脚本公平锁
|
|||
|
|
|
|||
|
|
* 方法说明
|
|||
|
|
|
|||
|
|
根据锁名称,获取不同的锁,并发情况下串行执行一段代码
|
|||
|
|
|
|||
|
|
```
|
|||
|
|
function withFairnessLock(lockName: string, fair: boolean, action: () => void): void;
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
* 输入参数
|
|||
|
|
* lockName:String 锁的名称
|
|||
|
|
* fair:true: 公平锁更具时间先后顺序获取,false: 非公平锁,随机获取锁
|
|||
|
|
* action: 执行的代码块
|
|||
|
|
* 输出参数
|
|||
|
|
|
|||
|
|
无
|
|||
|
|
* 异常
|
|||
|
|
本方法不会抛出异常。
|
|||
|
|
* 请求示例
|
|||
|
|
|
|||
|
|
```
|
|||
|
|
jj.withFairnessLock("kk", true, () => {
|
|||
|
|
// 代码块
|
|||
|
|
jj.scriptLog("INFO", "test", "test")
|
|||
|
|
})
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
进程已结束,退出代码为 0
|