php 接口升级,App版本升级接口

**APP版本升级**

>[success] 1.创建版本控制表

~~~

CREATE TABLE `td_app_update` (

`id` int(100) NOT NULL AUTO_INCREMENT,

`version` varchar(12) DEFAULT '0' COMMENT '版本号',

`url_name` varchar(100) DEFAULT NULL COMMENT 'app下载链接地址',

`upgrade` int(10) DEFAULT '0' COMMENT '2强制升级 1提醒升级 0不提醒升级',

`title` varchar(200) DEFAULT NULL COMMENT '更新标题',

`content` text COMMNET '更新内容',

`source` varchar(10) DEFAULT NULL COMMENT '来源 android 、ios',

`updatetime` varchar(50) DEFAULT NULL COMMENT '更新时间',

PRIMARY KEY (`id`)

) ENGINE=MyISAM AUTO_INCREMENT=3 DEFAULT CHARSET=utf8

~~~

>[success]2.接口实现

~~~

public function update(){

$clientVersion = strtolower($this->client_version); //获取客户端的版本号

$source = strtolower($this->os); //获取客户端操作系统

$where['source'] = array('eq',$source);

//获取当前的版本

$result = M('AppUpdate')->where($where)->find();

if($this->versionCompare($result['version'],$clientVersion)){

if(!empty($result['url_name'])){

$data['url'] = $result['url_name'];

}

$data['upgrade'] = $result['upgrade'];

$data['title'] = $result['title'];

$data['content'] = $result['content'];

json_success($data);

}

json_success('ok');

}

/**

*@param $version1 版本A 如:5.3.2

*@param $version2 版本B 如:5.3.0

*@return int false版本A小于或等于版本B true版本A大于版本B

*/

private function versionCompare($versionA,$versionB) {

$verListA = explode('.', (string)$versionA);

$verListB = explode('.', (string)$versionB);

$len = max(count($verListA),count($verListB));

$i = -1;

while ($i++ < $len) {

$verListA[$i] = intval(@$verListA[$i]);

if ($verListA[$i] <0 ) {

$verListA[$i] = 0;

}

$verListB[$i] = intval(@$verListB[$i]);

if ($verListB[$i] <0 ) {

$verListB[$i] = 0;

}

if ($verListA[$i]>$verListB[$i]) {

return true;

} else if ($verListA[$i]

return false;

} else if ($i==($len-1)) {

return false;

}

}

}

~~~

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值