• 使用AppCan自带的升级功能实现移动端升级


    1.需要在AppCan项目的config.xml文件中设置“更新地址”,即在执行uexWidget.checkUpdate();时访问的后台页面地址,比如:

      http://192.168.0.10:8888/XXXX/servlet/CheckUpdateServlet

    2.在后台CheckUpdateServlet.java文件中

      A.获取移动端自带的两个参数:ver,platform

      String oldVer = request.getParameter("ver");   //目前移动端app的版本号,如:00.00.0000
      String platform = request.getParameter("platform");   //移动端类型,ios:0,android:1

      B.根据官方的格式,准备最新app的数据,xml格式:  

      DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance();
      DocumentBuilder db = dbf.newDocumentBuilder();
      Document doc = db.newDocument();
      Element node = doc.createElement("results");

      Element node1 = doc.createElement("updateFileName");
      node1.setTextContent("xxx");  //移动端安装文件的文件名
      node.appendChild(node1);

      Element node2 = doc.createElement("updateFileUrl");
      node2.setTextContent("xxxx");  //Android:移动端安装文件在服务器上的地址,ios:移动端安装文件在AppStore中的地址
      node.appendChild(node2);

      Element node3 = doc.createElement("fileSize");
      node3.setTextContent("10000");  //移动端安装文件的大小
      node.appendChild(node3);

      Element node4 = doc.createElement("version");
      node4.setTextContent("00.00.0001");  //移动端安装文件最新版本号
      node.appendChild(node4);

      doc.appendChild(node);

      OutputFormat xmlout = new OutputFormat(doc);
      /** 设置编码方式 */
      xmlout.setEncoding("UTF-8");
      /** 保留原有的换行 */
      xmlout.setPreserveSpace(true);
      /** 采用换行缩进 */
      xmlout.setIndenting(true);
      StringWriter sw = new StringWriter();

      XMLSerializer xmlSerilizer = new XMLSerializer(sw,xmlout);
      xmlSerilizer.serialize(doc);
      retValue = sw.toString();

    3.前台移动端处理服务器返回数据:

    //AppCan根据后台返回的xml数据,自动转换信息

    uexWidget.cbCheckUpdate = function(opCode, dataType, jsonData) {

      var obj = eval('(' + jsonData + ')');
      var tips = '';

      if (obj.result == 0) {

        updateurl = obj.url;
        var mycars = ['稍后', '更新'];
        uexWindow.confirm('', '当前有新版本,是否更新?', mycars);
      } else if (obj.result == 1) {

        tips = "Current version is the newest";
      } else if (obj.result == 2) {

      tips = "Unknow error";
      } else if (obj.result == 3) {

      tips = "Params error";
      }
    }

  • 相关阅读:
    .net core 操作域控 活动目录 ladp -- Support for System.DirectoryServices for Windows
    运行在 Android 系统上的完整 Linux -- Termux
    Windows Python 版本切换工具 --- Switch Python Version Tool For Windows
    简单的NLog配置文件
    python之set基本使用
    复习PHP的数组
    php动态修改配置文件
    制作一个php万年历
    一个简单的选项卡
    python操作文件的笔记
  • 原文地址:https://www.cnblogs.com/xingkai/p/4867301.html
Copyright © 2020-2023  润新知