收藏
回答

部分用户分包加载失败【必现】

框架类型 问题类型 终端类型 微信版本 基础库版本
小游戏 Bug 微信安卓客户端 8.0.45 3.3.2
部分线上用户,出现加载分包失败,提示 {"errMsg":"loadSubpackage:fail module not found"}
以下为统计的3台设备信息:
{"SDKVersion":"3.3.2","sysinfo":"{\"platform\":\"android\",\"brand\":\"HUAWEI\",\"model\":\"SEA-AL10\",\"pixelRatio\":3,\"system\":\"Android 10\",\"version\":\"8.0.45\",\"screenWidth\":780,\"screenHeight\":360,\"language\":\"zh_CN\",\"benchmarkLevel\":24}"}
{"SDKVersion":"3.3.2","sysinfo":"{\"platform\":\"android\",\"brand\":\"HUAWEI\",\"model\":\"ANA-AN00\",\"pixelRatio\":3,\"system\":\"Android 12\",\"version\":\"8.0.45\",\"screenWidth\":780,\"screenHeight\":360,\"language\":\"zh_CN\",\"benchmarkLevel\":26}"}
{"SDKVersion":"3.3.2","sysinfo":"{\"platform\":\"android\",\"brand\":\"HUAWEI\",\"model\":\"VOG-AL00\",\"pixelRatio\":3,\"system\":\"Android 10\",\"version\":\"8.0.45\",\"screenWidth\":780,\"screenHeight\":360,\"language\":\"zh_CN\",\"benchmarkLevel\":24}"}

代码如下:
public static openSubpackage(name:string, fun:(stat:number, msg?:any) => void, progressFun?:Function){
        if (window["wx"] && wx.loadSubpackage) {
            let start = Date.now();
            let task = wx.loadSubpackage({
                name: name, //"stage1",
                success: function () {
                    let cost = (Date.now()-start);
                    fun && fun(1, cost);
                },
                fail: function(res) {
                    // 分包加载失败通过 fail 回调
                    fun && fun(2, res); //loadSubpackage:fail module not found
                }
            });
            if(!task){
                console.warn("openSubpackage-fail:", name);
                return fun && fun(2);
            }
            task.onProgressUpdate(res => {
                if(progressFun){
                    progressFun(res.progress, res);
                }
            })
        }
        else {
            window["require"]("./" + name + "/game.js");
            fun && fun(1);
        }
}


最后一次编辑于  01-24
回答关注问题邀请回答
收藏

1 个回答

登录 后发表内容