package com.dobbinsoft.fw.support.image; import com.dobbinsoft.fw.core.enums.BaseEnums; import com.dobbinsoft.fw.support.model.Page; import com.dobbinsoft.fw.support.storage.StorageClient; /** * 图片管理器 * 管理图片对象存储中的图片 * * 依赖: * 1. StorageClient 为其提供 物理删除,转储上传 功能 * 2. 依赖一个 com.dobbinsoft.fw.core.enums.BaseEnums 其实现为为图片的业务类型枚举。用于搜索分组。 * 3. 依赖图片基础路径BaseUrl,为智能图片转储提供是否转储的依据 * * ImageManager 需要自己去管理图片已经存储的图片, 包括图片的标题、路径、类型、关联类型等。 * * 提供: * 1. 对外提供,查询图片,搜索图片的功能 * 2. 对外提供,智能 图片转存功能,(不支持防盗链)。若目标图片存在防盗链,则直接返回503。 * 3. */ public interface ImageManager { /** * 获取图片类型分组 * @return */ public Class getImageBizTypes(); /** * 获取图片列表 * @param imageName 搜索图片名 * @param bizType 图片类型 * @param page 页码 * @param pageSize 页码长度 * @return */ public Page getImageList(String imageName, Integer bizType, Integer page, Integer pageSize); /** * 删除某张图片 * @param url * @return */ public boolean delete(String url); /** * 以URL作为Key。 * 若图片存在,则更新,不存在,则以匿名的方式(bizId = 0) 插入 * @param model * @return */ public boolean upsertImg(ImageModel model); }