/*
 * Copyright (c) 2018-2999 广州市蓝海创新科技有限公司 All rights reserved.
 *
 * https://www.mall4j.com/
 *
 * 未经允许，不可做商业用途！
 *
 * 版权所有，侵权必究！
 */

package com.yami.shop.common.bean;

import lombok.Data;

/**
 * `ImgUpload`类用于封装与图片上传相关的本地存储配置信息，通过这个类可以方便地在系统中传递和管理图片上传所需的各项配置参数，
 * 例如在不同的环境（开发环境、生产环境等）下，根据实际需求配置相应的本地文件存储路径、选择合适的文件上传方式以及设置对应的网站资源访问地址等，
 * 其借助`lombok`的`@Data`注解自动生成了常用的属性访问方法（如`getter`、`setter`方法）以及`toString`、`hashCode`和`equals`等方法，简化了代码编写，方便对对象属性的操作和使用。
 *
 * @author lgh
 */
@Data
public class ImgUpload {

    /**
     * 本地文件上传文件夹，用于指定在本地存储上传文件（这里主要针对图片文件）时的存放路径，
     * 这个路径可以是绝对路径也可以是相对路径，具体取决于系统的部署和配置要求，它决定了上传的图片在本地服务器上的实际存储位置，
     * 例如在Windows系统下可能是 "C:/uploads/images/"，在Linux系统下可能是 "/var/www/uploads/images/" 这样的路径形式，方便后续对上传的图片进行管理和访问。
     */
    private String imagePath;

    /**
     * 文件上传方式，通过整数值来表示不同的上传方式，这里定义了两种常见的情况：1.本地文件上传，2.七牛云，
     * 可以根据实际业务需求和部署环境选择合适的上传方式，比如在开发测试阶段可能使用本地文件上传方便调试，而在生产环境中为了更好的存储扩展性和性能等因素选择七牛云这样的云存储服务，
     * 系统会根据这个属性的值来决定采用何种具体的文件上传逻辑来处理图片上传操作。
     */
    private Integer uploadType;

    /**
     * 网站url，一般是指用于访问网站资源（包括上传的图片等文件）的网络地址，例如 "https://www.example.com/"，
     * 当用户在浏览器中访问网站上的图片或者其他资源时，就是通过这个地址来定位和获取相应的资源，它对于正确展示网站上的图片以及保证资源的可访问性起着关键作用，
     * 同时在配置文件上传相关逻辑时，也需要和实际的存储路径以及上传方式等配合使用，确保资源的正确引用和访问。
     */
    private String resourceUrl;
}