<?php



class Constants
{

    /**
     * 基本错误类型
     */
    const SUCCESS = 0;    // 成功
    const FAIL = -1;    // 失败



    /**
     * 业务错误类型
     * 错错误码长度为 4 位
     * 不同业务请增加1000位
     * 如： -1001 和 -2001
     */
    const ERR_INFO_NOT_EXISTS = -1001;    // 信息不存在
    const ERR_USER_NOT_EXISTS = -1002;    // 用户不存在
    const ERR_EXCEPTION = -1003; //异常错误
    const ERR_USER_LOGIN_TIMEOUT = -1004;    // 用户登陆超时
    const ERR_INFO_SET_FAIL = -1005;    //  信息设置失败



    /**
     * curl code值定义
     */
    const CURL_REQUEST_ERROR = 20001; //curl请求失败
    const CURL_DATA_ERROR = 20002; //返回数据格式错误
    const CURL_EXCEPTION_ERROR = 20003; //curl请求异常code
    const ROUT_EXCEPTION_ERROR = 20004; //路由接口请求异常code

    const PARAMETER_ERROR = 10001;
    const PARAMETER_EXPIRE = 10002;



    /**
     * 错误消息响应
     */
    private static $_message = [
        // 基础错误
        self::SUCCESS => ['成功', 'success'],
        self::FAIL => ['失败', 'fail'],
        self::PARAMETER_ERROR => ['参数接收失败', 'parameter input error'],
        self::PARAMETER_EXPIRE => ['参数过期', 'parameter expire'],

        //其他业务请在下面对照写中英文错误信息

    ];

    /**
     * @param $code
     * @param string $lang
     * @return string
     */

    public static function message($code, $lang = '')
    {
        $lang = empty($lang) ? config('app.locale'):$lang;
        $lang = 'zh_cn' === $lang ? 0 : 1;
        return self::$_message[$code][$lang] ?? '';
    }




}
