图片

前言

日常APP开发过程中,我们经常会遇到老生常谈的问题,版本升级,当然了自己有一套版本发布器那就更好,这次uni-app官网提供了一套可以私有部署的版本迭代器,还提供云端下载,只能说国内额开源技术更进步了。

uni-app 版本升级 包含两块内容

  • uni-upgrade-center - App(业务版本)

  • uni-upgrade-center - Admin(统一管理App发布与升级)

官网:

uni-upgrade-center - App:https://ext.dcloud.net.cn/plugin?id=4542

uni-upgrade-center - Admin:https://ext.dcloud.net.cn/plugin?id=4470

目录‍

  • uni-upgrade-center - Admin 部署搭建

  • uni-upgrade-center - App  业务过程中使用与配置

  • 手机模拟器或基座的测试演示与注意要点

uni-upgrade-center - Admin 部署搭建

  • 创建基于uni-admin框架的项目

由于uni-upgrade-center - Admin 属于一款插件,且部署依赖 uni-admin基础框架,所以首先第一步创建一个基于uni-admin框架的项目,具体如图下:

图片

  • 引入uni-upgrade-center - Admin 插件

插件市场:https://ext.dcloud.net.cn/plugin?id=4470

图片

图片

可能会出现合并文件的弹窗,点击合并即可,安装插件后,安装一下第三方依赖,避免出错

图片

关联云服务空间,命名uni-admin

图片

图片

上传部署

图片

初始化数据库 db_init.json

图片

在pages.json 添加插件内的页面路径

//此结构与uniCloud admin中的pages.json结构一致
"pages": [
        // ……其他页面配置
        {
            "path": "uni_modules/uni-upgrade-center/pages/version/list",
            "style": {
                "navigationBarTitleText": "版本列表"
            }
        }, {
            "path": "uni_modules/uni-upgrade-center/pages/version/add",
            "style": {
                "navigationBarTitleText": "新版发布"
            }
        }, {
            "path": "uni_modules/uni-upgrade-center/pages/version/detail",
            "style": {
                "navigationBarTitleText": "版本信息查看"
            }
        }
]

在manifest.json -> 源码视图中添加以下配置:

"networkTimeout":{
    "uploadFile":1200000    //ms, 如果不配置,上传大文件可能会超时
}

图片

初始化当前项目uni-admin-test的数据 db_init.json和云函数,如果出现覆盖弹窗,可以点击覆盖无影响

图片

图片

  • 发布运行

首次运行,发布浏览器,需要创建管理员的账号

图片

  • 添加升级中心菜单

登录系统后,系统菜单下是没有升级中心菜单的,需要手动配置,有点蛋疼

图片

点击菜单管理,在待添加选项中,勾选菜单添加

图片

添加过程中,出现了这个弹窗,我一脸茫然,我在哪里,该去何处,于是我点击确定,刷新页面,升级中心菜单出现了,使用功能也是正常的。

图片

图片

可以看到升级中心的发布管理功能,职场uni-upgrade-center - Admin 插件 讲解完毕

图片

uni-upgrade-center - App 业务项目搭建全流程

如果你已经有了自己的业务app项目,可以完全在它的基础上取安装插件,本教程只是为了更好的做测试,所以新建的项目。

图片

项目建立好,记得要关联一下之前的服务空间

图片

安装插件 uni-upgrade-center App  https://ext.dcloud.net.cn/plugin?id=4542

图片

上传部署

图片

pages.json中添加页面路径。注:请不要设置为pages.json中第一项

"pages": [
    // ……其他页面配置
    {
        "path": "uni_modules/uni-upgrade-center-app/pages/upgrade-popup",
        "style": {
            "disableScroll": true,
            "app-plus": {
                "backgroundColorTop": "transparent",
                "background": "transparent",
                "titleNView": false,
                "scrollIndicator": false,
                "popGesture": "none",
                "animationType": "fade-in",
                "animationDuration": 200

            }
        }
    }
]

图片

更新插件的引入与使用,页面路径:/pages/index/index

<template>
  <view class="content">
    <!--导航-->
    <view class="pt60">
      <button type="primary" @click="doClick" class="bd" :style="{borderStyle: 'solid'}">监测更新</button>
    </view>
    
  </view>
</template>
<script>

  import checkUpdate from '@/uni_modules/uni-upgrade-center-app/utils/check-update'
  
  export default {
    data() {
      return {
        
      }
    },
    created() {
      
    },
    methods: {
      
      doClick(){
        //监测升级
        checkUpdate();
      },
      closed(){
        //uni.showTabBar();
      }
    }

  }
</script>
<style lang="scss" scoped>
  
  .content {
    position: absolute;
    top: 0;
    left: 0;
    bottom: 0;
    width: 100%;
    height: auto;
    overflow: auto;
    /* background-image: url('@/static/images/ec43126fgy1giiqcxcu1zg20sg0hix76.gif'); */
    
  }
</style>

到这里,uni-upgrade-center App 版本基本配置完

手机模拟器或基座的测试演示与注意要点

  • 添加应用

在上面提到过的uni-admin-test已启动的项目中添加应用,具体如图:

图片

图片

  • 打包apk

为了方便调试,采用的是云打包方案,uni-business-app,应用版本名称是1.0.0,版本号是100,在manifest.json可查看

图片

图片

图片

打包后会在相应的文件夹内生成apk文件

图片

  • 上传apk 发行版本

选择原生App安装包

图片

上传apk,发行,包的地址是自动在云端生成的,可以在服务空间查看到

图片

  • 手机或者模拟器测试

使用时需要注意,调试时,编译器默认的版本号,目前为 HBuilder, 13.4.7,而不是我们的appId,需要手动的修改一下

图片

此时我们手机上的版本是100,而打包时设置的是101,当项目页启动时,会弹出如下下载页:

图片

修改对应的版本号即可调正是否更新

总结

上面的流程已经基本涵盖了整个升级插件的使用,如果有遗留的可以参考官网,最终还是以官网为主,只不过这里把一些傻瓜的一些东西办了出来,就是为了以后使用时,闭坑,如果对你有用,就点个赞,分享一下吧

图片

点击下方卡片/微信搜索,关注公众号“天宇文创意乐派”(ID:gh_cc865e4c536b)

Logo

开放原子开发者工作坊旨在鼓励更多人参与开源活动,与志同道合的开发者们相互交流开发经验、分享开发心得、获取前沿技术趋势。工作坊有多种形式的开发者活动,如meetup、训练营等,主打技术交流,干货满满,真诚地邀请各位开发者共同参与!

更多推荐