json(['message' => 'API works']); }); // 认证路由(不需要认证) Route::prefix('auth')->group(function () { Route::post('/login', [AuthController::class, 'login']); Route::post('/register', [AuthController::class, 'register']); Route::post('/logout', [AuthController::class, 'logout'])->middleware('auth:sanctum'); Route::post('/refresh', [AuthController::class, 'refresh'])->middleware('auth:sanctum'); // 短信登录 Route::post('/sms/send', [AuthController::class, 'sendSmsCode']); Route::post('/sms/login', [AuthController::class, 'smsLogin']); // 微信登录 Route::get('/wechat/qr', [AuthController::class, 'wechatQr']); Route::post('/wechat/check', [AuthController::class, 'wechatCheck']); Route::post('/wechat/mock-scan', [AuthController::class, 'wechatMockScan']); Route::get('/wechat/callback', [AuthController::class, 'wechatCallback']); // 图形验证码 Route::get('/captcha', [AuthController::class, 'captcha']); // 忘记密码 Route::post('/reset/send-code', [AuthController::class, 'sendResetCode']); Route::post('/reset/password', [AuthController::class, 'resetPassword']); // 异地登录配对码 Route::post('/send-pair-code', [AuthController::class, 'sendPairCode']); Route::post('/verify-pair-code', [AuthController::class, 'verifyPairCode']); Route::post('/logout-all-devices', [AuthController::class, 'logoutAllDevices'])->middleware('auth:sanctum'); }); // 用户路由(需要认证) Route::middleware('auth:sanctum')->prefix('user')->group(function () { Route::get('/', [AuthController::class, 'me']); Route::put('/profile', [AuthController::class, 'updateProfile']); Route::put('/password', [AuthController::class, 'changePassword']); Route::post('/bind-wechat', [AuthController::class, 'bindWechat']); Route::post('/unbind-wechat', [AuthController::class, 'unbindWechat']); Route::get('/login-logs', [AuthController::class, 'loginLogs']); Route::post('/send-email-change-code', [AuthController::class, 'sendEmailChangeCode']); Route::post('/verify-email-change', [AuthController::class, 'verifyEmailChange']); Route::get('/devices', [AuthController::class, 'getTrustedDevices']); Route::delete('/devices/{id}', [AuthController::class, 'revokeDevice']); Route::post('/devices/{id}/approve', [AuthController::class, 'approveDevice']); }); // 售后管理 Route::middleware('auth:sanctum')->prefix('after-sales')->group(function () { Route::get('/', [AfterSaleController::class, 'index']); Route::get('/stats', [AfterSaleController::class, 'stats']); Route::get('/available-orders', [AfterSaleController::class, 'availableOrders']); Route::get('/all-available-orders', [AfterSaleController::class, 'allAvailableOrders']); Route::get('/{id}', [AfterSaleController::class, 'show']); Route::post('/', [AfterSaleController::class, 'store']); Route::put('/{id}/status', [AfterSaleController::class, 'updateStatus']); Route::delete('/{id}', [AfterSaleController::class, 'destroy']); }); // 商品管理(Goods) Route::prefix('goods')->group(function () { Route::get('/', [GoodsController::class, 'index']); Route::post('/', [GoodsController::class, 'store']); Route::get('/all', [GoodsController::class, 'all']); Route::get('/{id}', [GoodsController::class, 'show']); Route::put('/{id}', [GoodsController::class, 'update']); Route::delete('/{id}', [GoodsController::class, 'destroy']); }); // 仓库模板绑定 Route::middleware('auth:sanctum')->prefix('warehouse')->group(function () { Route::get('/bindings', [WarehouseTemplateBindingController::class, 'index']); Route::post('/bindings', [WarehouseTemplateBindingController::class, 'store']); Route::put('/bindings/{id}', [WarehouseTemplateBindingController::class, 'update']); Route::delete('/bindings/{id}', [WarehouseTemplateBindingController::class, 'destroy']); }); // 操作日志 Route::middleware('auth:sanctum')->prefix('operation-logs')->group(function () { Route::get('/', [OperationLogController::class, 'index']); Route::get('/export', [OperationLogController::class, 'export']); }); // 发货管理 - 统一路径 Route::middleware('auth:sanctum')->prefix('delivery')->group(function () { Route::get('/pending', [DeliveryController::class, 'pending']); Route::get('/pending-delivery', [DeliveryController::class, 'pending']); // 兼容旧路径 Route::get('/reprint/{id}', [DeliveryController::class, 'reprint']); Route::post('/reprint', [DeliveryController::class, 'reprintBatch']); // 批量重打 });