我正在尝试用 Laravel 编写一个 api,我是编写 api 的新手。我希望这个 api 将数据发送到我编写的模拟 api 并返回结果作为响应。我查看了 Laravel 文档,但找不到任何对我有用的东西。通过PurchaseController向AndroidController发送数据,我希望控制器运行后数据返回给PurchaseController。
目录结构如下: +API - 采购控制器 +安卓 -AndroidController
###AndroidController###
public static function check(Request $request)
{
$data = AndroidModel::where('receipt', '=', $request->receipt)->get();
$expireDate = date('Y-m-d H:i:s T', (strtotime($data[0]->expireDate) - 21600));
$validation = $data[0]->receipt . $data[0]->validation;
if (strlen($validation) > 2) {
if ($data[0]->validation == 1) {
$response =
[
'status' => 'true',
'code' => 200,
'expireDate' => $expireDate
];
return response()->json($response);
} else {
$response =
[
'status' => 'false',
'code' => 401,
];
return response()->json($response, 401);
}
} else {
$response =
[
'status' => 'false',
'code' => 401,
'message' => 'Hatalı Kod!'
];
return response()->json($response, 400);
}
}
###PurchaseController###
public function purchase(Request $request): \Illuminate\Http\JsonResponse
{
$expireDate = date('Y-m-d H:i:s T', (strtotime($this->date) - 21600));
$receipt = $request->receipt;
$register = RegisterModel::where('clientToken', '=', $request->clientToken)->get();
$uid = $register[0]->uid;
$os = $register[0]->os;
$applications = ApplicationModel::where('uid', '=', $uid)->get();
$appId = $applications[0]->appId;
$purchaseId = $uid . $appId;
//OS = Android
if ($os == 1) {
$purchase =
[
'purchaseId' => $purchaseId,
'expireDate' => $expireDate,
];
PurchaseModel::create($purchase);
return response()->json([
'uid' => $uid,
'os' => $os,
'appId' => $appId,
'expireDate' => $expireDate,
], 200);
//OS = iOS
} else {
$purchase =
[
'purchaseId' => $purchaseId,
'expireDate' => $expireDate,
];
PurchaseModel::create($purchase);
return response()->json([
'uid' => $uid,
'os' => $os,
'appId' => $appId,
'expireDate' => $expireDate,
], 200);
}
}
expireDate 值必须来自 AndroidController