@udhold/udhold-api-types
v0.0.8
Published
UDhold API 代码提示
Maintainers
Readme
UDhold 官方类型辅助文件
提供代码提示文件
- udhold.api.d.ts
window.udhold对象类型提示 - electron.d.ts preload 内
electron模块导入提示 - resource/udhold.schema 配置文件 JSON Schema
window.udhold 对象类型提示
目前将 udhold 挂载到全局 window 下,提供在渲染层跟 preload 层的群体代码提示
第一步
npm install @udhold/udhold-api-types --save-dev第二步 配置 tsconfig.json
{
"compilerOptions": {
"types": ["@udhold/udhold-api-types"]
},
"includes": [
// 如果使用ts或者框架,请添加需要类型提示的文件范围
// 案例:
// src/**/*.ts
// preload.js
]
}API 代码示例
// 默认浏览器打开网页
window.udhold.shellOpenExternal('https://u.tools')
// 在资源管理器中显示文件
window.udhold.shellShowItemInFolder('d:\\test')
// ubrowser 网页自动化
window.udhold.ubrowser
.goto('https://cn.bing.com')
.value('#sb_form_q', 'UDhold')
.click('#sb_form_go')
.run({ width: 1000, height: 600 })
// 值键对方式存储数据
window.udhold.dbStorage.setItem('key', 'value')
// 执行截图
window.udhold.screenCapture((imagebase64) => {
// 截图完的回调
})
// 执行取色
window.udhold.screenColorPick(({ hex, rgb }) => {
// 取色完的回调
})electron 模块代码提示
引入此类型文件后,支持在 cjs 模式下也提供定制化的 electron 模块 api 提示
在 UDhold 中,可以通过 cjs 的形式直接使用部分
electron的 api ,但是此部分支持是直接通过 UDhold 内置的 nodejs 实现,因此请勿下载额外的electron依赖。
API 代码示例
// preload.js
const { ipcRenderer } = require('electron')
window.onMyChannel = (callback) => {
ipcRenderer.on('myChannel', (e, data) => {
callback?.({
...data,
senderId: e.senderId
})
})
}
window.ipc = ipcRenderer配置文件 JSON Schema
通过 JSON Schema 实现了在 plugin.json 内的代码提示
引入 JSON Schema 需要在 plugin.json 的第一行添加 $schema 字段:
{
"$schema": "node_modules/@udhold/udhold-api-types/resource/udhold.schema.json"
}添加
$schema时,需要注意跟plugin.json所在的文件位置有关系,必须是相对于plugin.json的位置
