記錄一下陀螺匠OA系統開發的過程和所需要的工具,通過這篇文章你可以學會陀螺匠OA系統的二次開發。
【產品名稱】:陀螺匠OA
【產品版本】:v1.8商業版,開源版或其他版本大同小異
【部署方式】:linux寶塔面板
【部署環境】:線上環境
【php版本】:8.0
【Mysql版本】:5.7
【使用終端】: PC后臺
【開發工具】:
工具 作用
VSCODE:代碼編輯 官方下載地址
Windsurf: 簡單理解為VSCODE的AI版本,和VSCODE二選一 官方下載地址
SFtp插件:代碼同步
FinalShell:日志查看 官方下載地址
Git:代碼版本控制(可選)官方下載地址
【開發概述】:
1. 首先按照官方的文檔(安裝文檔),安裝好陀螺匠。保證能夠正常訪問。
2. 把線上版本的陀螺匠源代碼解壓到本地,用VSCODE打開。
3. 安裝VSCODE的SFTP插件。需要準備云服務器的SSH root賬號信息(非root也可以的)。
4. 用Log輸出日志用來調試,用FinalShell來查看日志。
5. 按照你要修改的需求,去修改代碼,設置調試日志輸出,實時看日志輸出來判斷代碼的正確性,直到完成開發。
6.可選用Git來管理代碼版本。
【關鍵信息】:
1. 本地代碼和云端代碼同步是通過VSCODE的Sftp插件來同步,需要SSH登錄信息,云端目錄要注意對應好本地目錄。
2. 云端日志是按照時間和日期來存儲的,一天一個文件,比如oa.xxx.com/storage/logs/2025/05/service-05.log,2025和05以及service-05當中的05都是根據日期變化的。如果當天沒有日志,目錄和文件就不存在。
3. 日志輸出用的是Illuminate\Support\Facades\Log類,輸出方式是Log::debug("Hello Tuoluojiang")。
【開發實戰】:
安裝好前面的開發工具。
云端部署目錄,我這里是 /www/wwwroot/test.xxxx.com ,這個后面會用到:
把云端的部署代碼打包成一個壓縮包,然后下載下來,解壓放到本地。因為部署后配置文件有改動,所以用線上的代碼壓縮包能避免線上配置文件被覆蓋。
比如我的是在 D://Projects//oa.xxx.com :
在這里我會習慣性的用Git來管理項目的版本修改。(可選)
打開本地項目的文件目錄,比如 D://Projects//oa.xxx.com ,然后在地址欄輸入 cmd , 打開命令行窗口,執行命令:
git init .
git add *
git commit -m "frist version"
然后用VSCODE(或者Windsurf)打開項目目錄。
接下來安裝SFTP插件,用來實時同步本地的修改到云端服務器。
在VSCODE左邊插件欄搜索sftp,建議選擇作者是Natizyskunk的,點擊install。
安裝好sftp插件后,回到項目目錄按Ctrl+Shift+P快捷鍵,選擇并點擊 SFTP: Config。
配置文件內容參考如下,替換成你自己的實際信息,然后保存:
{
"name": "Test Server",
"host": "8.140.xxx.xxx",
"protocol": "sftp",
"port": 22,
"username": "root",
"password": "xxxxxxxx",
"remotePath": "/www/wwwroot/oa.xxxx.com/",
"uploadOnSave": true
}
測試同步是否正確:
找到項目里面的.env.example文件,修改APP_NAME為TuoluojiangDev2025,按Ctrl+S保存代碼,如果SFTP的uploadOnSave設置為False,需要右鍵點擊這個文件,然后選擇Upload File手動上傳。然后去云端對應的目錄找到.env.example文件看看是否已經修改。
看截圖我這里云端是同步了本地的修改,如果沒有同步請檢查配置文件是否正確。
測試一下日志輸出。假設我們要在獲取合同列表這里做些修改,我們這里就只增加一條測試輸出來代替。找到app\Http\Controller\AdminApi\Client\ContractController.php文件。在文件頂部增加一條引用:use Illuminate\Support\Facades\Log。
找到index函數,并且在函數底部增加一條日志輸出:
Log::debug("Hello Tuoluojiang.");
然后保存代碼,讓本地代碼同步到云端。然后再去刷新一次客戶>合同管理。
接下來檢查日志的輸出。用剛才SFTP的配置信息,配置好FinallShell。也可以用其他SSH鏈接客戶端或者直接用寶塔面板的命令行終端,但是寶塔的命令行畢竟是網頁版的,臨時用可以,如果開發一個大功能,還是穩定用FinalShell方便點。
檢驗是否成功。點擊剛才創建的鏈接,如果能正常鏈接,看到的是如下界面。不然會有錯誤提示,請按照提示找下原因。
然后我們用cd命令切換到陀螺匠的日志輸出目錄,完整命令如下:
cd /www/wwwroot/oa.xxx.com/storage/logs/2025/05
ls
tail -f service-05.log
請注意這里的目錄是動態創建的,比如storage/logs/2025/05,2025是今年的年份,05是當前的月份,如果沒有日志,2025和05這兩個目錄是空的。service-05.log這個文件的05是當天的日期,我這里今天是2025年5月5號,如果今天是12號,應該是tail -f service-12.log以此類推。如果看到Hello Tuoluojiang的輸出,說明我們的日志添加成功。
好了,到這里,恭喜你!后端代碼就可以正常進行開發了。
一般修改都是要配置前端一起改的,篇幅有限前端修改就暫時不寫了,有需要的朋友請留言:前端修改教程,超過5個朋友安排。
個人水平有限,如果錯誤或者更好的開發工具協同方案,歡迎指出和交流。有疑問也歡迎留言。
最后,介紹一下自己:我是陀螺匠官方服務商,承接陀螺匠的二次開發業務,有需要深度定制OA系統的公司歡迎聯系。目前已收陀螺匠定制開發費用2萬+。