星火SWRT:快速制作webapp 更新1.6:个性化更新
Tofloor
poster avatar
神末shenmo
deepin
Spark-App
2020-11-18 17:07
Author

花心胡萝卜大佬制作的运行环境

                                                        

                                                  



1.6更新日志

支持页面加载完成前显示加载动画;
支持从网页下载文件,默认保存路径为 ~/Downloads 文件夹;
支持下载文件另存为以及进度显示,下载完成后支持文管内显示文件位置(依赖 dde-file-manager );
使用 DFloatingMessageDMessageManager 显示提示信息以及下载进度;
支持全屏显示功能(命令行参数 --full-screen ),与 固定窗口大小 冲突,优先固定大小;
支持托盘功能(命令行参数 -T 或者 --tray ),启用后需在托盘右键退出程序;
在命令行参数中启用 固定大小隐藏按钮 功能后, GUI 界面将隐藏对应按钮。

  • 在启用托盘图标时,如果手动勾选了 固定大小 按钮,同时关闭了窗口,那么再次从托盘区打开主界面时会出现 最大化按钮丢失 的问题,且无法恢复。建议这个按钮仅在调试时使用,正式打包应用时如果有需要,请尽量使用命令行参数调用,会在GUI界面隐藏该功能按钮。


1.5更新日志

修正之前版本中, 关于 窗口在主窗口关闭后仍然显示的问题;
修正之前版本中, ~/.local/share 中文件夹名称被翻译为中文的问题;
修正之前版本中,图标名称错误的问题;
新增 固定窗口大小 以及 隐藏控制按钮 的选项,支持 命令行调用 以及 GUI 界面菜单项修改。

  • 命令行使用参数 --fix-size--hide-buttons 后, GUI 界面将禁用相关修改项,避免 最大化 按钮出现 BUG


用法:./spark-webapp-runtime [选项]
描述: 星火网页应用运行环境

选项:
-h, --help 显示这个此帮助。
-v, --version 显示版本信息。
-p, --parser 启用参数解析方式。默认为顺序解析方式。
-t, --title 设置应用的标题。默认为<br>星火网页应用运行环境。<br>-u, --url <url> 设置要打开的目标 URL。默认为空。<br>-w, --width <width> 设置应用的窗口宽度。默认为 1024。<br>-H, --height <height> 设置应用的窗口高度。默认为 768。<br>-T, --tray 启用托盘图标。默认不启用。<br>--full-screen 以全屏模式运行。默认关闭该功能。<br>--fix-size 固定窗口大小。默认关闭该功能。<br>--hide-buttons 隐藏控制按钮。默认关闭该功能。<br>-i, --ico <ico> 设置应用的图标。<br>-d, --desc <desc> 设置应用的描述信息。<br>-c, --cfg <cfg> 设置应用的配置文件。<br>-r, --root <root> 设置内置 WebServer 的根路径。<br>-P, --port <port> 设置内置 WebServer 的监听端口号。<br><br><br>需要注意的是, 命令行会覆盖配置文件信息。</code></pre><pre><code>Use "spark-webapp-runtime -h" to get help<br><br><br>Usage: ./spark-webapp-runtime [options]<br>Descrīption: spark-webapp-runtime<br><br>Options:<br>-h, --help Show this help Message.<br>-v, --version Show Version info.<br>-p, --parser Enable CommandLineParser. Default is false.<br>-t, --title <title> The Title of Application. Default is<br>SparkWebAppRuntime.<br>-u, --url <url> The target URL. Default is Blank.<br>-w, --width <width> The Width of Application. Default is 1024.<br>-H, --height <height> The Height of Application. Default is 768.<br>-T, --tray Enable Tray Icon. Default is false.<br>--full-screen Run in Fullscreen Mode. Default is false.<br>--fix-size Fix Window Size. Default is false.<br>--hide-buttons Hide Control Buttons. Default is false.<br>-i, --ico <ico> The ICON of Application.<br>-d, --desc <desc> The Descrīption of Application.<br>-c, --cfg <cfg> The Configuration file of Application.<br>-r, --root <root> The root path of the program web service.<br>-P, --port <port> The port number of the program web service.</code></pre><p><br><br></p><p><br><br></p><p><br><br><br></p><pre><code></code></pre><p><br><br></p><p>这里给大家附送两个例子,帮助大家理解使用</p><p>这是一款使用了-r选项(自带webserver)的一款应用的desktop文件</p><pre><code>[Desktop Entry]<br>Categories=Game;<br>Encoding=UTF-8<br>Exec=spark-webapp-runtime -p -u http://localhost:38324 -t "Unfair Undyne" -d "不公平的安黛因,传说之下(Undertale)鱼姐战" -w 720 -H 620 -i /opt/durapps/fairdyne/icon.png -r /opt/durapps/fairdyne/pages -P 38324<br>Icon=/opt/durapps/fairdyne/icon.png<br>MimeType=<br>Name[zh_CN]=Fairdyne<br>Name=Fairdyne<br>StartupWMClass=Fairdyne<br>Terminal=False<br>Type=Application<br>X-Deepin-CreatedBy=com.deepin.dde.daemon.Launcher<br>X-Deepin-AppID=fairdyne</code></pre><p>附这款应用的下载链接</p><p><a href="https://dcstore.spark-app.store/store/games/fairdyne/fairdyne_1.4_plus_sm1_amd64.deb" target="_blank">https://dcstore.spark-app.store/store/games/fairdyne/fairdyne_1.4_plus_sm1_amd64.deb</a></p><p>欢迎大家积极制作</p><p><br></p><p>以下是新手教程<br></p><p><span style="color: rgb(194, 79, 74);"><span style="font-weight: bold;"><font size="5">使用教程</font></span></span><br></p><h1>0.<span style="color: rgb(77, 128, 191);">配置环境</span></h1><div>作为星火系列应用,我们的设计哲学是<font size="5">M.I.S.(Make it Simple)<font size="1">没错我就是从KISS抄的</font></font></div><div>配置spark-webapp-runtime环境是非常简单的</div><div>只需要</div><div>点击</div><div>           <br></div><div>                            <a href="spk://store/development/spark-webapp-runtime-waker">     <img src="https://gitee.com/superendermansm/shenmo-map-bed/raw/master/spk.jpg" alt="" width="409" height="289"> <br></a></div><div><p>即可配置完成</p><p>现在我们来测试一下</p><pre><code>spark-webapp-runtime</code></pre><p><br>如果你能看到<br></p><p><img src="https://examine-spark.oss-cn-shanghai.aliyuncs.com/images/2020/11/14/612135b0-268e-11eb-881e-fff03f7ff5ca.png" style="max-width:100%;"></p><p>那么恭喜你,配置完成了</p><h1>1.简易操作</h1><div>作为第一种调用方式,简易调用是非常简单粗暴的</div><div>你可以试试输入这一段</div><div><br></div><div><pre><code>spark-webapp-runtime 垃圾百度 https://www.baidu.com</code></pre><p>看到了么?就是这么简单</p><p><img src="/api/v1/thread/down_image?file_path=202011190957234196_thread_OSva1QtI80i.png" style="max-width:100%;"></p><p>如果觉得默认的1024x768分辨率不合你心意</p><p>你可以简单的在后面加上你喜欢的分辨率</p><p>比如这样</p><pre><code>spark-webapp-runtime 垃圾百度 https://www.baidu.com 768 1024</code></pre><p><img src="/api/v1/thread/down_image?file_path=202011190958558825_thread_SGQvVsatdOi.png" style="max-width:100%;"></p><p><br></p><code></code><p>And你甚至可以使用本地的网页文件</p><p>先找到文件</p><p>    <img src="https://s3.ax1x.com/2020/11/19/DugXGQ.png" style="max-width:100%;"></p><p>在浏览器里打开</p><p><img src="https://s3.ax1x.com/2020/11/19/Du2pq0.png" style="max-width:100%;"></p><p>复制粘贴</p><br><pre><code>spark-webapp-runtime 这是一个本地网页 file:///home/sy120zx/Desktop/Index%20of%20_store_games_fairdyne_.html 1024 768</code></pre><p><img src="https://s3.ax1x.com/2020/11/19/Du2QIO.png" style="max-width:100%;"></p><p><br></p><p>你还可以整一些生草的活</p><pre><code>spark-webapp-runtime 垃圾百度 https://www.baidu.com 768 84 </code></pre><p><img src="/api/v1/thread/down_image?file_path=202011191000162762_thread_sbTYl51TF9Q.png" style="max-width:100%;"></p><p><br></p><p><br></p><p>所以大家学会了么?spark-webapp-runtime的简单调用方式:</p><pre><code>spark-webapp-runtime [标题] [地址] </code></pre><pre><code>spark-webapp-runtime [标题] [地址] [宽] [高]</code></pre><p><br></p><p>简易调用优点:简单,符合直觉,无需学习就可以使用,语法兼容spark-web-core(已弃用)</p><p>缺点:自定义程度低,不支持本地服务器功能</p><h1>2.标准调用</h1><div>相信看到这里的都是准备打包的大佬了</div><div>所以例子就不那么罗索了</div><div><pre><code>spark-webapp-runtime -p -u http://网址 -t 标题 -H 高度 -w 宽度-T(启用托盘) --full-screen(全屏)--fix-size(固定大小) --hide-buttons(隐藏控制按钮) -i 图标路径 -d 描述信息 -c 配置文件路径(如果没有使用配置文件而是命令行调用,不需要这个)-r 网页服务器路径 -P 启动的端口</code></pre><p><br>比如 <br></p><pre><code>spark-webapp-runtime -p -u https://gitee.com/deepin-community-store/ -t 星火官网 -w 1024 -H 768 -T --full-screen --hide-buttons -i /usr/share/icons/bloom/apps/64/deepin-calculator.svg -d 星火官网</code></pre><p><br></p><p><br></p><p><img src="/api/v1/thread/down_image?file_path=202012011310018696_thread_httKaNnjp7v.png" style="max-width:100%;"></p><p><br></p><p><br></p><p><br></p><p><br><br></p></div></div><span style="color: rgb(24, 144, 255);"></span></div></div></div>
Reply Favorite View the author
All Replies
2 / 2
To page
SamLukeYes
deepin
2020-12-06 01:53
#21

话说这玩意儿为什么依赖 dde-file-manager 啊[困惑]

Reply View the author
忘记、过去
deepin
2020-12-06 03:58
#22
SamLukeYes

话说这玩意儿为什么依赖 dde-file-manager 啊[困惑]

额,是我手贱加的......


因为下载文件之后,Qt 没有提供合适的方法在文管中显示当前下载文件的位置,只能打开文件所在的上层目录。但是 dde-file-manager  --show-item xxxxxx 可以直接标记文件位置,就写在打开按钮的方法里面了......


去掉依赖问题也不大,就是下载完文件点击打开按钮没有反应了......

Reply View the author
忘记、过去
deepin
2020-12-17 03:36
#23
SamLukeYes

话说这玩意儿为什么依赖 dde-file-manager 啊[困惑]

找到一个新的头文件 ,一开始以为只是 改个名字,刚发现里面有新的方法 showFileItem(QUrl),可以直接打开文管并标记文件位置。

就是不知道这个方法实现会不会是依赖 dde-file-manager 的,至少比直接 QProcess 调用强一点了......1.6.1 版本的打包删掉了 dde-file-manager 的依赖,晚点在其他系统测试下效果啥的......

Reply View the author
Cris.Q
deepin
2021-01-26 04:50
#24
大泽IO

刚刚在deepin论坛首页看到这玩应了

实话实说,我不希望星火和deepin走这么近的。。。。

神末是deepin的死忠,这个我们都没办法。

Reply View the author
大泽IO
deepin
2021-01-29 04:17
#25
Cris.Q

神末是deepin的死忠,这个我们都没办法。

估计他也是被微软搞魔怔了吧。。。

再说他可是咱论坛超级版主,一个论坛的超级版主干出背叛论坛的事。。。

我也开始理解他了

话说我要造操作系统,1几年那会就开始了,当年是基于Windows PE,现在已经转到Linux了

实际上我这操作系统的说法是不准确的,毕竟我压根就没想过自己造内核(自己造内核一没意义二也不现实)

Reply View the author
Cris.Q
deepin
2021-01-29 16:15
#26
大泽IO

估计他也是被微软搞魔怔了吧。。。

再说他可是咱论坛超级版主,一个论坛的超级版主干出背叛论坛的事。。。

我也开始理解他了

话说我要造操作系统,1几年那会就开始了,当年是基于Windows PE,现在已经转到Linux了

实际上我这操作系统的说法是不准确的,毕竟我压根就没想过自己造内核(自己造内核一没意义二也不现实)

为什么非要谈背叛这种东西呢?

版主为深度社区做贡献,帮助删帖/解答问题。可是没有规定必须喜欢深度的发行版吧?

我喜欢深度的社区,所以我来帮忙管理。但我是个manjaro用户,这怎么说?

Reply View the author
jiutian123
deepin
2021-01-31 01:21
#27
神末shenmo

这个问了下,还是过于简单了

我慢慢补充下吧

看缺少最大化按钮

Reply View the author
jiutian123
deepin
2021-01-31 01:26
#28
Cris.Q

神末是deepin的死忠,这个我们都没办法。

这个文件自动生产在哪个位置保存?

Reply View the author
jiutian123
deepin
2021-01-31 01:35
#29

Reply View the author
jiutian123
deepin
2021-01-31 01:38
#30
忘记、过去

找到一个新的头文件 ,一开始以为只是 改个名字,刚发现里面有新的方法 showFileItem(QUrl),可以直接打开文管并标记文件位置。

就是不知道这个方法实现会不会是依赖 dde-file-manager 的,至少比直接 QProcess 调用强一点了......1.6.1 版本的打包删掉了 dde-file-manager 的依赖,晚点在其他系统测试下效果啥的......

怎么保存成app?这各不完整呀  撒完尿 不提裤子了呀 这样

Reply View the author
忘记、过去
deepin
2021-01-31 03:58
#31
jiutian123

怎么保存成app?这各不完整呀  撒完尿 不提裤子了呀 这样

写一个 .desktop,在 Exec= 里面写上调用指令就行了。这是最简单的打包网页方式,约等于浏览器存了一个书签......

 

更高级的方法是把网页应用部署到本地服务器,然后用SWRT调用运行。同样要写 .desktop。

Reply View the author
jiutian123
deepin
2021-01-31 05:43
#32
忘记、过去

写一个 .desktop,在 Exec= 里面写上调用指令就行了。这是最简单的打包网页方式,约等于浏览器存了一个书签......

 

更高级的方法是把网页应用部署到本地服务器,然后用SWRT调用运行。同样要写 .desktop。

看到刚发了各简单操作的帖子

Reply View the author
gfdgd_xi
deepin
Ecological co-builder
2021-02-01 16:03
#33

反馈一下,视频不能全屏播放(bilibili 上)

 

Reply View the author
把一切操作变成GUI
deepin
Backbone of ecological co-construction group
2021-04-17 22:46
#34
neko

 打包了一个阿里网盘的,发现不能输入中文也无法下载。




厉害,最近刚想用阿里云盘

Reply View the author
把一切操作变成GUI
deepin
Backbone of ecological co-construction group
2023-02-06 07:29
#35

图片全都断链了

Reply View the author
2 / 2
To page