构建发布脚本
目前所有平台都采用页面操作的方式实现,主要包含以下几个关键部分:
基础架构
每个平台的动态发布功能都需要实现以下接口:
实现模式
所有平台遵循类似的实现模式:
1. 注册平台信息到 infos
每个平台需要注册到 infos
中,然后通过 infos
中的信息来进行初始化。
例如 Bilibili 动态发布的平台信息如下:
其中 accountKey 是获取账号信息的 key,用于获取账号信息,详情可以查看 src/sync/account.ts
和 src/sync/account
文件夹。
2. 内容处理
2.1 标题
获取到输入框或其它输入区域,然后进行内容填充。可以考虑直接使用 textContent
或 innerHTML
进行填充,或者使用复制粘贴事件等方式进行。
2.2 内容
获取到输入框或其它输入区域,然后进行内容填充。可以考虑直接使用 textContent
或 innerHTML
进行填充,或者使用复制粘贴事件等方式进行。
2.3 上传图片/视频等
找到文件输入Input后,使用 fetch 下载图片/视频等,然后使用 DataTransfer 模拟文件上传。
3. 自动发布(可选)
开发建议
- 学习使用
devtools
,使用审查元素来获取元素信息。 - 学习各类
event
的使用,例如input
、change
、click
等。 - 学习
浏览器 API
的使用,例如fetch
、DataTransfer
、ClipboardEvent
等。更多信息可以参考MDN - 在遇见问题的时候,可以先尝试使用
console.log
来输出信息,然后根据信息来判断问题所在。