前言
通过开源项目ChatGPT-Next-Web部署完了私人网页ChatGPT,为了使访问更加便捷,便想着使用wab2app打包为APK,虽然最终达成了效果,可一路走来遇到了很多坑儿,记录下
打包流程
有要打包的网站和软件HBuilder X,软件官网:https://www.dcloud.io/hbuilderx.html
然后流程如下
创建项目
这一部分设置要打包网页和项目文件保存目录
找到manifest.json文件,依次设置相关配置
设置自适应图标,该功能是一个木函所没有的
重点: 设置标题栏和状态栏兼容
重点: 默认返回时无论处于哪个页面都直接退出软件了而不是返回上一层,要更改这种配置
在client_index.html插入以下代码,需要注意:plus.webview.create里面填的是要打包的网址
<script>function plusReady() {var zxlmweb = plus.webview.create("https://gpt.songhuashu.cn")zxlmweb.show(); // 显示窗口var first = null;plus.key.addEventListener("backbutton", function() { //监听返回按键zxlmweb.canBack(function(e) { //监听webview窗口是否可以返回if(e.canBack) { //可以返回zxlmweb.back(); //返回上一页面} else { //不可以返回//处理逻辑:1秒内,连续两次按返回键,则退出应用;//首次按键,提示‘再按一次退出应用’if (!first) {first = new Date().getTime();this.$toast('再按一次退出应用');setTimeout(function() {first = null;}, 1000);} else {if (new Date().getTime() - first < 1000) {plus.runtime.quit();//退出app}}}});}, false);}if(window.plus) {plusReady();} else {document.addEventListener('plusready', plusReady, false);}</script>
然后就是打包了
还会遇到一个问题:按返回键时会提示再按一次返回键退出点此可反馈意见
解决办法如下:
有时候可能会遇到这种情况
首先试试网站能否正常打开,如果可以打开飞行模式,重新刷新下即可
有时候会遇到有些网站只能用wifi打开而不能用数据流量打开,只不过这种情况少之又少
最后效果
打包过程中遇到过很多问题,最终都解决了,上述是最常见的
还有就是云打包额度每天只有5个,按理说够用,但我很菜,所以注册了三个账号,每个账后都是项目管理员,足足打包了十几次才整出来了
参考文章
https://www.jianshu.com/p/43aecebfd57b
https://ask.dcloud.net.cn/question/86896
https://ask.dcloud.net.cn/article/1150
结语
最终也是实现了将自己部署ChatGPT的网页成功打包成了APK,还是不错的