node-ddk,electron 开发组件

node-ddk-demo

说明

node-ddk 是 ELECTRON 开发框架, 封装常见操作

ts 复制代码
npm i node-ddk

演示:
https://live.csdn.net/v/468440

本项目是一个DEMO,

项目地址: https://gitee.com/linuxmail/node-ddk-demo

ts 复制代码
git clone https://gitee.com/linuxmail/node-ddk-demo
cd node-ddk-demo
npm i
npm run dev
// npm run build

目录结构

ts 复制代码
// 代码路径
src/
// 主进程
src/main
// 预加载
src/main/preload.ts
// 主进程入口
src/main/main.ts
// 渲染进程
src/renderer
// 渲染进程入口
src/renderer/app.ts

API 接口, 用法

见项目源码, 里面有用法和说明

主进程, 几个小例子

ts 复制代码
import main, { NODEDDK } from "node-ddk/main"

// 设置图标
main.app.setFavicon(main.app.getPathInPublic("icons/favicon.png"))

// 托盘右键菜单
main.tray.setContextMenu([
  {
    label: "显示主窗口",
    click: async () => { }
  },
  {
    label: "退出",
    click: async () => { }
  },
])

// 注册一个自定义的服务
main.ipc.registerListenModule("do-sth", async (req) => {
  console.log("do-sth req:", req)
  return {
    data: { ccc: "nihao", yourReqData: req.data, versions: process.versions },
  }
})

渲染进程, 几个用法

ts 复制代码
import renderer, { NODEDDK } from "node-ddk/renderer"

// 窗口最大化
await renderer.window.maximize()

// 内容缩放, 扩大到 120%
await renderer.window.setZoomFactor(1.2)

// 托盘闪动 10s, 托盘提示为 test
renderer.tray.startFlashing({ period: 10 * 1000, tooltip: "test" })

// 用操作系统默认程序, 打开文件
await renderer.shell.openLocalFile({ path: "/etc/resolv.conf" })
相关推荐
陈随易13 分钟前
一个网吧网管,做了个网页,卖了 5000 万
前端·后端·程序员
jktantan9 小时前
Vue keep-alive 切标签后滚动位置回顶?因为 onDeactivated 里读到的 scrollTop 是 0
前端·javascript·vue.js
总要学点什么9 小时前
第89篇:三维特效-螺旋圆效果——让螺旋臂卷起一圈圈外扩的涟漪
开发语言·javascript·ecmascript·webgl·cesium·空间分析·1024程序员节
只睡四小时9 小时前
MCP 弃用 SSE?Node 分帧漏 81.7% 事件
node.js·webassembly·实时通信·mcp·streamable http
2601_9628857210 小时前
quotes 字段全解:涨跌幅、振幅、换手率的口径与单位
java·前端·spring
excel10 小时前
encodeURI 和 encodeURIComponent 有什么区别?
前端
前端精髓10 小时前
调用openrouter的免费API模型
java·前端·javascript
赛博守夜人10 小时前
AI安全攻防与治理之十四:AI 安全测试不能脱离传统安全,Web、API、移动端与模型攻击面的组合拳
前端·人工智能·安全
开开心心_Every10 小时前
快速隐藏程序工具自定义快捷键一键切换
java·开发语言·前端·spring·智能手机·word·intellij-idea
networknomad11 小时前
OpenReplay:自己搭的会话回放工具,给前端排错用的
前端·其他