开放接口

# 开放接口 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 | |