原理:
参考之前获取慧湖通二维码先获取satoken, 然后根据room_id获取对应房间余额。

实现(PHP83 CURL)
function get_balance() : float | false
{
$ch = curl_init();
$open_id = OPENID;
$room_id = ROOMID;
$get_satoken_url = "https://api.215123.cn/web-app/auth/certificateLogin?openId=".$open_id;
curl_setopt($ch, CURLOPT_URL, $get_satoken_url);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER,false);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
try
{
$ret = curl_exec($ch);
$arr = json_decode($ret,true);
if(!isset($arr['success']) || !isset($arr['data']['token']))
{
return false;
}
if($arr['success'] != 'true')
{
return false;
}
$sa_token = $arr['data']['token'];
$headers = ["satoken:$sa_token"];
$fee_url = "https://api.215123.cn/proxy/qy/sdcz/balance?roomId=".$room_id;
curl_setopt($ch, CURLOPT_URL, $fee_url);
curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);
$ret = curl_exec($ch);
$arr = json_decode($ret,true);
if(!isset($arr['success']) || !isset($arr['result']))
{
return false;
}
if($arr['success'] != 'true')
{
return false;
}
if(!is_numeric($arr['result'])) return false;
return $arr['result'];
}
catch (Exception)
{
return false;
}
}
