# 类 DirScanner 定义 ## 私有属性 * nginxSecureOn: Nginx防盗链开启状态 * nginxSecret: Nginx防盗链密钥 * userIp: 用户IP地址 * nginxSecureTimeout: Nginx防盗链有效期,单位:秒 * nginxSecureLinkMd5Pattern: Nginx防盗链MD5加密方式 * allowReadContentFileExtensions: 允许读取文件内容的文件类型 * fields: 私有属性字段名和说明 * rootDir: 当前扫描的根目录 * webRoot: 网站静态文件相对路径的根目录,默认值:/content/ * scanningDirLevel: 当前扫描的目录深度 * scanStartTime: 开始扫描时间戳,单位:秒 * scanResults: 目录扫描结果 * tree: 目录扫描树形结构 ## 受保护属性 * supportFileExtensions: 支持的文件类型 * maxReadFilesize: 默认每种文件读取内容最大大小 * securedFileExtensions: 开启Nginx防盗链的文件类型 ## 公开属性 * scanTimeCost: 上一次目录扫描耗时,单位:毫秒 ## 私有方法 * isValid: 判断目录名或者文件名是否合法 * parseDescriptionFiles: 解析描述文件内容 * parseShortCuts: 解析快捷方式文件内容 * getId: 根据文件路径生成唯一编号 * isNginxSecureLinkMd5PatternValid: 判断Nginx防盗链MD5加密方式字符串是否合格 * getDirData: 根据路径生成目录数组 * getFileData: 根据路径生成文件数组,兼容URL文件 * getScanningLevel: 根据路径和根目录获取当前扫描的目录深度 * getRelativeDirname: 根据相对目录名 * mergeDescriptionData: 合并描述文件内容到md文件或者目录数据 ## 受保护的方法 * getSecureLink: 根据文件生成防盗链网址 * getFilePath: 根据文件生成相对路径 * getDirPath: 根据目录生成相对路径 ## 公开方法 * setNginxSecure: 设置Nginx防盗链开启或关闭,以及密钥、用户IP、加密方式、超时时长 * setNginxSecret: 设置Nginx防盗链密钥 * setUserIp: 设置当前用户IP,用来生成加密网址 * setNginxSecureLinkMd5Pattern: 设置Nginx防盗链MD5加密方式 * setNginxSecureTimeout: 设置Nginx防盗链超时时长,单位:秒 * setWebRoot: 设置网站静态文件相对根目录 * getNginxSecret: 获取Nginx防盗链密钥 * getUserIp: 获取当前用户IP * getNginxSecureLinkMd5Pattern: 获取Nginx防盗链MD5加密方式 * getNginxSecureTimeout: 获取Nginx防盗链超时时长,单位:秒 * getWebRoot: 获取网站静态文件相对根目录 * isSecureOn: 获取是否开启防盗链 * scan: 扫描目录获取目录和文件列表,支持指定目录扫描深度(目录级数) * getScanResults: 获取扫描结果 * getMenus: 获取扫描结果中的目录结构,其中pid指向父目录 * getMDTitles: 获取.md文件中的h1-h6标题 * fixMDUrls: 替换.md文件解析之后的HTML中的静态文件URL为相对路径path * getDefaultReadme: 获取名称为README.md的文件 ## 参考说明 Nginx防盗链MD5加密方式参考下面网址中的示例, 将Nginx的变量替换$符号为英文大括号; 示例: ``` {secure_link_expires}{uri}{remote_addr} {secret} ``` * Nginx secure link module