<?php
declare(strict_types=1);

namespace app\api\util;

/**
 * API 统一状态码
 * 与 HTTP 语义对齐，便于前端与网关处理
 */
class ReturnCode
{
    /** 200 成功 */
    public const SUCCESS = 200;

    /** 400 请求参数错误（缺少参数、参数无效、格式错误等） */
    public const PARAMS_ERROR = 400;

    /** 401 未授权（未携带 auth-token 或 user-token） */
    public const UNAUTHORIZED = 401;

    /** 402 token 无效或已过期（格式无效、签名错误、过期、非当前有效 token 等） */
    public const TOKEN_INVALID = 402;

    /** 403 鉴权失败（密钥错误、签名验证失败等） */
    public const FORBIDDEN = 403;

    /** 404 资源不存在（用户不存在等） */
    public const NOT_FOUND = 404;

    /** 422 业务逻辑错误（余额不足、购买失败、业务校验不通过等） */
    public const BUSINESS_ERROR = 422;

    /** 500 服务器内部错误 */
    public const SERVER_ERROR = 500;
}
