status = 1; $e->message = 'message'; $e->serial_no = '';; $e->mac = ''; $getPostData = file_get_contents('php://input', 'r'); self::myLog('actionIndex postData:'.$getPostData); if (!$getPostData) { $e->status = 1; $e->message = '传入的数据为空'; return $e; } $getPostData = json_decode($getPostData, true); $manufactureNo = isset($getPostData['manufacture'])?$getPostData['manufacture']:''; $deviceId = isset($getPostData['device_id'])?$getPostData['device_id']:''; $projectNo = isset($getPostData['project'])?$getPostData['project']:''; $modelNo = isset($getPostData['model'])?$getPostData['model']:''; $productionNo = isset($getPostData['production'])?$getPostData['production']:''; $timestamp = isset($getPostData['timestamp'])?$getPostData['timestamp']:''; $sign = isset($getPostData['sign'])?$getPostData['sign']:''; if (empty($deviceId) || empty($manufactureNo) || empty($projectNo) || empty($modelNo) || empty($productionNo)) { $e->message = '传入的数据部分为空'; return $e; } $pattern = "/^[a-zA-Z0-9]+$/"; $dexPattern = "/^[0-9a-fA-F]+$/"; if (!preg_match($pattern, $deviceId) || !preg_match($dexPattern, $manufactureNo) || !preg_match($dexPattern, $modelNo) || !preg_match($dexPattern, $productionNo)) { $e->status = 9; $e->message = '传入的数据字段格式不对'; return $e; } if (isset(Yii::$app->params['secretKey']) && !empty(Yii::$app->params['secretKey'])) { $salt = Yii::$app->params['secretKey']; } else { $salt = isset(Yii::$app->params['secretKey'])? Yii::$app->params['secretKey']: self::$SIGN_SALT; } $makeSign = md5($manufactureNo . $projectNo. $modelNo . $productionNo . $timestamp . $deviceId. $salt); if ($sign != $makeSign || empty($sign)) { $e->status = 2; $e->message = '签名出错'; return $e; } $authResult = Device::authDevice($deviceId, $manufactureNo, $projectNo, $modelNo, $productionNo); $e->status = $authResult->status; $e->message = $authResult->message; if ($authResult->success) { $e->mac = $authResult->mac; $e->serial_no = $authResult->serial_no; } return $e; } }