zoukankan      html  css  js  c++  java
  • 私有api:升级检查版本比较

    私有api,提供app检查新版本的功能。

    纯数字好比较,如何比较1.0.1和1.0.2?

    业务逻辑:用户版本比最新版本低时,提示升级。

    同时支持这两种,代码如下:

    <?php
    /**
     * 检测最新版本
     */
    
    function isSecondBigger($first, $second) {
        //纯数字比较
        if(is_numeric($first) && is_numeric($second)) {
            if($second > $first) {
                return true;
            }
            else {
                return false;
            }
        }
        //x.x.x.x比较
        if(stripos($second, '.') !== false) {
            $f = explode('.', $first);
            $s = explode('.', $second);
            $count = count($f);
            foreach($f as $k => $v) {
                //比如1.0比2.0
                if($s[$k] > $v) {
                    return true;
                }
                //前面几位相等没关系,最后一位必须大于
                //比如1.0.5比1.0.8
                if(($count == $k+1) && ($s[$k] > $v)) {
                    return true;
                }
            }
        }
        return false;
    }
    $v = '1.0.5'; //用户版本
    $latest = '1.0.8'; //最新版本
    $is_need_update = false;
    if(isSecondBigger($v, $latest)) {
        $is_need_update = true;
    }
    var_dump($is_need_update);
    ?>

    api:http://api.example.com/latest?app_id=1&v=1.0.2&wlt=zh-Hans

    输入:

    app_id:私有api为本公司的多个app分配id,比如Andriod、iPhone、iPad、PC各有一个。

    v:用户安装的版本号

    wlt:文字代号,比如ios使用的en_US、zh-hant、zh_CN等等,Android使用的zh_CN、zh、zh_TW等等,由后端进行映射处理,app端直接取系统值传过来即可。

    参考资料:

    http://developer.android.com/reference/java/util/Locale.html

  • 相关阅读:
    企业站前端——总结
    visual studio插件 visual assistx
    github 预览html
    Resharper
    c#解析json
    Visual Studio 2015 RC Downloads
    C#位运算讲解与示例
    java 位运算权限管控(转载)
    双机热备
    c# 代码执行时间
  • 原文地址:https://www.cnblogs.com/sink_cup/p/private_api_check_update_compare_version.html
Copyright © 2011-2022 走看看