记录一下陀螺匠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,选第一个就行,点击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万+。