uniapp implementa atualização obrigatória de app

 App.vue é uma página vue que é obtida quando o projeto é carregado pela primeira vez, e esta página é global.

// App.vue
var server = baseUrl + "baseInfo/wmsAppVersion/update"; //检查更新地址
plus.runtime.getProperty(plus.runtime.appid, (inf) => {
    this.wgtVer = inf.version;
    uni.request({
        url: server,
        data: {
            version: this.wgtVer
        },
        success: (r) => {
            console.log(r.data)
            console.log(inf.version)
            if (r.data.success) {
                if (r.data.result.identification == 'Y') {
                    uni.showModal({
                        title: "发现新版本",
                        content: "确认下载更新",
                        success: (res) => {
                            if (res.confirm == true) { //当用户确定更新,执行更新
                                // _this.doUpData();
                                uni.showLoading({
                                    title: '更新中……'
                                })
                                uni.downloadFile({ //执行下载
                                    url: r.data.result.url, //下载地址
                                    success: downloadResult => { //下载成功
                                        uni.hideLoading();
                                        if (downloadResult.statusCode ==
                                            200
                                        ) {
                                            uni.showModal({
                                                title: '',
                                                content: '更新成功,确定现在重启吗?',
                                                confirmText: '重启',
                                                confirmColor: '#EE8F57',
                                                success: function (
                                                    q
                                                ) {
                                                    if (q.confirm ==
                                                        true) {
                                                        plus.runtime
                                                            .install( //安装
                                                                downloadResult
                                                                .tempFilePath, {
                                                                    force: true
                                                                },
                                                                function (
                                                                    res
                                                                ) {
                                                                    utils
                                                                        .showToast(
                                                                            '更新成功,重启中'
                                                                        );
                                                                    plus
                                                                        .runtime
                                                                        .restart();
                                                                }
                                                            )
                                                    } else {
                                                        plus.runtime
                                                            .quit(); // 退出应用
                                                    }
                                                }
                                            })
                                        }
                                    }
                                })

                            } else {
                                plus.runtime.quit(); // 退出应用
                            }
                        }
                    })
                }
            }
        }
    })
});
Imagem 1

 Clique em 'OK' para iniciar a tarefa de download, conforme a figura abaixo:

foto 2

 Após a conclusão da atualização, o efeito de exibição é o seguinte:

foto 3

 Clicar em 'Cancelar' na imagem 1 e na imagem 3 forçará o encerramento do aplicativo e, em seguida, entrará no aplicativo para julgar a versão novamente

Bem-vindos a todos para prestar atenção à minha conta oficial "Treading the Waves Life Circle" Não há apenas conteúdo mais interessante aqui, mas também as informações mais recentes  sobre Treading the Waves  serão atualizadas de forma síncrona , para que você possa sempre se manter a par do corte tecnologia de ponta. Venha e junte-se a nós!

おすすめ

転載: blog.csdn.net/weixin_45849072/article/details/119995585