Skip to content

develop define site

ted423 edited this page May 17, 2022 · 12 revisions

适配新的站点

如何快速适配一个站点

  • NexusPHP 类型的站点为例;
  • resource/sites 目录下创建一个以网站域名为名称的目录,如 mysite.com
  • 在该目录下创建一个 config.json 文件;
  • config.json 文件中输入以下内容:
    {
      "name": "MySite",
      "description": "这是一个神奇的网站",
      "url": "https://mysite.com/",
      "icon": "https://mysite.com/favicon.ico",
      "tags": ["综合", "音乐"],
      "schema": "NexusPHP",
      "host": "mysite.com",
      "collaborator": "您的大名"
    }
  • 保存,然后根据 开发指引 进行打包编译就可以看到新的站点了;
  • 以上为最简单的站点配置,这是在已知站点架构情况下,只需要简单的一个配置文件即可;
  • 如果站点不是 NexusPHP 架构,或需要更多的配置,请继续往下看;

搜索中的做种状态 progress 以及 status

这两个的结果可以用filter,也可以使用switchFilters,不过要注意对应selector的写法

例如u2中

      "progress": {
        "selector": ["td[class*='seedhlc_']", "td[class*='leechhlc_']", ""],
        "switchFilters": [
          ["100"],
          ["query[0].innerHTML.split('<br>')[1]"],
          ["null"]
        ]
      },
      "status": {
        "selector": ["td[class*='seedhlc_ever']", ".seedhlc_current", ".leechhlc_inactive", ".leechhlc_current"],
        "switchFilters": [
          ["255"],
          ["2"],
          ["3"],
          ["1"]
        ]
      },

progress 不匹配的情况下要返回null,否则有progress的状态下种子会被标记为有状态

export enum ETorrentStatus {
  // 正在下载
  downloading = 1,
  // 正在做种
  sending = 2,
  // 已完成,未做种
  completed = 255,
  // 未活动(曾经下载过,但未完成)
  inactive = 3
}

进度用0-100数字,状态用 1,2,3,255 分别表示

站点目录结构

...
├─ sites
│  ├─ mysite.com
│  │  ├─ parser
│  │  │  └─ xxx.js 
│  │  ├─ config.json
│  │  └─ xxx.js
│  └─ ... 
└─ ...
内容 必需 说明
config.json 站点的配置文件,详细说明参考 config.json 文件描述
parser 解析器目录,会在打包时自动将该目录下的所有 js 文件内容生成到 config.js 文件中的 parser 字段中
xxxx.js 页面对应的脚本文件

脚本及脚本文件定义

脚本文件及脚本片段,请使用 闭包 ,以避免 命名污染

如何提交一个已适配的站点?

由于本人精力及能力有限,仅能维护部分站点,如果你有更多更好玩的站点需要在助手中直接下拉选择显示,并愿意分享给其他用户使用,那么赶紧通过以下方式提交吧;(怎么听着像广告~_~)

  1. 如果你有 github 账户,并知道如何使用 git ,那么可以按以下步骤进行提交

    • Fork 本项目;
    • Fork 后的项目 clone 到本地;
    • 在项目的 resource\sites 目录下新建一个站点目录,如:pt.mysite.com
    • pt.mysite.com 目录下新建一个 config.json 文件;
    • 如有需要,再创建特定的脚本;
    • 以上操作完成后,使用 git 将修改内容 push 到自己的 github 仓库;
    • 最后在 github 仓库中发起一个 PR(pull request) 即可;
  2. 加入开发交流 QQ 群:773500545,把你的配置文件分享给我们吧;

  3. 通过 该主题 留言,按格式提交已测试可用的站点信息;

PR 参考资料