Commit 9b74d0d31e5cf8ba94dd35c7b5f977faf18eb1f9

Authored by teemitop
1 parent 0a4169ee

主动更新

@@ -17,69 +17,99 @@ class Api{ @@ -17,69 +17,99 @@ class Api{
17 } 17 }
18 //获取最新版本 18 //获取最新版本
19 public function compareVersion() { 19 public function compareVersion() {
20 - $flag = input('get.flag') ? input('get.flag') : 1;  
21 - $list = db('android')->where(array('flag'=>$flag))->select();  
22 - if(isset($list)){  
23 - foreach ($list as $key => $value) {  
24 - $array[] = $value['version']; 20 + //2019-05-24 主动更新需要判断当前设备是否为灰度用户
  21 + //识别是否为灰度用户
  22 + $limit = '&sid='.input('get.sid').'&device='.input('get.deviceId').'&version='.input('get.versionCode');
  23 + $res= file_get_contents(ON_LINE.'Android.Device.TestingDeviceExits'.$limit);
  24 + $res_arr = json_decode($res,TRUE);
  25 +
  26 + if($res_arr['data']){
  27 + //比对版本号
  28 + $version = db('android')->where(array('name'=>$res_arr['data'][0]['version'],'flag'=>input('get.flag')))->select();
  29 + //当前版本小于线上版本则返回线上安装包地址。
  30 + if(input('get.versionCode') < $version[0]['version']){
  31 +
  32 + $str = "http://xt03.colorcun.com".$version[0]['file_url'];
  33 + $version[0]['file_url'] = $str;
  34 + $result['ret'] = 200;
  35 + $result['data'] = $version;
  36 + $result['msg'] = 'success';
  37 +
  38 + return json_encode($result);
  39 + }else{
  40 +
  41 + $result['ret'] = 0;
  42 + $result['data'] = '';
  43 + $result['msg'] = 'fail';
  44 +
  45 + return json_encode($result);
25 } 46 }
26 - }  
27 - if(isset($array)){  
28 - $newarray = array();  
29 - foreach ($array as $value) {  
30 - $newarray[] = explode('.',$value); 47 + }else{
  48 + //非灰度用户
  49 + $flag = input('get.flag') ? input('get.flag') : 1;
  50 + $list = db('android')->where(array('flag'=>$flag))->select();
  51 + if(isset($list)){
  52 + foreach ($list as $key => $value) {
  53 + $array[] = $value['version'];
  54 + }
31 } 55 }
32 - $max = $newarray[0][0];  
33 - foreach ($newarray as $v){  
34 - if($v[0]>$max){  
35 - $max = $v[0]; 56 + if(isset($array)){
  57 + $newarray = array();
  58 + foreach ($array as $value) {
  59 + $newarray[] = explode('.',$value);
  60 + }
  61 + $max = $newarray[0][0];
  62 + foreach ($newarray as $v){
  63 + if($v[0]>$max){
  64 + $max = $v[0];
  65 + }
  66 + }
  67 + foreach ($newarray as $k=> $vl){
  68 + if($vl[0] != $max){
  69 + unset($newarray[$k]);
36 } 70 }
37 - }  
38 - foreach ($newarray as $k=> $vl){  
39 - if($vl[0] != $max){  
40 - unset($newarray[$k]);  
41 } 71 }
42 - }  
43 - $max = $newarray[0][1];  
44 - foreach ($newarray as $v){  
45 - if($v[1]>$max){  
46 - $max = $v[1]; 72 + $max = $newarray[0][1];
  73 + foreach ($newarray as $v){
  74 + if($v[1]>$max){
  75 + $max = $v[1];
  76 + }
  77 + }
  78 + foreach ($newarray as $k=> $vl){
  79 + if($vl[1] != $max){
  80 + unset($newarray[$k]);
47 } 81 }
48 - }  
49 - foreach ($newarray as $k=> $vl){  
50 - if($vl[1] != $max){  
51 - unset($newarray[$k]);  
52 } 82 }
53 - }  
54 - $max = $newarray[0][2];  
55 - foreach ($newarray as $k=> $v){  
56 - if($v[2]>$max){  
57 - $max = $v[2]; 83 + $max = $newarray[0][2];
  84 + foreach ($newarray as $k=> $v){
  85 + if($v[2]>$max){
  86 + $max = $v[2];
  87 + }
  88 + }
  89 + foreach ($newarray as $k=> $vl){
  90 + if($vl[2] != $max){
  91 + unset($newarray[$k]);
58 } 92 }
59 - }  
60 - foreach ($newarray as $k=> $vl){  
61 - if($vl[2] != $max){  
62 - unset($newarray[$k]);  
63 } 93 }
64 - }  
65 94
66 - foreach ($newarray as $ve) {  
67 - $ay = implode('.',$ve); 95 + foreach ($newarray as $ve) {
  96 + $ay = implode('.',$ve);
  97 + }
  98 + }
  99 + $version = db('android')->where(array('version'=>$ay,'flag'=>$flag))->select();
  100 + if($version){
  101 + $str = "http://xt03.colorcun.com".$version['0']['file_url'];
  102 + $version[0]['file_url'] = $str;
  103 + $result['ret'] = 200;
  104 + $result['data'] = $version;
  105 + $result['msg'] = 'success';
  106 + return json_encode($result);
  107 + }else{
  108 + $result['ret'] = 0;
  109 + $result['data'] = '';
  110 + $result['msg'] = 'fail';
  111 + return json_encode($result);
68 } 112 }
69 - }  
70 - $version = db('android')->where(array('version'=>$ay,'flag'=>$flag))->select();  
71 - if($version){  
72 - $str = "http://xt03.colorcun.com".$version['0']['file_url'];  
73 - $version[0]['file_url'] = $str;  
74 - $result['ret'] = 200;  
75 - $result['data'] = $version;  
76 - $result['msg'] = 'success';  
77 - return json_encode($result);  
78 - }else{  
79 - $result['ret'] = 0;  
80 - $result['data'] = '';  
81 - $result['msg'] = 'fail';  
82 - return json_encode($result);  
83 } 113 }
84 } 114 }
85 115