|
|
@ -3,46 +3,70 @@ |
|
|
|
|
|
|
|
|
namespace App\Services; |
|
|
namespace App\Services; |
|
|
|
|
|
|
|
|
|
|
|
use App\BodyStat; |
|
|
|
|
|
use Illuminate\Database\Eloquent\Model; |
|
|
|
|
|
|
|
|
class XiaomiDataService |
|
|
class XiaomiDataService |
|
|
{ |
|
|
{ |
|
|
public function fetchData() |
|
|
public function fetchData() |
|
|
{ |
|
|
{ |
|
|
# code...
|
|
|
# code...
|
|
|
|
|
|
|
|
|
$curl = curl_init(); |
|
|
$curl = curl_init(); |
|
|
|
|
|
while (true) { |
|
|
|
|
|
curl_setopt_array($curl, array( |
|
|
|
|
|
CURLOPT_URL => 'https://api-mifit-cn2.huami.com/users/1003389185/members/-1/weightRecords?r=AAF4B906-DC99-4026-A146-978ACE0CABE0&t=1628760878387&limit=1000&toTime=1578441809', |
|
|
|
|
|
CURLOPT_RETURNTRANSFER => true, |
|
|
|
|
|
CURLOPT_ENCODING => '', |
|
|
|
|
|
CURLOPT_MAXREDIRS => 10, |
|
|
|
|
|
CURLOPT_TIMEOUT => 0, |
|
|
|
|
|
CURLOPT_FOLLOWLOCATION => true, |
|
|
|
|
|
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1, |
|
|
|
|
|
CURLOPT_CUSTOMREQUEST => 'GET', |
|
|
|
|
|
CURLOPT_HTTPHEADER => array( |
|
|
|
|
|
'Host: api-mifit-cn2.huami.com', |
|
|
|
|
|
'country: CN', |
|
|
|
|
|
'v: 2.0', |
|
|
|
|
|
'hm-privacy-ceip: true', |
|
|
|
|
|
'accept: */*', |
|
|
|
|
|
'appname: com.xiaomi.hm.health', |
|
|
|
|
|
'channel: appstore', |
|
|
|
|
|
'apptoken: NQVBQFJyQktGHlp6QkpbRl5LRl5qek4uXAQABAAAAAFfuN66ifbzCboB2ZH0DQx220t-vmAesadpY516w6jCvmgtevcO3dRgzBCrdXgE5Q3Ts6krWtaQd9uiZuTWa_sfFvwxQcubyHmZCUZns10TLymRIL1nIfLfplagK_YyTU0Io4j9SSBZPx5-kn8MntQhiq7MnOW0AZuvg7GKs94qd', |
|
|
|
|
|
'accept-language: zh-Hans-CN;q=1, en-CN;q=0.9', |
|
|
|
|
|
'x-request-id: 49EACAE1-63FB-4035-BF1E-CCED0579FD14', |
|
|
|
|
|
'cv: 159_5.2.0', |
|
|
|
|
|
'lang: zh_CN', |
|
|
|
|
|
'timezone: Asia/Shanghai', |
|
|
|
|
|
'appplatform: ios_phone', |
|
|
|
|
|
'hm-privacy-diagnostics: false', |
|
|
|
|
|
'user-agent: MiFit/5.2.0 (iPhone; iOS 14.7; Scale/3.00)' |
|
|
|
|
|
), |
|
|
|
|
|
)); |
|
|
|
|
|
|
|
|
|
|
|
$response = curl_exec($curl); |
|
|
|
|
|
|
|
|
|
|
|
curl_close($curl); |
|
|
|
|
|
$result = json_decode($response, true); |
|
|
|
|
|
$items = $result["items"]; |
|
|
|
|
|
// dump($response);
|
|
|
|
|
|
foreach ($items as $item) { |
|
|
|
|
|
# code...
|
|
|
|
|
|
$entity = $item["summary"]; |
|
|
|
|
|
$entity["generatedTime"] = date("Y-m-d H:i:s", $item["generatedTime"]); |
|
|
|
|
|
dump($entity); |
|
|
|
|
|
$body = new BodyStat(); |
|
|
|
|
|
foreach ($entity as $key => $value) { |
|
|
|
|
|
$body->setAttribute($key, $value); |
|
|
|
|
|
} |
|
|
|
|
|
$body->save(); |
|
|
|
|
|
} |
|
|
|
|
|
// dump($items);
|
|
|
|
|
|
$next = $result["next"]; |
|
|
|
|
|
dump($next); |
|
|
|
|
|
exit; |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
curl_setopt_array($curl, array( |
|
|
|
|
|
CURLOPT_URL => 'https://api-mifit-cn2.huami.com/users/1003389185/members/-1/weightRecords?r=AAF4B906-DC99-4026-A146-978ACE0CABE0&t=1627438226827&limit=100&toTime=1627438226', |
|
|
|
|
|
CURLOPT_RETURNTRANSFER => true, |
|
|
|
|
|
CURLOPT_ENCODING => '', |
|
|
|
|
|
CURLOPT_MAXREDIRS => 10, |
|
|
|
|
|
CURLOPT_TIMEOUT => 0, |
|
|
|
|
|
CURLOPT_FOLLOWLOCATION => true, |
|
|
|
|
|
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1, |
|
|
|
|
|
CURLOPT_CUSTOMREQUEST => 'GET', |
|
|
|
|
|
CURLOPT_HTTPHEADER => array( |
|
|
|
|
|
'Host: api-mifit-cn2.huami.com', |
|
|
|
|
|
'country: CN', |
|
|
|
|
|
'v: 2.0', |
|
|
|
|
|
'hm-privacy-ceip: true', |
|
|
|
|
|
'accept: */*', |
|
|
|
|
|
'appname: com.xiaomi.hm.health', |
|
|
|
|
|
'channel: appstore', |
|
|
|
|
|
'apptoken: NQVBQFJyQktGHlp6QkpbRl5LRl5qek4uXAQABAAAAAFfuN66ifbzCboB2ZH0DQx220t-vmAesadpY516w6jCvmgtevcO3dRgzBCrdXgE5Q3Ts6krWtaQd9uiZuTWa_sfFvwxQcubyHmZCUZns10TLymRIL1nIfLfplagK_YyTU0Io4j9SSBZPx5-kn8MntQhiq7MnOW0AZuvg7GKs94qd', |
|
|
|
|
|
'accept-language: zh-Hans-CN;q=1, en-CN;q=0.9', |
|
|
|
|
|
'x-request-id: 49EACAE1-63FB-4035-BF1E-CCED0579FD14', |
|
|
|
|
|
'cv: 159_5.2.0', |
|
|
|
|
|
'lang: zh_CN', |
|
|
|
|
|
'timezone: Asia/Shanghai', |
|
|
|
|
|
'appplatform: ios_phone', |
|
|
|
|
|
'hm-privacy-diagnostics: false', |
|
|
|
|
|
'user-agent: MiFit/5.2.0 (iPhone; iOS 14.7; Scale/3.00)' |
|
|
|
|
|
), |
|
|
|
|
|
)); |
|
|
|
|
|
|
|
|
|
|
|
$response = curl_exec($curl); |
|
|
|
|
|
|
|
|
|
|
|
curl_close($curl); |
|
|
|
|
|
echo $response; |
|
|
|
|
|
} |
|
|
} |
|
|
} |
|
|
} |