drawio二次开发

本文介绍了如何进行drawio的二次开发,包括在Ubuntu下搭建项目,在index.html中启用开发者模式,解决文件找不到的问题,以及如何在开发者模式下修改源码和调试。通过全局搜索关键字、断点调试和Elements断点调试等方法,帮助开发者深入理解并定制drawio功能。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

记录一下 二次开发drawio的过程

首先要说一下 drawio 这个东西是真的很强大,由于公司业务的发展,需要用到或者界面编辑工具,话不多说直接刚。

首先先去将项目搭建起来,我搭建过程是在Ubuntu下搭建的,搭建过程很简单,打包编译成war包后运行在tomcat下面就可以了。这里就不详细讲搭建过程了,具体自己搜索一下  网上搭建教程很多,操作很简单。下面我主要讲一下 怎么进入到开发者模式去开发调试。

在index.html 文件中   urlParams['dev'] == '1'  这里改成一下的代码,这里我也是看到网上的大佬改的  具体如下

if (urlParams['dev'] == '1')
		{
			var mxDevUrl = document.location.origin+document.location.pathname; 
			if (document.location.protocol == 'file:')
			{
			mxDevUrl = '../../mxgraph2';

			// Forces includes for dev environment in node.js
			mxForceIncludes = true;
			}

			var geBasePath = mxDevUrl + 'js/mxgraph/';
			//mx盲猜就是 mxgraph
			var mxBasePath = mxDevUrl + 'js/mxgraph/';

			// Used to request draw.io sources in dev mode
			var drawDevUrl = mxDevUrl;

			mxscript(drawDevUrl + 'js/diagramly/Init.js');
			mxscript(geBasePath + 'Init.js');
			mxscript(geBasePath + 'jquery-3.4.1.js');
			mxscript(mxDevUrl + 'js/mxgraph/mxClie
<think>好的,我现在需要帮助用户了解米家中控设备的二次开发方法或资源,特别是SDK文档和教程。首先,我需要整理已有的引用信息,看看里面有没有相关的资料。 引用[1]提到了GitHub上的一个仓库,可能包含一些开发者资源或SDK的发布版本。用户可能需要访问这个链接来获取最新的SDK或工具。引用[2]说明了米家设备通过WiFi和Zigbee网关接入的方式,指出Zigbee设备需要通过特定网关接入。这可能涉及到不同协议的开发方法,比如WiFi设备直接接入,而Zigbee设备需要网关支持。引用[3]提供了一个使用miio库控制米家智能插座的例子,使用命令行工具发送指令。这显示miio或miot协议可能用于控制部分设备。 接下来,用户需要的是二次开发的SDK文档和教程。现有的引用中,引用[3]的miio和miot可能是关键点。需要进一步确认是否有官方SDK或第三方库支持。例如,miio库是一个Python库,可以控制部分米家设备,但可能不是官方的。此外,米家可能对第三方开发有权限限制,需要获取设备的IP和token,这可能涉及逆向工程,存在一定的技术门槛和合规风险。 另外,引用[2]提到Zigbee设备需要通过网关接入,因此二次开发可能需要与这些网关的API交互。可能需要查找Aqara网关或其他网关的开发文档,是否有开放API或SDK。 还需要考虑不同设备的通信协议差异,WiFi设备可能使用miIO协议,而Zigbee设备可能使用不同的协议,可能需要不同的处理方法。同时,用户提到的中控设备可能涉及多个设备的管理,需要集成不同协议的控制方法。 可能存在社区资源或开源项目,比如GitHub上的相关仓库,用户可以参考这些项目进行开发。此外,官方是否有开发者平台或论坛提供支持?需要检查米家或小米的官方网站是否有开放给开发者的资源。 总结可能的步骤:1. 使用miio/miot协议控制WiFi设备;2. 通过网关控制Zigbee设备;3. 获取设备token和IP;4. 使用现有库或开发工具包进行二次开发;5. 参考社区资源和开源项目。 需要提醒用户注意法律和合规问题,确保二次开发不违反服务条款,同时设备token的获取可能涉及安全风险。此外,不同设备型号可能有不同的兼容性,需逐一测试。</think>### 米家中控设备二次开发方法及资源整理 米家中控设备的二次开发主要依赖于设备通信协议和第三方开源工具,但需注意官方未提供完整的SDK文档,部分方法需通过技术探索实现。以下是关键方法和资源: --- #### 1. **设备通信协议与接入方式** - **WiFi直连设备**:如智能插座、灯泡等,可通过`miIO`或`miOT`协议直接控制。设备需与开发者设备在同一局域网内,且需获取设备的`IP`和`token`[^2][^3]。 - **Zigbee设备**:需通过网关(如米家多功能网关、Aqara网关)接入,开发者需与网关交互,间接控制子设备[^2]。 --- #### 2. **开发工具与库** - **miio库(Python)** 一个第三方库,支持控制部分米家设备。示例控制智能插座开关: ```python # 安装库:pip install python-miio from miio import ChuangmiPlug plug = ChuangmiPlug(ip="<设备IP>", token="<设备token>") plug.on() # 开启插座 plug.off() # 关闭插座 ``` 详细用法参考[python-miio文档](https://github.com/rytilahti/python-miio)。 - **miot协议扩展** 支持更广泛设备,通过`siid`(服务ID)和`piid`(属性ID)控制: ```bash miiocli miotdevice --ip <IP> --token <token> raw_command set_properties "[{'siid':2, 'piid':1, 'value':False}]" ``` 此命令可关闭插座。 --- #### 3. **获取设备token** - **官方方法**:通过米家App绑定设备后,从云端日志或数据库提取(需Root权限)。 - **第三方工具**:如[Xiaomi Cloud Tokens Extractor](https://github.com/PiotrMachowski/Xiaomi-cloud-tokens-extractor),可批量获取账号下设备的token。 --- #### 4. **开源项目与社区资源** - **Home Assistant集成** [Home Assistant](https://www.home-assistant.io/integrations/xiaomi_miio/) 提供了对米家设备的原生支持,代码可参考其插件实现。 - **GitHub仓库** - [python-miio](https://github.com/rytlahti/python-miio):主流控制库。 - [MiJia-Developer](https://github.com/Mijia-Developer):部分设备协议逆向工程记录[^1]。 --- #### 5. **注意事项** - **合规性**:未经授权的控制可能违反设备服务条款。 - **兼容性**:不同设备型号的协议可能差异较大,需针对性适配。 - **安全性**:设备token泄露可能导致隐私风险。 --- ###
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值