[STYLE] 調整 IoT API 回應格式與程式碼風格

1. 移除 B005, B012, B014, B017 回應中的 message 欄位,以相容機台端的解析邏輯。
2. 統一 MachineController 內的型別轉換格式與程式碼縮排。
3. 同步更新 api-docs.php 文件範例,移除多餘的 message 欄位。
This commit is contained in:
sky121113 2026-05-13 14:17:24 +08:00
parent 0e6f5b703c
commit 69e825aeb3
2 changed files with 20 additions and 18 deletions

View File

@ -180,7 +180,6 @@ class MachineController extends Controller
return response()->json([
'success' => true,
'code' => 200,
'message' => 'OK',
'data' => $slots->map(function ($slot) {
return [
'tid' => $slot->slot_no,
@ -307,7 +306,6 @@ class MachineController extends Controller
return response()->json([
'success' => true,
'code' => 200,
'message' => 'OK',
'data' => $advertisements->values()
]);
}
@ -366,10 +364,10 @@ class MachineController extends Controller
$mappedSlots = array_map(function ($item) {
return [
'slot_no' => isset($item['tid']) ? (string)$item['tid'] : null,
'slot_no' => isset($item['tid']) ? (string) $item['tid'] : null,
'product_id' => $item['t060v00'] ?? null,
'stock' => isset($item['num']) ? (int)$item['num'] : 0,
'type' => isset($item['type']) ? (int)$item['type'] : null,
'stock' => isset($item['num']) ? (int) $item['num'] : 0,
'type' => isset($item['type']) ? (int) $item['type'] : null,
];
}, $legacyData);
@ -423,7 +421,6 @@ class MachineController extends Controller
return response()->json([
'success' => true,
'code' => 200,
'message' => 'OK',
'data' => $products
]);
}
@ -487,7 +484,6 @@ class MachineController extends Controller
return response()->json([
'success' => true,
'code' => 200,
'message' => 'OK',
'data' => $data
]);
}
@ -518,19 +514,22 @@ class MachineController extends Controller
$pickupCode = PickupCode::where('machine_id', $machine->id)
->where('code', $code)
->where('status', 'active')
->where(function($q) { $q->whereNull('expires_at')->orWhere('expires_at', '>', now()); })
->where(function ($q) {
$q->whereNull('expires_at')->orWhere('expires_at', '>', now());
})
->first();
if (!$pickupCode) {
$fails = Cache::increment("pickup_fails:{$machine->id}");
if ($fails === 1) Cache::put("pickup_fails:{$machine->id}", 1, 600);
if ($fails === 1)
Cache::put("pickup_fails:{$machine->id}", 1, 600);
if ($fails >= 5) {
Cache::put($lockoutKey, true, 60);
Cache::forget("pickup_fails:{$machine->id}");
}
ProcessStateLog::dispatch($machine->id, $machine->company_id, "[PickupCode] Verification failed: :code", 'info', ['code' => $code]);
return response()->json(['success' => false, 'message' => 'Invalid code', 'code' => 404, 'remaining_attempts' => 5 - $fails], 404);
}
@ -544,7 +543,7 @@ class MachineController extends Controller
'action' => 'verify_success',
'remark' => "log.pickup.verify_success",
'raw_data' => [
'machine_sn' => $machine->serial_no,
'machine_sn' => $machine->serial_no,
'code' => $pickupCode->code,
'slot' => $pickupCode->slot_no
]
@ -573,24 +572,28 @@ class MachineController extends Controller
{
$machine = $request->get('machine');
$lockoutKey = "passcode_lockout:{$machine->id}";
if (Cache::has($lockoutKey)) {
return response()->json(['success' => false, 'message' => 'Locked', 'code' => 429], 429);
}
$validator = Validator::make($request->all(), ['code' => 'required|string|size:8']);
if ($validator->fails()) return response()->json(['success' => false, 'code' => 400], 400);
if ($validator->fails())
return response()->json(['success' => false, 'code' => 400], 400);
$code = $request->input('code');
$passCode = PassCode::where('machine_id', $machine->id)
->where('code', $code)
->where('status', 'active')
->where(function($q) { $q->whereNull('expires_at')->orWhere('expires_at', '>', now()); })
->where(function ($q) {
$q->whereNull('expires_at')->orWhere('expires_at', '>', now());
})
->first();
if (!$passCode) {
$fails = Cache::increment("passcode_fails:{$machine->id}");
if ($fails >= 5) Cache::put($lockoutKey, true, 60);
if ($fails >= 5)
Cache::put($lockoutKey, true, 60);
return response()->json(['success' => false, 'code' => 404], 404);
}
@ -622,7 +625,7 @@ class MachineController extends Controller
public function verifyStaffCard(Request $request)
{
$machine = $request->get('machine');
$validator = Validator::make($request->all(), [
'code' => 'required|string', // 卡片 UID
]);

View File

@ -164,7 +164,6 @@ return [
'response' => [
'success' => true,
'code' => 200,
'message' => 'OK',
'data' => [
[
't070v01' => '測試機台廣告',