webman AI 二次開(kāi)發(fā)必讀
注意
以下二開(kāi)文檔是基于 webman AI 5.1.0 及以上版本的,如果你的版本低于此版本,請(qǐng)先升級(jí)到最新版本。
強(qiáng)烈建議新建一個(gè)應(yīng)用插件用來(lái)存放二次開(kāi)發(fā)代碼,當(dāng)然也可將二開(kāi)代碼放置于主項(xiàng)目,但是不能直接修改AI的源碼,否則升級(jí)會(huì)導(dǎo)致代碼覆蓋。
接下來(lái)的章節(jié)都是基于新建插件的方式二開(kāi)AI,如果你選擇將二開(kāi)代碼放置于主項(xiàng)目,代碼是類似的,只不過(guò)目錄及命名空間不同。
創(chuàng)建插件方法
首先確保安裝了 webman/console 組件并且確保版本>=1.3.6,如果沒(méi)有安裝或者版本不對(duì),請(qǐng)執(zhí)行以下命令安裝或升級(jí)
composer require webman/console ^v1.3.6
執(zhí)行命令創(chuàng)建插件
php webman app-plugin:create foo
插件名稱為字母組合,上面示例中使用foo
作為插件名
執(zhí)行后會(huì)自動(dòng)創(chuàng)建plugin/foo
目錄,這個(gè)目錄的文件結(jié)構(gòu)與webman是一樣的,開(kāi)發(fā)體驗(yàn)也類似。如果想更多了解webman應(yīng)用插件請(qǐng)參考應(yīng)用插件
我們所有的二開(kāi)代碼應(yīng)該放到 plugin/{你的插件名稱}/
目錄下。
二開(kāi)原理
為了不入侵AI的源碼,我們可以通過(guò)以下方法二次開(kāi)發(fā)AI
- 利用中間件更改頁(yè)面內(nèi)容(包括插入css、js、html等,下同)
- 利用路由覆蓋更改頁(yè)面內(nèi)容,也就是將原有路由指向新的控制器
- 利用中間件給某些控制器的添加業(yè)務(wù)邏輯
- 利用事件監(jiān)聽(tīng)器介入注冊(cè)、登錄、退出、支付、菜單列表、大模型請(qǐng)求、大模型響應(yīng)、圖片生成等事件,完成二次開(kāi)發(fā)
下面的章節(jié)將詳細(xì)介紹以上幾種方法。