用户端传递当前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. Ubuntu 下的环境变量配置

    网上很多配置jdk环境变量的方法,但是几乎都会下次重启电脑就失效,或者时不时的失效.下面教你一招 JDK环境变量配置如下: 执行命令sudo gedit /etc/environment,在打开的编辑 ...

  2. Raspberry Pi(树莓派)上从零开始构建Linux系统(简称PiLFS)(一)

    一. 准备工作 1. 装有Linux宿主系统的树莓派主板,可参考 Raspberry Pi(树莓派)上安装Raspbian(无路由器,无显示器) 2. 参考网址:Linux From Scratch ...

  3. SpringMVC第一天(其他)

    SpringMVC第一天 框架课程 课程计划 参数绑定 SpringMVC默认支持的类型 简单数据类型 Pojo类型 Pojo包装类型 自定义参数绑定 SpringMVC和Struts2的区别 高级参 ...

  4. USACO 4.1 Fence Loops(Floyd求最小环)

    Fence Loops The fences that surround Farmer Brown's collection of pastures have gotten out of contro ...

  5. elasticsearch最佳实践

    创建索引 无mapping 创建索引名称为index的索引 curl -XPUT http://localhost:9200/book 有mapping 如果需要定义每个类型的结构映射,创建type名 ...

  6. JS的console使用

    一,console输出的几种写法: console.error('错误信息') console.info('提示信息') console.warn('警告信息') console.log('普通信息' ...

  7. TreeView控制消息

    控制消息的作用 通过发送消息到Treeview控件, 就能够控机Treeview控件.常用的控制有: 获取被点击的节点 获取节点的文本 设置节点的文本 获取节点的父节点 获取节点的子节点 TVM_GE ...

  8. 原生js

  9. windows下配置Java环境变量

    一.首先, JDK的安装路径,在这里我们选择默认安装在C:\Program Files\Java\jdk1.7.0_45\目录下. 二.下面, 设置环境变量: [1]“我的电脑”右键菜单---> ...

  10. [SQL基础教程] 5-1视图

    [SQL基础教程] 5-1视图 视图和表 从SQL角度看视图就是一张表 视图与表的差别 表保存了实际的数据,视图保存的是SELECT语句: 视图的优点 节省存储空间: 将常用的Select 语句保存成 ...