CheckActiveHelper.php
4.67 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
<?php
namespace common\helpers;
use Exception;
use function curl_init;
use function curl_setopt;
use function stripos;
use function http_build_query;
use function curl_exec;
use function curl_getinfo;
use function in_array;
use function curl_close;
use function json_decode;
use function file_get_contents;
use function base64_encode;
class CheckActiveHelper
{
const CHECK_URL = 'http://zhoundlee.com/app_qrv';
const ACTIVE_URL = 'http://zhoundlee.com/app_activate';
/**
* 调用智纹保校验接口
* @param $img 图片内容 file 是 用户上传的图片,文件类型(二进制图片数据)
* @param $fileName 图片名称 string 是 用户上传的图片原始名字
* 格式: IMG_防伪标签uuid_时间戳.jpg 注意: 1) 中间两个下划线 _ 不可省略 2) 微信扫码出来的uuid参数中的版本号部分去掉@v1.0
* @return bool|string ""
* content object 内容
* status string 状态码【待定】(authentic:正品 fake:假货 其他状态码:请闵总帮忙补充)
* imgUrl file 返回的图片状态 备注:请返回完整的URL路径,例如:http://check1.bosch-smartlife.com/images/success.png
*/
public static function checkAppQrv($imageFullPath, $fileName)
{
try {
$curl = curl_init();
curl_setopt($curl, CURLOPT_URL, self::CHECK_URL);
// 获取图片内容
$fp = file_get_contents($imageFullPath); // 获取图片的二进制数据
$image = base64_encode($fp); //图片二进制数据base64编码
// 设置post数据
$post_data = array(
"img" => $image,
"fileName" => $fileName
);
// 如果是https协议
if (stripos(self::CHECK_URL, "https://") !== FALSE) {
curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, FALSE);
curl_setopt($curl, CURLOPT_SSL_VERIFYHOST, FALSE);
//CURL_SSLVERSION_TLSv1
curl_setopt($curl, CURLOPT_SSLVERSION, 1);
}
// 通过POST方式提交
curl_setopt($curl, CURLOPT_POST, true);
curl_setopt($curl, CURLOPT_POSTFIELDS, http_build_query($post_data));
// 超时时间
curl_setopt($curl, CURLOPT_CONNECTTIMEOUT, 60);
curl_setopt($curl, CURLOPT_TIMEOUT, 60);
curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
// 返回内容
$callbcak = curl_exec($curl);
//http状态码
$httpCode = curl_getinfo($curl, CURLINFO_HTTP_CODE);
// 处理返回状态
if (in_array($httpCode, array(400, 403)))
return "";
// 关闭,释放资源
curl_close($curl);
//返回内容JSON_DECODE
return json_decode($callbcak, true);
} catch (Exception $e) {
return false;
}
}
/**
* 防伪标签的激活
* @param $uuid string 是 防伪标签uuid
* @return mixed|string {"status": "success"}
* 状态码:success:激活成功 fail:激活失败,无效标签 activated:已激活过
*/
public static function getAppActivate($uuid)
{
try {
$curl = curl_init();
curl_setopt($curl, CURLOPT_URL, self::ACTIVE_URL);
/*curl_setopt($curl, CURLOPT_HTTPHEADER, array (
'Authorization:APPCODE '.self::APPCODE_IMAGE
));*/
//设置post数据
$post_data = array(
"uuid" => $uuid
);;
//如果是https协议
if (stripos(self::ACTIVE_URL, "https://") !== FALSE) {
curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, FALSE);
curl_setopt($curl, CURLOPT_SSL_VERIFYHOST, FALSE);
curl_setopt($curl, CURLOPT_SSLVERSION, 1);
}
//通过POST方式提交
curl_setopt($curl, CURLOPT_POST, true);
curl_setopt($curl, CURLOPT_POSTFIELDS, $post_data);
//超时时间
curl_setopt($curl, CURLOPT_CONNECTTIMEOUT, 60);
curl_setopt($curl, CURLOPT_TIMEOUT, 60);
curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
//返回内容
$callbcak = curl_exec($curl);
//http状态码
$httpCode = curl_getinfo($curl,CURLINFO_HTTP_CODE);
//状态处理
if (in_array($httpCode, array(400, 403)))
return "";
//关闭,释放资源
curl_close($curl);
//返回内容JSON_DECODE
return json_decode($callbcak, true);
} catch (Exception $e) {
return false;
}
}
}