摘要:另一個(gè)是,插件實(shí)現(xiàn)此接口。最后在動(dòng)態(tài)增加菜單,按下菜單時(shí)呼叫對(duì)應(yīng)的插件。在運(yùn)行程序的目錄創(chuàng)建一個(gè)文件夾把插件進(jìn)去,重啟即可生效。
作為一個(gè)NEO區(qū)塊鏈技術(shù)愛好者,經(jīng)常要擺弄NEOGUI,而NEOGUI在眾多開發(fā)者手中有了眾多的分支實(shí)現(xiàn),我也有自己的分支改版。這是一件很麻煩的事情。
雖然NEO-GUI定位為一個(gè)演示客戶端與開發(fā)工具,不過使用他的開發(fā)者還是很多的,大家都要對(duì)NEO-GUI進(jìn)行各式各樣的修改。
那么為什么不增加一個(gè)插件機(jī)制呢,說干就干。
先貼地址,此分支版本的源碼在
https://github.com/lightszero...
為neo neovm neogui 三合一,隨時(shí)和NEO倉庫保持同步。
先增加一個(gè)插件模塊,里面有兩個(gè)接口,一個(gè)IAPI,提供客戶端暴露給插件使用的接口
NEOGUI 繼承此接口。另一個(gè)是IPLUGIN,插件實(shí)現(xiàn)此接口。
然后在NEO-GUI啟動(dòng)時(shí),動(dòng)態(tài)尋找插件的dll,用反射方法找出其中的插件類型,并創(chuàng)建實(shí)例。
最后在NEO-GUI動(dòng)態(tài)增加菜單,按下菜單時(shí)呼叫對(duì)應(yīng)的插件。
這個(gè)插件機(jī)制就完成了。
我們先來看一下效果
剛加上插件機(jī)制,和普通客戶端并無不同,那個(gè)good請(qǐng)無視掉,本來應(yīng)該安置一個(gè)插件管理器什么的。
在運(yùn)行程序的目錄
創(chuàng)建一個(gè)文件夾
把插件copy進(jìn)去,重啟gui即可生效。
我們先copy 一個(gè) sample_plugin
效果如下,為這個(gè)插件增加了一個(gè)菜單項(xiàng)
功能是簡(jiǎn)單的彈出了一個(gè)對(duì)話框
這個(gè)插件的源碼非常簡(jiǎn)潔
我們?cè)侔惭b另一個(gè)插件,他有一個(gè)實(shí)際的功能,
可以查詢storage存儲(chǔ)區(qū)里面的內(nèi)容
對(duì)neogui源碼的侵入性也很小
目前只修改了這么多NeoGUI的源碼。
作者:李劍英
原文鏈接:http://www.cnblogs.com/crazyl...
文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請(qǐng)注明本文地址:http://systransis.cn/yun/72659.html
摘要:輸出類似強(qiáng)行刪除某插件此方法用于卸載插件失敗時(shí)的替補(bǔ)方法,老高一般將此方法寫入插件的方法里,這樣刷新以下后臺(tái),出問題的插件就被卸載了。比如老高的插件,就用此方法為系統(tǒng)添加了一個(gè)的路由。 此文原本發(fā)表于我的博客 老高的技術(shù)博客 ,歡迎和老高交流! Helper類為我們封裝了很多與插件有關(guān)的操作,并且全部是公共靜態(tài)方法,比如獲取系統(tǒng)配置、添加路由、添加面板等功能,是開發(fā)插件必不可少的工...
摘要:創(chuàng)建插件對(duì)于來講是很簡(jiǎn)單的事情,因?yàn)椋峁┝艘粋€(gè)插件構(gòu)建器具體步驟這里就不贅述了。安裝完成后,會(huì)出現(xiàn)上圖所示的菜單創(chuàng)建自己的插件的方法是點(diǎn)擊如下圖所示的小按鈕。 創(chuàng)建插件對(duì)于October來講是很簡(jiǎn)單的事情,因?yàn)?,October提供了一個(gè)插件構(gòu)建器:RainLab.Builder showImg(https://segmentfault.com/img/bVbcoxL?w=1266&h...
摘要:任何初始化任務(wù)應(yīng)該在文件中的事件的事件處理函數(shù)中。這個(gè)配置文件有幾個(gè)地方很關(guān)鍵,一開始沒有認(rèn)真看,將插件導(dǎo)進(jìn)工程跑的時(shí)候各種問題,十分頭痛,不得不重新認(rèn)真看看文檔。 前言 來新公司的第一個(gè)任務(wù),研究hybrid App中間層實(shí)現(xiàn)原理,做中間層插件開發(fā)。這個(gè)任務(wù)挺有意思,也很有挑戰(zhàn)性,之前在DCloud雖然做過5+ App開發(fā),但是中間層的東西確實(shí)涉及不多。本系列文章屬于系列開篇cord...
摘要:云存儲(chǔ)問題,帳號(hào)系統(tǒng),多端同步最開始只想做瀏覽器本地的存儲(chǔ),使用提供的存在本地就。具體解決方案云存儲(chǔ)及帳號(hào)系統(tǒng)使用提供的存儲(chǔ)服務(wù)解決。 0. 目錄 要開發(fā)的是什么項(xiàng)目 1.1 想法開端 1.2 應(yīng)該有什么功能? 開發(fā)需要解決的核心問題 具體解決方案 3.1 帳號(hào)系統(tǒng) 3.2 存儲(chǔ)服務(wù) 3.3 使用`LeanEngine`做反防盜鏈中轉(zhuǎn)接口 3.4 Chrome 插件實(shí)現(xiàn) 對(duì)去...
閱讀 1704·2021-11-24 09:39
閱讀 3175·2021-11-22 15:24
閱讀 3106·2021-10-26 09:51
閱讀 3297·2021-10-19 11:46
閱讀 2910·2019-08-30 15:44
閱讀 2231·2019-08-29 15:30
閱讀 2549·2019-08-29 15:05
閱讀 792·2019-08-29 10:55