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" })
相关推荐
子兮曰24 分钟前
后端字段又改了?我撸了一个 BFF 数据适配器,从此再也不怕接口“屎山”!
前端·javascript·架构
万少2 小时前
使用Trae轻松安装openclaw的教程-附带免费token
前端·openai·ai编程
颜酱3 小时前
一步步实现字符串计算器:从「转整数」到「带括号与优化」
javascript·后端·算法
浪浪山_大橙子3 小时前
OpenClaw 十分钟快速,安装与接入完全指南 - 推荐使用trae 官方 skills 安装
前端·人工智能
忆江南3 小时前
iOS 可视化埋点与无痕埋点详解
前端
离开地球表面_993 小时前
金三银四程序员跳槽指南:从简历到面试再到 Offer 的全流程准备
前端·后端·面试
_柳青杨3 小时前
跨域获取 iframe 选中文本?自己写个代理中间层,再也不求后端!
前端
比尔盖茨的大脑3 小时前
事件循环底层原理:从 V8 引擎到浏览器实现
前端·javascript·面试
天才熊猫君3 小时前
Vue3 命令式弹窗原理和 provide/inject 隔离机制详解
前端
bluceli3 小时前
Vue 3 Composition API深度解析:构建可复用逻辑的终极方案
前端·vue.js