Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
DCloud
uni-app
提交
9692b151
U
uni-app
项目概览
DCloud
/
uni-app
3 个月 前同步成功
通知
720
Star
38705
Fork
3642
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
7
列表
看板
标记
里程碑
合并请求
1
DevOps
流水线
流水线任务
计划
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
U
uni-app
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
7
Issue
7
列表
看板
标记
里程碑
合并请求
1
合并请求
1
Pages
DevOps
DevOps
流水线
流水线任务
计划
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
流水线任务
提交
Issue看板
体验新版 GitCode,发现更多精彩内容 >>
提交
9692b151
编写于
6月 26, 2023
作者:
DCloud-WZF
💬
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
wip(uts): automator page.$ $$
上级
d5abaf41
变更
2
隐藏空白更改
内联
并排
Showing
2 changed file
with
50 addition
and
2 deletion
+50
-2
packages/uni-app-uts/lib/automator/apis/Page.uts
packages/uni-app-uts/lib/automator/apis/Page.uts
+39
-2
packages/uni-app-uts/lib/automator/index.uts
packages/uni-app-uts/lib/automator/index.uts
+11
-0
未找到文件。
packages/uni-app-uts/lib/automator/apis/Page.uts
浏览文件 @
9692b151
...
...
@@ -27,9 +27,9 @@ export const pageSetData = (params: SetDataParams): void => {
const page = getPageVm(pageId)
if (page !== null) {
setData(page, params.data)
callback({ result: { errMsg: 'setData: ok.' } })
callback({ result: { errMsg: '
Page.
setData: ok.' } })
} else {
callback({ result: { errMsg: `setData:fail, Page:${pageId} is not found.` } })
callback({ result: { errMsg: `
Page.
setData:fail, Page:${pageId} is not found.` } })
}
}
export type CallMethodParams = {
...
...
@@ -50,3 +50,40 @@ export const callMethod = (params: CallMethodParams): void => {
params.callback({result: {result}})
}
}
export type GetElementParams = {
pageId: number
selector: string
callback: (res?: any | null) => void
}
export const getElement = (params: GetElementParams): void => {
const page = getPageVm(params.pageId)
if (page === null) {
params.callback({ result: { errMsg: `Page[${params.pageId}] not exists` } })
} else {
const element = page.$querySelector(params.selector)
const result = {
elementId: element !== null ? element.id : null,
tagName: element !== null ? element.tagName : null
}
params.callback(result)
}
}
export const getElements = (params: GetElementParams): void => {
const page = getPageVm(params.pageId)
if (page === null) {
params.callback({ result: { errMsg: `Page[${params.pageId}] not exists` } })
} else {
const elements = page.$querySelectorAll(params.selector)
const result = [] as UTSJSONObject[]
elements?.forEach(element => {
result.push({
elementId: element.id,
tagName: element.tagName
})
})
params.callback({ elements: result })
}
}
packages/uni-app-uts/lib/automator/index.uts
浏览文件 @
9692b151
...
...
@@ -17,6 +17,9 @@ import {
SetDataParams,
CallMethodParams,
callMethod as pageCallMethod,
GetElementParams as PageGetElementParams,
getElement as pageGetElement,
getElements as pageGetElements,
} from './apis/Page.uts'
import { socketEmitter, SocketEmitterParams } from './apis/App/Socket.uts'
...
...
@@ -89,6 +92,14 @@ function onMessage(msg: string) {
const args = ((params['args'] as UTSJSONObject).toJSONObject() as JSONArray).toUTSArray()
pageCallMethod({ pageId, method, args, callback } as CallMethodParams)
break
case 'Page.getElement':
const selector = params['selector'] as string
pageGetElement({ pageId, selector, callback } as PageGetElementParams)
break
case 'Page.getElements':
const selector = params['selector'] as string
pageGetElements({ pageId, selector, callback } as PageGetElementParams)
break
}
}
} catch (error) {
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录