前言
通过开源项目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,还是不错的



















