https://gitee.com/vip_huage/webman-admin-electron (保持同步)
https://github.com/Mr-ShiHuaYu/webman-admin-electron (主仓库)
使用electron框架,封装了webman,使得webman直接变成客户端,运行后,自动启动webman服务,退出软件后,自动关闭所有webman进程及子进程。
蓝奏云:
webman-admin-electron-win-0.0.1-x64.7z:
https://wwck.lanzoub.com/ijpmV2tsl94j
webman-admin-electron-win-0.0.1-x64.exe:
https://wwck.lanzoub.com/iQ6pO2tsmjde
https://gitee.com/vip_huage/webman-admin-electron/releases/tag/0.0.1
https://github.com/Mr-ShiHuaYu/webman-admin-electron/releases/tag/0.0.1
一定不能放在含有有中文的目录
一定不能放在含有空格的目录
例如,以下目录均不行
C:\Program Files //不行,有空格
D:\软件\webman-admin-electron // 不行,含有中文目录
双击 electron-webman.exe运行
用户名:admin
密码:admin
此项目为electron和webman的结合,将webman项目和php放在resources\extraResources下,会自动启动服务,软件关闭后,会自动关闭所有webman进程及子进程。
仓库源地址是electron-egg,我将其改为可根据setting.json动态配置,以及适配webman
源仓库地址:
https://gitee.com/dromara/electron-egg
源仓库官方文档:
https://www.kaka996.com/
部分原软件的设置没有迁移过来,个人觉得够用了,后续再添加
如果软件打开后,无法正常显示,大概是因为setting.json中的webman的port配置错误,请核对是否与webman项目下的config.php中的listen的端口一致
demo项目已改为兼容sqlite后,不支持原项目的所有表功能,webman官网只支持mysql,已注释下面 table.render 代码
建议在mysql上开发好后,使用navicat的数据库迁移工具,将mysql数据库转为sqlite数据库,然后,关闭代码生成等功能
为了兼容sqlite,需要替换源webman-admin框架的2个文件,一个是
plugin/admin/app/common/Util.php
plugin/admin/app/controller/Crud.php
可以自行对比修改了什么内容
如果在新电脑上运行,可能需要将resource\php8的目录添加到环境变量中,测试中发现,绝对路径\php.exe 绝对路径\windows.php 会提示 php is not recognized as an internal command,但如果将windows.php换成start.php就没事。可能是因为没有注释掉那个监控进程导致的。
如果在新客户端上部署,出现上面这个问题的话,2个建议,一是将monitor进程注释,二是将resource\php8的目录添加到环境变量中。可以使用下面语句,制作成.bat文件,用户双击即可添加环境变量。
setx path /m "%path%;%~dp0resources\php8.0;"
实际测试,如果不想加环境变量,则必须关闭monitor进程,不是因为monitor进程导致环境变量的问题,而是php.exe 后面在没有环境变量的环境下,就不能跟2个php文件,所以,在交付给客户的时候,建议关闭monitor进程
cool 这就很棒棒了
嘻嘻,谢谢,我已经用这个做了好几个客户端了,开发速度杠杠的
强
感谢老大捧场
点赞
666
支持支持,感觉还是前后端分离打包安全点,这样数据库配置也在客户端
用的是sqlite,客户端的数据,你用其他软件做的放在,也是在客户端呀
改了代码,要怎样重新生成exe呢?
exe就不需要重新生成呀,你的php代码是放在resourece\webman\下的
给楼主点赞
以后做桌面的话,可以尝试一下
感谢分享
这。。。
这是你自己业务的错误哦
我这边测试mkdir没问题
递归创建目录的话,你第三个参数要写true,不能省略的
呃,我下载下来就双击的,没有业务呢,难道跟我环境有关系
你本地测试可以?或者启动后,浏览器运行webman的地址测试
呃,运行测试地址后就可以了
可以发代码出来看看?
mkdir的话,如果是多级目录,如果第3个参数没有写,必须保证前面的目录存在,如果是要连续创建的话,第3个参数必须是true
我本地跑了也是这个错误,发现原因是没有D盘,所以创建不了目录,改了php.ini中的路径就可以了
哦哦,谢谢提醒,这个是跟我自带的php设置有关,我用的是phpenv,在php.ini中写死了应该
是这个原因 建议改成当前路径再发下
mac 可以支持吗
暂时还没支持,技术上支持很简单,就是没有mac可以测试
我有mac,可以出个文档吗
打包前的源码可以开源吗,我的mac上electron 安装好了
晚上回去私发你,留个邮箱
晚上我源码上传云吧
你可以先下载electron-egg,研究一下里面的javaServer那个插件,里面有关于mac的参考代码,稍微改一改就行
electron-egg 我之前也看过这个 看起来挺好用的,内置挺多东西
好的,谢谢
源码已发邮箱
谢谢
期待你的mac版本。建议可以修改我加的一个webman的插件,里面有todo的内容,修改修改应该就能用了
开源了
感谢大佬的分享
你好,请问这个地方怎么修改
windows 用户执行 php windows.php 启动就可以了
mac 用户启动webman 需要执行
我这个代码执行npm run dev 出现报错
另外,我node 的版本是v20.5.1,会有问题吗
electron-egg 的示例demo 可以跑起来
win 代码直接在mac 上运行会有空格或者回车字符串的问题,需要把no_moudle 删除重新安装依赖
只要起来了,验证码应该问题不大的,刷新一下,或者,打开的时候,把那个devtools打开,关闭缓存调试
win7刚打开exe文件白屏,第二次打开还是白屏,第四次再打开正常。
作者就很棒
为啥我的win11一直报错,
我知道是为什么了,因为我之前开了webman的8787,端口占用了,那个wenman项目关了就好了
可以改端口的,server.php中
刚才切换到了demo分支,报了好几个npm包的错误,已经在github上提出issus了.
根本运行不起来,是我的问题吗
你可以下蓝奏云的我编译好的测试
我没有找到蓝奏云的地址
我找到蓝奏云的地址 了.
厉害呀,大佬能分享你源码吗
开源了
大佬 源码 git地址也分享下啊
是做了个嵌套 然后通过setting.json 修改配置及嵌套地址么?
大致看了egg的文档,应该可以参照egg-go 集成go的方式,集成webman.可以试一下,虽然我目前没计划去测试
可以,晚上分享
源码已发
感谢大佬 学习下
开源了
先支持一个
加油,顶起!
请问这个只支持sqlite 不支持MySQL吗?
客户端,肯定优先用sqlite,好分发软件
https://wwp.lanzoup.com/iNK9R1l1xuqd 用这个源码接哪里操作?
需要先安装
进入目录 ./electron-egg/
npm install
再执行
npm run build-wz
打包?
还是直接 npm run build-wz打包?
可以查看electron egg官网的
开源了
NB👍,弥补php的GUI开发这块的短板
可以把打包的phar放进去吗
请问如何修改图标?
我将数据源放到了本地数据库,但是接口全部报红,
配置不正确
这个是只能本地用的,可以连接远程数据库吗
可以
这个能支持到windows教老的版本吗?例如win7 winXP sp2 sp3
不可以,这个取决于webman最低支持php7.4,而xp不支持php7.4
了解,非常感谢
大佬,啥时候能简单点安装 就好了 你这文档看了 都模糊啊
迷糊呀
开源了,更新了说明
牛X, 可以做软件UI用了
wa_uploads storage 字段可以为空,不然上传素材报错

数据库storage字段设置了默认值为local了,也开源了,更新了
启动不了,直接白屏
修复了bug,开源了
有安全方案吗? 这直接源码都给客户了
得自己用electron跑个webman,就是相当于把electron那个窗口指向webman那个地址
目录还没有做源码加密
webman.phar 这种打包的可以运行吗? 该怎么使用呢 大佬们
应该可以,但是要改源码,应该是这里 electron\addon\webman\server.js
我已经实现了,可以正常运行。连接如下:
https://wwmr.lanzoul.com/b0xw8xzpc 密码:bzfm
楼上源码下载后,test我本地(win11)运行,登录时会报错,提示数据库找不到
看“使用说明2”,数据库连接字符串自己改 resources\extraResources\webman\plugin\admin\config\database.php 里面配置,我演示是写死的。
感谢解答,按你的路径放到桌面可以正常运行了,这样解决了php源文件暴露的问题,但是sqlite文件的放置却又成了新的问题,后面有想到好的方案吗?
额,数据库连接字符串改成 'database' => str_replace('phar://', '', run_path()) . '/webman_demo.db', 就行了,已测试。
webman不是支持sqlite吗?为啥要改原文件?
我说要改webman-electron-egg源码实现支持webman.phar文件运行。
还有webman咋会不支持sqlite呢? 看文档: https://www.workerman.net/doc/webman/db/config.html
为了兼容sqlite,需要替换源webman-admin框架的2个文件,一个是
plugin/admin/app/common/Util.php
plugin/admin/app/controller/Crud.php
我是指这个,是webman-admin不支持sqlite?
哦,不是和我说啊,尴尬。 webman-admin原先确实是用的mysql,现在作者为了做成桌面应用转为sqlite确实要改。
建议整个github仓库,成熟后贡献给electron-egg,推动一下php桌面开发
开源了
👍 已star
效果很好,如果每个平台(mac,linux)都搞个demo,就省得自己编译客户端了
唯一缺点就是php源码暴露了
这个没办法的 脚本语言 你只能做加密处理
牛掰
大佬厉害,先学习学习