Files
uzVideo/js/README.md

160 lines
5.7 KiB
Markdown
Raw Normal View History

2024-09-20 13:14:22 +08:00
- [扩展说明](#扩展说明)
2024-09-29 15:58:33 +08:00
- [uzUtils.js 提供网络、存储 等功能](#uzutilsjs-提供网络存储-等功能)
2024-09-20 13:14:22 +08:00
- [uzVideo(视频源) 扩展运行说明](#uzvideo视频源-扩展运行说明)
- [uzHome(首页推荐) 扩展运行说明](#uzhome首页推荐-扩展运行说明)
2024-09-29 15:58:33 +08:00
- [panTools(网盘工具)扩展运行说明](#pantools网盘工具扩展运行说明)
2024-09-20 13:14:22 +08:00
- [加密说明](#加密说明)
- [修改记录](#修改记录)
2024-09-29 15:58:33 +08:00
- [v1.6.00](#v1600)
2024-09-20 13:14:22 +08:00
- [v1.5.50](#v1550)
- [v1.5.40](#v1540)
- [v1.4.00](#v1400)
- [v1.3.00](#v1300)
# 扩展说明
1. 感谢您的关注,由于作者对 `js` 了解甚少,所以内置的代码不够全面。**如果您要编写 uz 可执行的扩展需要添加代码或其他问题,可以联系[机器人](https://t.me/uzVideoAppbot)**
2. `uzVideo.js` 为视频源扩展,提供观看视频的能力。内部定义了一些类和方法,您需要在扩展中实现 `WebApiBase` 的所有方法。
3. `uzHome.js` 为首页推荐扩展,提供视频推荐能力。
4. uz 内部仅有一个运行时,所有 `js` 代码(包括扩展)都在一起加载执行。所以您的扩展内类名一定要特殊,实例名称也要特殊
5. 不支持 `import` `export`
6. 集成库可在 `uz3lib.js` 查看,如需添加其他库通用库请联系[机器人](https://t.me/uzVideoAppbot)
7. 成对使用 `// ignore` uz 内部会忽略包裹的内容
2024-09-29 15:58:33 +08:00
## uzUtils.js 提供网络、存储 等功能
2024-09-20 13:14:22 +08:00
# uzVideo(视频源) 扩展运行说明
2024-06-15 19:04:15 +08:00
2024-09-20 13:14:22 +08:00
1. 执行每个方法都会为 `webSite` 进行赋值
2. json 文件说明
2024-06-16 10:19:52 +08:00
2024-06-15 19:04:15 +08:00
```
{
2024-06-16 10:06:17 +08:00
"name": "名称",
2024-09-20 13:14:22 +08:00
"codeID": "如果选择了加密请填写,由 uz 生成",
2024-08-30 16:35:47 +08:00
"api": "扩展链接",
2024-06-15 19:04:15 +08:00
"instance": "实例名称",
2024-09-02 15:37:48 +08:00
"webSite": "视频站地址。当加载代码时会赋值给对象的 webSite 属性,用户可自行在 app 内修改",
"remark": "备注",
"noHistory": false, // *不开启*历史记录 默认false(即开启历史记录),用户可自行在 app 内修改
"userAgent": "", // 设置播放ua 优先级低于 getVideoPlayUrl 返回ua用户可自行在 app 内修改
"isLock": false, // 是否上锁 默认false(即不上锁),用户可自行在 app 内修改
"blockClassList": ["短剧"] // 屏蔽分类,用户可自行在 app 内修改
2024-06-15 19:04:15 +08:00
}
2024-06-27 17:59:35 +08:00
```
2024-07-12 14:35:44 +08:00
2024-09-20 13:14:22 +08:00
3. 流程图
2024-07-16 21:31:36 +08:00
```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
```
2024-09-20 13:14:22 +08:00
# uzHome(首页推荐) 扩展运行说明
1. 固定实例名称为 `uzHomeJs` (例如 const uzHomeJs = new UZHomeJS();
2. json 文件说明
```
{
"name": "名称",
"codeID": "如果选择了加密请填写,由 uz 生成",
"url": "扩展链接"
}
```
3. 如需添加更多 UI 类型,请联系[机器人](https://t.me/uzVideoAppbot)
4. 流程图
```mermaid
graph TD
A[开始] --> A1[uz 调用 getHome 获取首页 tab 分类] -->|返回数据 RepHome| B[调用 getTab 获取 tab 页数据]
B -->|返回 RepTabList.data | C[展示推荐视频数据]
B -->|返回 RepTabList.filter| D[展示筛选标签,随后调用 getFilterList] -->|返回 RepVideoList| E[展示筛选视频数据]
C --> F
E --> F
F[结束,点击视频 uz 开始搜索]
2024-09-29 15:58:33 +08:00
```
# panTools(网盘工具)扩展运行说明
1. 固定实例名称为 `uzPanToolsInstance`
2. uz 运行时仅存在一个网盘工具,请尽量整合所有的解析在 PanTools
3. 流程图
```mermaid
graph TD
A[开始] --> B[uz 调用 getShareVideos 获取视频列表] --> C[uz 调用 getPlayInfo 获取播放信息] --> D[结束]
2024-09-20 13:14:22 +08:00
```
# 加密说明
1. 您的扩展代码由 uz 进行加密,并生成 `codeID` 用于扩展解密。
2. `codeID` 每次都是随机生成,不可指定。请将 `codeID` 添加进 `json` 文件内。
3. app 设置页 `sid` 为用户标识,卸载、重置等情况下可能会发生变化。
4. `VerifyLink` `SaltApp2Backend` `SaltBackend2App` 为选填项,用于控制谁 `sid` 可以添加使用您开发的扩展。(仅在添加时进行验证)。
5. 推荐使用 `cloudflare worker` 进行验证。
6. 验证相关代码请见 `verifyServer.js` 请注意修改 `salt``sid` 验证逻辑。
2024-07-12 14:35:44 +08:00
# 修改记录
2024-09-29 15:58:33 +08:00
### v1.6.00
1. `VideoDetail` 去除 `quarkUrl` 新增 `panUrls` 网盘分享链接列表
2. `WebApiBase``HomeTabModel` 新增 `uzTag` 字段用于存取环境变量,请勿修改值
3. 新增 `getEnv(uzTag, key)` 函数用于读取环境变量
4. 新增 `setEnv(uzTag, key, value, summary)` 用于新增或更新环境变量
2024-09-20 13:14:22 +08:00
### v1.5.50
1. 支持使用 uz 加密扩展,加密后请将 `codeID` 填写在 `json` 文件内。
2. 新增首页推荐扩展类型 `uzHome.js`
2024-09-02 15:37:48 +08:00
### v1.5.40
1. `req` 支持设置 `responseType` 值为字符串 `json、arraybuffer、bytes、plain、stream`
2. `vod_pic` 支持 data url 格式
3. `RepVideoPlayUrl.data` 支持 data url 格式
2024-07-16 21:31:36 +08:00
### v1.4.00
1. 增加二级分类和筛选列表功能
2024-07-12 14:35:44 +08:00
### v1.3.00
2024-09-02 15:37:48 +08:00
1. 去掉 `cat.js`, 更改为 `cheerio` `Crypto` `Encrypt` `parse(后期可能会移除,推荐优先使用 cheerio)`
2024-07-12 14:35:44 +08:00
2. `VideoDetail` 新增 `quarkUrl` 支持夸克网盘
3. `RepVideoPlayUrl` 新增 `headers` 支持设置播放 `header`