Files
uzVideo/js/README.md
Saul Hetherman ca6d47d200 功能扩展
2024-09-02 15:37:48 +08:00

75 lines
2.7 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# 编写 uz 可执行的扩展
1. 感谢您的关注,由于作者对 js 了解甚少,所以内置的代码不够全面。**如果您要编写 uz 可执行的扩展需要添加代码或其他问题,可以联系[机器人](https://t.me/uzVideoAppbot)**
2. uzCode.js 内部定义了一些类和方法,您需要在扩展中实现 WebApiBase 的所有方法
3. uz 内部仅有一个运行时,所有 js 代码(包括扩展)都在一起加载执行。所以您的扩展内类名一定要特殊,实例名称也要特殊
4. 不支持 import export
5. 集成库可在 `uz3lib.js` 查看,如需添加其他库通用库请联系[机器人](https://t.me/uzVideoAppbot)
6. 成对使用 `// ignore` uz 内部会忽略包裹的内容
7. 为您的扩展编写以下 json 配置文件
```
{
"name": "名称",
"api": "扩展链接",
"instance": "实例名称",
"webSite": "视频站地址。当加载代码时会赋值给对象的 webSite 属性,用户可自行在 app 内修改",
"remark": "备注",
"noHistory": false, // *不开启*历史记录 默认false(即开启历史记录),用户可自行在 app 内修改
"userAgent": "", // 设置播放ua 优先级低于 getVideoPlayUrl 返回ua用户可自行在 app 内修改
"isLock": false, // 是否上锁 默认false(即不上锁),用户可自行在 app 内修改
"blockClassList": ["短剧"] // 屏蔽分类,用户可自行在 app 内修改
}
```
# 扩展运行说明
1. 执行每个方法都会为 `webSite` 进行赋值
2. 流程图
```mermaid
graph TD
A[开始] --> A1[uz 调用 getClassList 获取一级分类] -->|返回数据 rep: RepVideoClassList| B[判断 rep.data 列表内 VideoClass 的 hasSubclass 是否为 true]
B -->|是,存在二级分类或者筛选列表| C[调用 getSubclassList 获取二级分类或筛选列表]
B -->|否,不存在二级分类| D[调用 getVideoList 获取视频列表]
C --> C1[调用 getSubclassVideoList 获取二级分类视频列表或者筛选视频列表] -->|点击单个视频| E
E[调用 getVideoDetail 获取视频详情]
D -->|点击单个视频| E
E -->|点击某一集| F[调用 getVideoPlayUrl 获取播放链接]
F --> G[结束]
S[搜索] -->S1[调用 searchVideo 返回视频列表] -->|点击单个视频| E
```
# 修改记录
### v1.5.40
1. `req` 支持设置 `responseType` 值为字符串 `json、arraybuffer、bytes、plain、stream`
2. `vod_pic` 支持 data url 格式
3. `RepVideoPlayUrl.data` 支持 data url 格式
### v1.4.00
1. 增加二级分类和筛选列表功能
### v1.3.00
1. 去掉 `cat.js`, 更改为 `cheerio` `Crypto` `Encrypt` `parse(后期可能会移除,推荐优先使用 cheerio)`
2. `VideoDetail` 新增 `quarkUrl` 支持夸克网盘
3. `RepVideoPlayUrl` 新增 `headers` 支持设置播放 `header`