Source code of filesite.io. https://filesite.io
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 

3.1 KiB

类 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: 获取扫描结果中的目录结构
  • getMDTitles: 获取.md文件中的h1-h6标题
  • fixMDUrls: 替换.md文件解析之后的HTML中的静态文件URL为相对路径path
  • getDefaultReadme: 获取名称为README.md的文件

参考说明

Nginx防盗链MD5加密方式参考下面网址中的示例, 将Nginx的变量替换$符号为英文大括号;

示例:

{secure_link_expires}{uri}{remote_addr} {secret}