/**
 * 常量模块
 * @date 2022-03
 * @author 何华东
 */

/**
 * 常量
 */
export default class Contants {
    /**
    * `process.env["KT_PID"]`
    */
    static P_ID = process.env["KT_PID"];

    /**
     * `process.env['NODE_ENV']?.toUpperCase()`
     */
    static NODE_ENV = process.env['NODE_ENV']?.toUpperCase();

    /**
     * `process.env['SUB_NODE_ENV']?.toUpperCase()`
     */
    static SUB_NODE_ENV = process.env['SUB_NODE_ENV']?.toUpperCase();

    /**
     * 是否为调试环境
     * 
     * `process.env['NODE_ENV']?.toUpperCase() === 'DEBUG'`
     */
    static IS_DEBUG = Contants.NODE_ENV === 'DEBUG';

    /**
     * 是否为测试环境
     * 
     * `process.env['NODE_ENV']?.toUpperCase() === 'TEST'`
     */
    static IS_TEST = Contants.NODE_ENV === 'TEST';

    /**
     * 是否为生产环境
     * 
     * `process.env['NODE_ENV']?.toUpperCase() === 'PROD'`
     */
    static IS_PROD = Contants.NODE_ENV === 'PROD';

    /**
     * 是否为本地调试环境
     * 
     * `process.env['NODE_ENV']?.toUpperCase() === 'DEBUG'` && `process.env['SUB_NODE_ENV']?.toUpperCase() === 'LOCAL'`
     */
    static IS_LOCAL_DEBUG = Contants.IS_DEBUG && Contants.SUB_NODE_ENV === 'LOCAL';

    /**
     * 是否为场端环境
     * 
     * `process.env['SUB_NODE_ENV']?.toUpperCase() === 'PARK'`
     */
    static IS_PARK = Contants.SUB_NODE_ENV === 'PARK';

    /**
     * 统一API根地址(测试环境)
     */
    static TEST_TY_API_BASE_URL = 'https://tsktapps.keytop.cn/unite-api';

    /**
     * 统一API根地址(生产环境)
     */
    static PROD_TY_API_BASE_URL = 'https://kp-open.keytop.cn/unite-api';

    /**
     * 统一API根地址(根据环境自动配置)
     */
    static TY_API_BASE_URL = Contants.IS_PROD ? Contants.PROD_TY_API_BASE_URL : Contants.TEST_TY_API_BASE_URL;

    /**
     * 独立服务根地址(测试环境)
     */
    static TEST_SS_SERVICE_BASE_URL = 'https://ss-service-test.keytop.cn';

    /**
     * 独立服务根地址(生产环境)
     */
    static PROD_SS_SERVICE_BASE_URL = 'https://ss-service.keytop.cn';

    /**
     * 独立服务根地址(根据环境自动配置)
     */
    static SS_SERVICE_BASE_URL = Contants.IS_PROD ? Contants.PROD_SS_SERVICE_BASE_URL : Contants.TEST_SS_SERVICE_BASE_URL;

    /**
     * 前台服务根地址(测试环境)
     */
    static TEST_FMS_SERVICE_BASE_URL = 'https://fms-service-test.keytop.cn';

    /**
     * 前台服务根地址(生产环境)
     */
    static PROD_FMS_SERVICE_BASE_URL = 'https://fms-service.keytop.cn';

    /**
     * 前台服务根地址(根据环境自动配置)
     */
    static FMS_SERVICE_BASE_URL = Contants.IS_PROD ? Contants.PROD_FMS_SERVICE_BASE_URL : Contants.TEST_FMS_SERVICE_BASE_URL;
}

/**
 * 是否为调试环境
 * 
 * `process.env['NODE_ENV']?.toUpperCase() === 'DEBUG'`
 */
export const IS_DEBUG = Contants.IS_DEBUG;

/**
 * 是否为测试环境
 * 
 * `process.env['NODE_ENV']?.toUpperCase() === 'TEST'`
 */
export const IS_TEST = Contants.IS_TEST;

/**
 * 是否为生产环境
 * 
 * `process.env['NODE_ENV']?.toUpperCase() === 'PROD'`
 */
export const IS_PROD = Contants.IS_PROD;

/**
 * 是否为本地调试环境
 * 
 * `process.env['NODE_ENV']?.toUpperCase() === 'DEBUG'` && `process.env['SUB_NODE_ENV']?.toUpperCase() === 'LOCAL'`
 */
export const IS_LOCAL_DEBUG = Contants.IS_LOCAL_DEBUG;

/**
 * 是否为场端环境
 * 
 * `process.env['SUB_NODE_ENV']?.toUpperCase() === 'PARK'`
 */
export const IS_PARK = Contants.IS_PARK;

export { Contants }