用户端传递当前app的版本号,再根据机型和app_type ,查找数据库里的版本号 ,去比较 。。。

CREATE TABLE `common_versioninfo` (
`id` int(11) NOT NULL COMMENT '数据的id',
`client_type` tinyint(4) NOT NULL COMMENT '客户端类型(1 IOS 2 android)',
`app_type` tinyint(4) NOT NULL COMMENT 'APP类型(1 会员版 2医生版 3助理版)',
`client_version` varchar(255) NOT NULL DEFAULT '' COMMENT '客户端的版本号',
`server_version` int(11) NOT NULL COMMENT '服务器的版本号',
`update_note` text NOT NULL COMMENT '更新说明',
`app_link` varchar(255) NOT NULL COMMENT 'app的下载地址',
`is_required` tinyint(4) NOT NULL DEFAULT '0' COMMENT '是否强制更新(1强制更新 0选择更新)',
PRIMARY KEY (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8 COMMENT='客户端版本信息';

/**
* 检测是否有最新的版本
* @param int $type APP类型(1 会员版 2医生版 3助理版)
* @param int $client_type 客户端类型(1 IOS 2 android)
* @param string $version 当前的版本号
* */
public function check_version() {
$current_version = $this->input->post('version');
$client_type = $this->input->post('client_type');
$type = $this->input->post('type');
$this->load->model('Xh_client_model');
$latest_version = $this->Xh_client_model->get_latest_version($type, $client_type);
if ($current_version < $latest_version->server_version) {
$data = array(
'is_update' => TRUE, //是否需要更新
'is_required' => $latest_version->is_required == 1 ? TRUE : FALSE, //是否必须更新
'latest_version' => $latest_version->client_version, //最新的版本号
'update_note' => $latest_version->update_note, //更新的说明
'down_link' => $latest_version->app_link//安装包的下载地址
);
} else {
$data = array(
'is_update' => FALSE, //是否需要更新
'is_required' => FALSE,
'latest_version' => $current_version,
'update_note' => '',
'down_link' => ''
);
}
format_json(SUCCESS_CODE, $data);
}

php app版本升级的思路的更多相关文章

  1. Hybrid APP 架构设计思路

    关于Hybrid模式开发app的好处,网络上已有很多文章阐述了,这里不展开. 本文将从以下几个方面阐述Hybrid app架构设计的一些经验和思考. 原文及讨论请到 github issue 通讯 作 ...

  2. Hybrid APP架构设计思路

    通讯 作为一种跨语言开发模式,通讯层是Hybrid架构首先应该考虑和设计的,往后所有的逻辑都是基于通讯层展开. Native(以Android为例)和H5通讯,基本原理: Android调用H5:通过 ...

  3. cordova 跨平台APP版本升级

    利用cordova+ionic开发好项目,之后就是打包发布,在这之前,还要做一个版本升级的小功能. 首先我们项目根目录里自然少不了配置:config.xml中 如图.version,我们以后每次升级A ...

  4. APP版本升级,测试用例总结

    APP升级主要在线升级.离线升级.当有新版本时,提示更新,用户点击更新,下载最新版本,进行安装升级,这种就是在线升级:已有升级包,安装升级包进行升级,这种就是离线升级. 在线升级.离线升级常见测试用例 ...

  5. phonegap(cordova)从手机app跳转到web页面在跳转回APP本地页面思路

    项目中需要用到 WAP支付宝支付. 但是 使用PHONEGAP开发 跳转到支付宝支付,然后跳转回来 就回不到APP的本地页面, 就是使用WAP的第三方登录也是一样的.很难从WAP页面在跳转到 app本 ...

  6. APP版本升级

    /*** version_upgrade 版本升级信息表*/CREATE TABLE `version_upgrade` ( `id` smallint(4) unsigned NOT NULL AU ...

  7. MUI 混合开发移动app应用开发 --- app版本升级

    当我们的app开发完成之后,无可避免的以后会进行产品升级,那么我们希望在客户的手机上让app进行自动升级,可以分为自动升级和手动升级. 自动升级:一般在客户app第一次打开首页的时候. 手动升级:在a ...

  8. APP UI自动化测试思路总结

    python+appium自动化测试系列就要告一段落了,本篇博客咱们做个小结. 首先想要说明一下,APP自动化测试可能很多公司不用,但也是大部分自动化测试工程师.高级测试工程师岗位招聘信息上要求的,所 ...

  9. 小型app开发的思路

    前提: 1. 性能不是最重要: 2. 人手少: 3. 速度要快: 结论: 1. 混合式 2. 减少app的复杂程度 3. 追求性能 (博客,尽量让自己每天写一点,短一点都可以)

随机推荐

  1. android自定义View---生成虚线的View

    1.在res/values/目录下 新建文件 attrs.xml <?  xml   version =  "1.0"   encoding =  "utf-8&q ...

  2. 16Khz音频定时触发采样DMA存储过程

    一.AD Setting 1.Calibration (ADCAL) 2.设定ADC Chennel与SCANDIR等,在低功耗应用方案,选择PCLK/4,并设置SMP(tCONV = Samplin ...

  3. JAX-WS创建和处理SOAP消息

    JAX-WS规范是一组XML web services的JAVA API,在 JAX-WS中,一个远程调用可以转换为一个基于XML的协议例如SOAP,在使用JAX-WS过程中,开发者不需要编写任何生成 ...

  4. [ios-必看] WWDC 2013 Session笔记 - iOS7中的多任务【转】

    感谢:http://onevcat.com/2013/08/ios7-background-multitask/ http://www.objc.io/issue-5/multitasking.htm ...

  5. ASP.NET Zero--9.一个例子(2)商品分类管理-列表

    1.创建实体类 参考:http://www.cnblogs.com/farb/p/4923137.html 在Core(领域层)项目下新建一个目录Entities,在此目录下新建一个Category类 ...

  6. tabindex属性

    1. tabindex的用法: 可以设置tab键在控件中的移动顺序. 以下元素支持tabindex属性:<a> <input> <textarea> <are ...

  7. 驱动07.USB驱动程序

    1 了解USB识别的过程 eg:在Windows系统下的一个现象:把手机的USB设备接到PC 1. 右下角弹出"发现android phone" 2. 跳出一个对话框,提示你安装驱 ...

  8. Dockerfile文件格式的简单介绍

    # This dockerfile uses the ubuntu image # VERSION 2 - EDITION 1 # Author: docker_user # Command form ...

  9. 浅析ARP协议及ARP攻击

    一. ARP数据包结构 (1)硬件类型:指明发送方想知道的硬件接口类型,以太网的值为1:(2)协议类型:指明发送方提供的高层协议类型:它的值为 0x0800 即表示 IP地址.(3)硬件地址长度和协议 ...

  10. 快速理解Parquet的DL和RL

    关于Parquet的详细介绍,请参考: 新一代列式存储格式Parquet,此文中对Parquet做了详细的介绍,这里不做重复介绍,但其中关于Definition Level(DL)和Repeated ...