Hf.php
6.27 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
<?php
use Action\AbstractAction;
/**
* 专为APP客户端调用的 hf(hotfix) Api
*
* @name HfController
* @package
* @copyright yoho.inc
* @version 1.1 (2016-5-23 9:57:40) 增加android接口
* @author CL
*/
class HfController extends AbstractAction
{
/* 私钥 */
const PRIVATE_KEY = 'fd4ad5fcsa0de589af23234ks1923ks';
/**
* V1版本
*
* 参数列表
* -------------------------------------------------------------------------
* 字段 描述 类型 示例
* app_version 当前版本号 string 3.8.0
* uid 用户ID string 13423331
* client_type 用户手机系统:Android,IOS string Android
* screen_size 屏幕尺寸 string 1080x1920
* udid 设备唯一码 string 1d123sadao3
* os_version 设备版本号 string 1d123sadao3
* patchv 补丁版本号,如果本地没有补丁,传空 string 100
*
* 返回列表
* -------------------------------------------------------------------------
* 字段 描述 类型 示例
* code 返回的code,200,304等,具体的服务器定义 int 200
* message 信息 string "Config Success"
* md5 当前请求的唯一码 string "1234567890123456"
* data 配置参数数据,参考data列表 object
* [
* url 补丁url地址,没有传空 string http://yohocdn.com/fpath/fpkk.js
* patchv 当前补丁的版本号,没有就传空 string "100"
* filecode md5(md5(文件内容) + "yohopatch2016") string "1233321121212332"
* ]
* echo md5(file_get_contents('http://cdn.yoho.cn/app-hotfix/yohobuy/4.0.1/main-4.js')); exit;
*/
public function v1Action()
{
$result = array('code' => 200, 'message' => 'Config Success', 'md5' => '', 'data' => array());
$clienttype = $this->post('client_type');
$version = $this->post('app_version');
$ios = 'ios';
$android = 'android';
// 根据版本号返回补丁文件信息
if (strcasecmp($clienttype, $ios) == 0){
switch ($version) {
// case '4.0.1': // 版本
// $result['data']['url'] = 'http://cdn.yoho.cn/app-hotfix/yohobuy/4.0.1/main-4.js';
// $result['data']['patchv'] = '103';
// $result['data']['filecode'] = md5('f9c03ec39cfb2686d2b778e444fb2306' . 'yohopatch2016');
// $result['md5'] = md5(self::PRIVATE_KEY . ':' . json_encode($result['data']));
// break;
case '4.5.0': // 版本
case '4.7.0':
case '4.6.0':
case '4.4.0':
case '4.3.0':
case '4.2.0':
case '4.1.0':
$result['data']['url'] = 'http://cdn.yoho.cn/app-hotfix/yohobuy/ios/4.7.0/main.js';
$result['data']['patchv'] = '102';
$result['data']['filecode'] = md5('5105d58adaffbff998f924797dcca329' . 'yohopatch2016');
$result['md5'] = md5(self::PRIVATE_KEY . ':' . json_encode($result['data']));
break;
case '4.8.0':
case '4.8.1':
$result['data']['url'] = 'http://cdn.yoho.cn/app-hotfix/yohobuy/ios/4.8.1/main8185.js';
$result['data']['patchv'] = '109';
$result['data']['filecode'] = md5('8ce90c392899c5121107e43a1d87ab81' . 'yohopatch2016');
$result['md5'] = md5(self::PRIVATE_KEY . ':' . json_encode($result['data']));
break;
case '4.9.0':
$result['data']['url'] = 'http://cdn.yoho.cn/app-hotfix/yohobuy/ios/4.9.0/main0829.js';
$result['data']['patchv'] = '112';
$result['data']['filecode'] = '5ec605c71438642b8da76b62af349f96';
$result['md5'] = md5(self::PRIVATE_KEY . ':' . json_encode($result['data']));
break;
default: // 默认
$result['data']['url'] = '';
$result['data']['patchv'] = '';
$result['data']['filecode'] = '';
$result['md5'] = md5(self::PRIVATE_KEY . ':' . json_encode($result['data']));
// var_dump('ios 4.1');
break;
}
}
else if (strcasecmp($clienttype, $android) == 0){
switch ($version) {
case '4.4.0': // 版本
$result['data']['url'] = 'http://cdn.yoho.cn/app-hotfix/yohobuy/a/4.4.0/201606042300.apatch';
$result['data']['patchv'] = '106';
$result['data']['filecode'] = 'c1361f84067c778c45902efafef6084e';
$result['md5'] = md5(self::PRIVATE_KEY . ':' . json_encode($result['data']));
// var_dump('android 4.3.0');
break;
case '4.8.1': // 版本
$result['data']['url'] = 'http://cdn.yoho.cn/app-hotfix/yohobuy/a/4.8.1/201608261616.apatch';
$result['data']['patchv'] = '107';
$result['data']['filecode'] = '4e9da03c911215d7e66d33af0a852259';
$result['md5'] = md5(self::PRIVATE_KEY . ':' . json_encode($result['data']));
// var_dump('android 4.3.0');
break;
default: // 默认
$result['data']['url'] = '';
$result['data']['patchv'] = '';
$result['data']['filecode'] = '';
$result['md5'] = md5(self::PRIVATE_KEY . ':' . json_encode($result['data']));
// var_dump('android noversion');
break;
}
}
else
{
// var_dump('no found app clienttype');
}
$this->echoJson($result);
}
}