59fc35dad9
- Backend: wrap AI call in try/catch, throw HttpException(503) with msg 'AI 服务暂时不可用,请稍后重试' - Backend: AllExceptionsFilter preserve original error message for non-HttpException errors - Frontend: handle string/object res.data, show statusCode as fallback when message is unavailable