摘要:另一個(gè)是,插件實(shí)現(xiàn)此接口。最后在動(dòng)態(tài)增加菜單,按下菜單時(shí)呼叫對(duì)應(yīng)的插件。在運(yùn)行程序的目錄創(chuàng)建一個(gè)文件夾把插件進(jìn)去,重啟即可生效。
作為一個(gè)NEO區(qū)塊鏈技術(shù)愛(ài)好者,經(jīng)常要擺弄NEOGUI,而NEOGUI在眾多開(kāi)發(fā)者手中有了眾多的分支實(shí)現(xiàn),我也有自己的分支改版。這是一件很麻煩的事情。
雖然NEO-GUI定位為一個(gè)演示客戶端與開(kāi)發(fā)工具,不過(guò)使用他的開(kāi)發(fā)者還是很多的,大家都要對(duì)NEO-GUI進(jìn)行各式各樣的修改。
那么為什么不增加一個(gè)插件機(jī)制呢,說(shuō)干就干。
先貼地址,此分支版本的源碼在
https://github.com/lightszero...
為neo neovm neogui 三合一,隨時(shí)和NEO倉(cāng)庫(kù)保持同步。
先增加一個(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ī)制就完成了。
我們先來(lái)看一下效果
剛加上插件機(jī)制,和普通客戶端并無(wú)不同,那個(gè)good請(qǐng)無(wú)視掉,本來(lái)應(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://specialneedsforspecialkids.com/yun/72659.html
摘要:輸出類似強(qiáng)行刪除某插件此方法用于卸載插件失敗時(shí)的替補(bǔ)方法,老高一般將此方法寫(xiě)入插件的方法里,這樣刷新以下后臺(tái),出問(wèn)題的插件就被卸載了。比如老高的插件,就用此方法為系統(tǒng)添加了一個(gè)的路由。 此文原本發(fā)表于我的博客 老高的技術(shù)博客 ,歡迎和老高交流! Helper類為我們封裝了很多與插件有關(guān)的操作,并且全部是公共靜態(tài)方法,比如獲取系統(tǒng)配置、添加路由、添加面板等功能,是開(kāi)發(fā)插件必不可少的工...
摘要:創(chuàng)建插件對(duì)于來(lái)講是很簡(jiǎn)單的事情,因?yàn)椋峁┝艘粋€(gè)插件構(gòu)建器具體步驟這里就不贅述了。安裝完成后,會(huì)出現(xiàn)上圖所示的菜單創(chuàng)建自己的插件的方法是點(diǎn)擊如下圖所示的小按鈕。 創(chuàng)建插件對(duì)于October來(lái)講是很簡(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)鍵,一開(kāi)始沒(méi)有認(rèn)真看,將插件導(dǎo)進(jìn)工程跑的時(shí)候各種問(wèn)題,十分頭痛,不得不重新認(rèn)真看看文檔。 前言 來(lái)新公司的第一個(gè)任務(wù),研究hybrid App中間層實(shí)現(xiàn)原理,做中間層插件開(kāi)發(fā)。這個(gè)任務(wù)挺有意思,也很有挑戰(zhàn)性,之前在DCloud雖然做過(guò)5+ App開(kāi)發(fā),但是中間層的東西確實(shí)涉及不多。本系列文章屬于系列開(kāi)篇cord...
摘要:云存儲(chǔ)問(wèn)題,帳號(hào)系統(tǒng),多端同步最開(kāi)始只想做瀏覽器本地的存儲(chǔ),使用提供的存在本地就。具體解決方案云存儲(chǔ)及帳號(hào)系統(tǒng)使用提供的存儲(chǔ)服務(wù)解決。 0. 目錄 要開(kāi)發(fā)的是什么項(xiàng)目 1.1 想法開(kāi)端 1.2 應(yīng)該有什么功能? 開(kāi)發(fā)需要解決的核心問(wèn)題 具體解決方案 3.1 帳號(hào)系統(tǒng) 3.2 存儲(chǔ)服務(wù) 3.3 使用`LeanEngine`做反防盜鏈中轉(zhuǎn)接口 3.4 Chrome 插件實(shí)現(xiàn) 對(duì)去...
閱讀 1644·2021-11-24 09:39
閱讀 3083·2021-11-22 15:24
閱讀 3091·2021-10-26 09:51
閱讀 3277·2021-10-19 11:46
閱讀 2891·2019-08-30 15:44
閱讀 2217·2019-08-29 15:30
閱讀 2537·2019-08-29 15:05
閱讀 773·2019-08-29 10:55