24
2024
04
15:35:29

webman-electron 使用webman开发windows桌面程序

基本情况

使用electron框架,封装了webman,使得webman直接变成客户端,运行后,自动启动webman服务,退出软件后,自动关闭所有webman进程及子进程。

之前分享的phpdesktop-webman,不是特别好用,一个是谷歌的内核版本太低了,才57,导致有很多现代的写法都不能用。第二个是之前的有时会有多次启动,后台php进程不会退出的情况。总之不太稳定。

这次使用的electron和webman的结合,chrome内核版本是Chrome/106.0.5249.199的,可以说特别先进了,而且,兼容windows7系统。
其次,在退出后,也会退出后部的php进程
比较好用。

推荐给大家

使用说明

双击 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

可以自行对比修改了什么内容

设置文件在根目录下的setting.json文件中,具体含义如下:

{
  "openDevTools": true, // 是否打开浏览器调试工具
  "openAppMenu": true, // 是否打开应用程序顶部菜单
  "windowsOption": {
    "title": "学生管理系统xxx", // 软件顶部或左上角名称(会被 html中的 title标签覆盖)
    "width": 980,// 软件窗口宽度
    "height": 650,// 软件窗口高度
    "minWidth": 400,// 软件窗口最小宽度
    "minHeight": 300,// 软件窗口最小高度
  },
  "logger": {
    "level": "ERROR", // 日志等级,支持 info error debug warn,默认是 info
    "rotator": "day",  // day:按天切割 | none:无
    "appLogName": "app.log",// 业务日志名
    "coreLogName": "ee-core.log",// 框架核心日志名
    "errorLogName": "error.log" // 错误日志名
  },
  "webman": {
    "enable": true, // 是否开启webman,此项一定要打开
    "hostname": "localhost", // 如果enable为true,并且此项是localhost/127.0.0.1,则会根据下面的配置自动启动webman服务,如果此项是ip地址,则相当于远程访问其他服务器的webman服务
    "phpPath": "php8.0", // php.exe所在目录,确保放在 resources\extraResources下
    "port": 8789, // webman监听的端口,值为webman项目下的config.php中的listen的端口
    "projectPath": "webman", // webman项目目录,确保放在resources\extraResources下
    "stdioIgnore": false // 是否输出webman进程的日志
  }}

若出现环境变量问题的解决方法

如果在新电脑上运行,可能需要将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进程

下载地址

蓝奏云:
https://wwck.lanzouj.com/ixdp71i78aoj

相关源码:

我用蓝奏浏览器分享了[webman-electron-egg], 下载链接:https://wwp.lanzoup.com/iNK9R1l1xuqd , 你可以不限速下载哦




推荐本站淘宝优惠价购买喜欢的宝贝:

image.png

本文链接:https://hqyman.cn/post/5901.html 非本站原创文章欢迎转载,原创文章需保留本站地址!

分享到:
打赏





休息一下~~


« 上一篇 下一篇 »

发表评论:

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。

请先 登录 再评论,若不是会员请先 注册

您的IP地址是: