开放接口
# 开放接口
common插件提供了一些开放的接口,方便开发者调用。
这些接口不是机动云必须的,你可以有选择的调用。
需要注意的是,函数名不能和你自己封装的函数名有重复。
接口不定期更新,请关注变动。
## findNode(way, content, timeOut)
寻找组件
| 参数 | 类型 | 描述 |
| ------- | ------ | -------------------------------------------- |
| way | string | 组件查找方式:text/desc/id/className |
| content | string | 组件标识 |
| timeOut | int | 寻找组件超时时间,单位毫秒。可空。默认为1000 |
| 返回值类型 | 备注 |
| ---------- | -------- |
| boolean | 是否找到 |
```js
findNode('text', '首页', 1000);
```
## findObject(object, timeOut)
寻找组件对象
| 参数 | 类型 | 描述 |
| ------- | ------ | -------------------------------------------- |
| object | object | 组件对象 |
| timeOut | int | 寻找组件超时时间,单位毫秒。可空。默认为1000 |
| 返回值类型 | 备注 |
| ---------- | -------- |
| boolean | 是否找到 |
## getNodeText(way, content, timeOut)
获取组件的文本
| 参数 | 类型 | 描述 |
| ------- | ------ | -------------------------------------------- |
| way | string | 组件查找方式:text/desc/id/className |
| content | string | 组件标识 |
| timeOut | int | 寻找组件超时时间,单位毫秒。可空。默认为1000 |
| 返回值类型 | 备注 |
| ---------- | ---- |
| string | |
```js
getNodeText('text', '首页', 1000);
```
## clickNode(way, content, milliSecond)
点击组件
| 参数 | 类型 | 描述 |
| ----------- | ------ | -------------------------------------- |
| way | string | 组件查找方式:text/desc/id/className |
| content | string | 组件标识 |
| milliSecond | int | 点击后延时,单位毫秒。可空。默认为1000 |
| 返回值类型 | 备注 |
| ---------- | ------------ |
| boolean | 是否点击成功 |
```js
if (clickNode('text', '首页', 1000)) {
log('点击成功');
};
```
## clickNodeEx(way, content, milliSecond)
超级点击,最多向上寻找4层
| 参数 | 类型 | 描述 |
| ----------- | ------ | -------------------------------------- |
| way | string | 组件查找方式:text/desc/id/className |
| content | string | 组件标识 |
| milliSecond | int | 点击后延时,单位毫秒。可空。默认为1000 |
| 返回值类型 | 备注 |
| ---------- | ------------ |
| boolean | 是否点击成功 |
```js
if (clickNodeEx('text', '首页', 1000)) {
log('点击成功');
};
```
## requestScreenshot()
请求截图权限,自动处理弹窗提示
| 返回值类型 | 备注 |
| ---------- | ------------ |
| boolean | 是否请求成功 |
## getCustomValue(keyParameter, keyName)
根据参数名,获取后台创建任务时设定的参数值
| 参数 | 类型 | 描述 |
| ------------ | ------ | ------------------ |
| keyParameter | string | 任务参数json字符串 |
| keyName | string | 创建任务时的参数名 |
| 返回值类型 | 备注 |
| ---------- | ---- |
| string | |
## countdown(waitTime, tips)
倒计时数秒toast提示
| 参数 | 类型 | 描述 |
| -------- | ------ | -------- |
| waitTime | int | 起始秒数 |
| tips | string | 提示内容 |
## getPackageVersion(packageName)
获取指定应用的版本号
| 参数 | 类型 | 描述 |
| ----------- | ------ | ---------- |
| packageName | string | 应用的包名 |
| 返回值类型 | 备注 |
| ---------- | ---- |
| string | |
## setStorageData(name, key, value)
保存本地数据
保存的数据除非应用被卸载或者被主动删除,否则会一直保留。
| 参数 | 类型 | 描述 |
| ----- | ------ | -------- |
| name | string | 存储标识 |
| key | string | 键名 |
| value | string | 键值 |
## getStorageData(name, key)
获取本地数据
| 参数 | 类型 | 描述 |
| ---- | ------ | -------- |
| name | string | 存储标识 |
| key | string | 键名 |
| 返回值类型 | 备注 |
| ---------- | ---- |
| string | |
## delStorageData(name, key)
删除本地数据
| 参数 | 类型 | 描述 |
| ---- | ------ | -------- |
| name | string | 存储标识 |
| key | string | 键名 |
## getRandomCode(length)
取随机整数
| 参数 | 类型 | 描述 |
| ------ | ---- | ---------------- |
| length | int | 需获取整数的长度 |
| 返回值类型 | 备注 |
| ---------- | ---- |
| string | |
## getNowFormatDate()
取格式化时间,结果如:[2020-01-02 16:17:58]
| 返回值类型 | 备注 |
| ---------- | ---- |
| string | |
## getToday()
取今天的日期,结果如:2020-11-13
| 返回值类型 | 备注 |
| ---------- | ---- |
| string | |
## isJSON(str)
判断字符串是否为json数据
| 参数 | 类型 | 描述 |
| ------ | ------ | ---- |
| length | string | |
| 返回值类型 | 备注 |
| ---------- | ---------- |
| boolean | true/false |
## removeByValue(arr, val)
删除数组中的某一元素,并重定义数组下标
| 参数 | 类型 | 描述 |
| ---- | ------ | ------ |
| arr | array | 数组 |
| val | string | 元素值 |
## isInArray(arr, value)
判断元素是否存在于数组中
| 参数 | 类型 | 描述 |
| ---- | ------ | ------ |
| arr | array | 数组 |
| val | string | 元素值 |
| 返回值类型 | 备注 |
| ---------- | ---------- |
| boolean | true/false |
## getRandomArrayElements(arr, count)
[从数组中随机取出一个元素或者几个元素](http://caibaojian.com/js-get-random-elements-from-array.html)
| 参数 | 类型 | 描述 |
| ----- | ----- | ------------ |
| arr | array | 数组 |
| count | int | 需获取的数量 |
| 返回值类型 | 备注 |
| ---------- | ---- |
| string | |
## UpdateTask(task_id, state, mode, imei, uuid, callbackData)
更任务数据
| 参数 | 类型 | 描述 |
| ------------ | ------ | ------------------------------------------------------------ |
| task_id | int | 任务明细表的id |
| state | int | 任务状态(0,锁定;1,待执行;2,执行中;3,成功;4,失败;5,超时;) |
| mode | int | (0,立即执行;1,排队执行;2,定时执行) |
| imei | string | 设备串号 |
| uuid | string | 机动云用户uuid |
| callbackData | string | 回传任务结果。可空。建议为json字符串格式 |
## getVariableDataFromRedis(uuid)
从变量库里获取变量
| 参数 | 类型 | 描述 |
| ---- | ------ | ---- |
| uuid | string | |
| 返回值类型 | 备注 |
| ---------- | ---- |
| string | |
## replaceSign(sendContent, variableData)
替换话术中的变量标记
| 参数 | 类型 | 描述 |
| ------------ | ------ | ------------------------ |
| sendContent | string | 话术内容 |
| variableData | string | 变量标记内容,json字符串 |
| 返回值类型 | 备注 |
| ---------- | ---- |
| string | |
## getTalkingsFromRedis(talking_group_id, talking_get_type)
从话术库里获取话术
| 参数 | 类型 | 描述 |
| ---------------- | ------ | ----------------------------- |
| talking_group_id | string | 话术分组id |
| talking_get_type | string | 话术分发方式(ASC/DESC/RAND) |
| 返回值类型 | 备注 |
| ---------- | ---- |
| string | |