Showing
1 changed file
with
83 additions
and
53 deletions
| @@ -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 |
-
Please register or login to post a comment