全局快捷事件
说明
全局模块中封装的快捷事件
读取UI
readAllUIConfig2 读取UI第二种UI
- 读取UI参数配置
- 设计器在中控界面-UI参数(新版)按钮
- 适配 EC 鸿蒙Next 1.0.0+
- 注意:这个需要使用新版本的UI配置,读取顺序是 优先读取单个设备配置 ,如果单个设备配置无任何数据,就读取 全局配置,
- 返回参数中 含有 __from_global__ 这样的key,代表是来源于全局参数
- @param tmplName 参数组名
- @param forceGlobal 是否强制使用全局,true 代表丢弃单个设备配置,统一使用全局参数
- @return
{json}
JSON数据
function main() {
var result = readAllUIConfig2("UI示例", false);
logd(result);
logd(JSON.stringify(result));
}
main();
- 全局配置返回值
{"__from_global__":true,"输入框":"输入框内容","多选框":["多选选项3"],"下拉框":"下拉选项1"}
- 单设备返回值
{"输入框":"输入框内容","多选框":["多选选项3"],"下拉框":"下拉选项1"}
点击函数
clickPoint 坐标点击
- 点击坐标
- 适配 EC 鸿蒙Next 1.0.0+
- @param x x坐标
- @param y y坐标
- @return
{boolean|布尔型}
function main() {
var result = clickPoint(100, 100);
if (result) {
logd("点击成功");
} else {
logd("点击失败");
}
}
main();
longClickPoint 坐标长点击
- 长点击坐标
- 适配 EC 鸿蒙Next 1.0.0+
- @param x x坐标
- @param y y坐标
- @return
{boolean|布尔型}
function main() {
var result = longClickPoint(100, 100);
if (result) {
logd("点击成功");
} else {
logd("点击失败");
}
}
main();
doubleClickPoint 坐标双击
- 双击击坐标
- 适配 EC 鸿蒙Next 1.0.0+
- @param x x坐标
- @param y y坐标
- @return
{boolean|布尔型}
function main() {
var result = doubleClickPoint(100, 100);
if (result) {
logd("点击成功");
} else {
logd("点击失败");
}
}
main();
press 坐标长按
- 长按住事件
- @param x x坐标
- @param y y坐标
- @param delay 长按时间 毫秒
- @return
{bool}
true 成功 false 失败
function main() {
var result = press(100, 100, 5000);
if (result) {
logd("长按成功");
} else {
logd("长按失败");
}
}
main();
多点触摸
multiTouch 多点触摸
- 多点触摸
- 触摸参数: action :一般情况下 按下为0,弹起为1,移动为2,暂停为3
- x: X坐标
- y: Y坐标
- pointer:设置第几个手指触摸点,分别是 1,2,3等,代表第n个 手指
- delay: 该动作延迟多少毫秒执行,这个是值当前这个事件先延迟后执行
- @param touch1
第1个手指的触摸点数组,例如:
[{"action":0,"x":1,"y":1,"pointer":1,"delay":20},{"action":2,"x":1,"y":1,"pointer":1,"delay":20}]
- @param touch2 第2个手指的触摸点数组
- @param touch3 第3个手指的触摸点数组
- @param touch4 第4个手指的触摸点数组
- @param touch5 第5个手指的触摸点数组
- @param timeout 多点触摸总执行的超时时间,单位是毫秒
- @return
{boolean|布尔型}
function main() {
//第一种数组式的写法
var touch1 = [
{"action": 0, "x": 500, "y": 1200, "pointer": 1, "delay": 1},
{"action": 2, "x": 500, "y": 1100, "pointer": 1, "delay": 20},
{"action": 2, "x": 500, "y": 1000, "pointer": 1, "delay": 20},
{"action": 1, "x": 1, "y": 1, "pointer": 1, "delay": 2}
]
//第二种链式调用方法
var touch1 = MultiPoint
.get()
.action(0).x(500).y(1200).pointer(1).delay(100)
.next()
.action(2).x(500).y(1100).pointer(1).delay(100)
.next()
.action(2).x(500).y(1000).pointer(1).delay(100)
.next()
.action(2).x(500).y(900).pointer(1).delay(100)
.next()
.action(1).x(500).y(800).pointer(1).delay(100);
var touch2 = MultiPoint
.get()
.action(0).x(300).y(1200).pointer(2).delay(100)
.next()
.action(2).x(300).y(1100).pointer(2).delay(100)
.next()
.action(2).x(300).y(1000).pointer(2).delay(100)
.next()
.action(2).x(300).y(900).pointer(2).delay(100)
.next()
.action(1).x(300).y(800).pointer(2).delay(100);
var x = multiTouch(touch1, touch2, null, null, null, 30000);
logd("xxs " + x);
}
main();
滑动函数
swipeToPoint 坐标点滑动
- 从一个坐标滑动到另一个坐标
- @param startX 起始坐标的X轴值
- @param startY 起始坐标的Y轴值
- @param endX 结束坐标的X轴值
- @param endY 结束坐标的Y轴值
- @param speed 滑动速度,值越小 速度越慢
- @return 布尔型 true 滑动成功, false 滑动失败
function main() {
var result = swipeToPoint(10, 10, 100, 100, 200);
if (result) {
logd("滑动成功");
} else {
logd("滑动失败");
}
}
main();
拖动函数
drag 拖动坐标
- 从一个坐标到另一个坐标的拖动
- @param startX 起始坐标的X轴值
- @param startY 起始坐标的Y轴值
- @param endX 结束坐标的X轴值
- @param endY 结束坐标的Y轴值
- @param speed 滑动速度,值越小 速度越慢
- @return 布尔型 true 拖动成功, false 拖动失败
function main() {
var result = drag(10, 10, 100, 100, 200);
if (result) {
logd("拖动成功");
} else {
logd("拖动失败");
}
}
main();
输入数据
inputText 输入数据
- 输入文字
- @param content 内容
- @return
{bool}
true 成功,false 失败
function main() {
var result = inputText("我是内容");
if (result) {
logd("是");
} else {
logd("否");
}
}
main();
屏幕方向
setOrientation 设置屏幕方向
- 设置屏幕方向,横屏只支持向右旋转90度
- 适配 EC 鸿蒙Next 1.0.0+
- @param orientation 1 正常的竖屏,2 向右旋转90度(顺时针)
- @return
{boolean|布尔型}
function main() {
let x = setOrientation(1)
logd(x)
}
main();
getOrientation 获取屏幕方向
- 获取屏幕方向
- 适配 EC 鸿蒙Next 1.0.0+
- @return int| 1 竖屏,2 横屏 (向右旋转90度(顺时针))
function main() {
let x = getOrientation()
logd(x)
}
main();
lockNode 锁定当前节点
- 锁定当前节点,锁定后,后面就算界面刷新,但是节点还是老的信息,需要和releaseNode进行配合才能进行解锁
function main() {
logd("锁住节点...")
//锁住节点,界面刷新也不动
console.time("1")
lockNode()
for (let i = 0; i < 10; i++) {
let n = text("设置").getOneNodeInfo(1000)
logd("lock " + n)
}
logd("释放节点锁...")
//释放节点锁
releaseNode()
logd(console.timeEnd("1"))
console.time("1")
for (var i = 0; i < 10; i++) {
let n = text("设置").getOneNodeInfo(1000)
logd("unlocked " + n)
}
logd(console.timeEnd("1"))
//锁住时间明显更短
}
main();
releaseNode 释放节点的锁
- 释放节点的锁,释放后,当界面刷新的时候,节点信息会变成最新的
function main() {
logd("锁住节点...")
//锁住节点,界面刷新也不动
console.time("1")
lockNode()
for (let i = 0; i < 10; i++) {
let n = text("设置").getOneNodeInfo(1000)
logd("lock " + n)
}
logd("释放节点锁...")
//释放节点锁
releaseNode()
logd(console.timeEnd("1"))
console.time("1")
for (var i = 0; i < 10; i++) {
let n = text("设置").getOneNodeInfo(1000)
logd("unlocked " + n)
}
logd(console.timeEnd("1"))
//锁住时间明显更短
}
main();
系统按键相关
home 返回主页
- 返回主页
- @return
{null|布尔型}
function main() {
var result = home();
if (result) {
logd("成功");
} else {
logd("失败");
}
}
main();
reboot 重启设备
- 重启设备
- @return
{null|布尔型}
function main() {
var result = reboot();
if (result) {
logd("成功");
} else {
logd("失败");
}
}
main();
lock 锁定屏幕
- 锁定屏幕
- @return
{null|布尔型}
function main() {
var result = lock();
if (result) {
logd("