douyinWork_example.js

/**
 * 工作列表对象,包含发布视频的任务{@link TodoItem}测试。
 * @typedef {Object} WorkList
 * @property {boolean} missionStart - 任务开始的标志。
 * @property {string} name - 任务的名称。
 * @property {Array} todoList - 待办任务列表。
 */

/**
 * 待办任务对象,包含发布视频的详细信息。
 * @typedef {Object} todoList
 * @property {string} type - 任务类型,这里是 'releaseVideo'。
 * @property {Object} data - 视频发布的具体数据。
 */

/**
 * 一个包含多个任务的对象,每个任务都是一个对象,包含任务类型和相关数据。
 * @typedef {Object} TodoList
 * @property {Object[]} todoList - 任务列表,每个任务是一个对象。
 * @property {string} todoList[].type - 任务的类型,如 'searchVideo', 'searchUser', 'replyMessage' 等。
 * @property {Object} todoList[].data - 与任务相关的数据。
 * @property {string} todoList[].data.location - 视频搜索任务的位置信息。
 * @property {boolean} todoList[].data.addLikes - 指示是否为视频添加点赞。
 * @property {string} todoList[].data.comment - 视频评论。
 * @property {Object} todoList[].data.access - 访问权限设置。
 * @property {Array} todoList[].data.access.userList - 用户列表,用于访问权限。
 * @property {number} todoList[].data.access.limit - 访问限制的数量。
 * @property {boolean} todoList[].data.access.chat - 是否允许聊天。
 * @property {string} todoList[].data.userName - 用户搜索任务的用户名。
 * @property {boolean} todoList[].data.follow - 指示是否关注用户。
 * @property {Object[]} todoList[].data - 回复消息任务的数据。
 * @property {string} todoList[].data[].type - 回复消息的类型,如 'notice', 'reply', 'search' 等。
 * @property {string} todoList[].data[].userName - 用户名,用于搜索任务。
 * @property {string} todoList[].data[].text - 搜索文本,用于搜索任务。
 */

/**
 * 视频发布数据对象,包含视频的URL、标题、标签等信息。
 * @typedef {Object} VideoReleaseData
 * @property {string} url - 视频的URL地址。
 * @property {string} title - 视频的标题。
 * @property {Array} tags - 视频的标签数组。
 * @property {string} location - 视频的地理位置信息(如果有)。
 * @property {string} permission - 视频的权限设置,如 '公开 · 所有人可见'。
 * @property {string} declare - 视频的声明信息(如果有)。
 * @property {Array} advanced - 视频发布的高级设置数组。
 */

/**
 * 视频发布高级设置对象,包含各种发布选项。
 * @typedef {Object} AdvancedSettings
 * @property {string} text - 设置的描述文本。
 * @property {boolean} value - 设置的值,如 true 或 false。
 */

// 示例对象
const workList = {
    "missionStart": true, // 任务开始的标志
    "name": "robot120--worklist01--douyin", // 任务的名称
    "todoList": [
        {
            "type": "searchVideo",// 任务类型搜索视频
            "data": {
                "location": "男子送完餐", //搜索视频标题
                "addLikes": true,  //是否点赞
                "comment": "太吓人了。", //评论内容
                "access": {
                    "userList": [],
                    "limit": 5,
                    "chat": false
                }
            }
        },
        {
            "type": "searchUser",// 任务类型搜索用户
            "data": {
                "userName": "嘟嘟助手团_97965599632", //用户名称或id
                "follow": false //进入主页是否关注
            }
        },
        {
            "type": "replyMessage",// 任务类型处理消息
            "data": [
                {
                    "type": "notice" //查看系统消息
                },
                {
                    "type": "reply" //回复私信
                },
                {
                    "type": "search", //搜索用户并发送消息
                    "userName": "Starnes",
                    "text": "测试自动化2"
                }
            ]
        },
        {
            "type": "releaseVideo", // 任务类型
            "data": {
                "url": "https://video-bucket.s3.cn-northwest-1.amazonaws.com.cn/pal-promo.mp4", // 视频的URL地址
                "title": "帕帕云,一键部署服务器轻松玩转幻兽帕鲁。", // 视频的标题
                "tags": [
                    "#幻兽帕鲁",
                    "#palworld",
                    "#帕鲁服务器",
                    "#steam游戏",
                    "#游戏鉴赏家"
                ], // 视频的标签数组
                "location": "", // 视频的地理位置信息
                "permission": "公开 · 所有人可见", // 视频的权限设置
                "declare": "", // 视频的声明信息
                "advanced": [
                    {
                        "text": "存本地时自动存草稿", // 设置的描述文本
                        "value": false // 设置的值
                    },
                    {
                        "text": "发布后保存至手机", // 设置的描述文本
                        "value": false // 设置的值
                    },
                    {
                        "text": "保存自己内容带水印", // 设置的描述文本
                        "value": true // 设置的值
                    },
                    {
                        "text": "高清发布", // 设置的描述文本
                        "value": true // 设置的值
                    },
                    {
                        "text": "允许下载", // 设置的描述文本
                        "value": false // 设置的值
                    },
                    {
                        "text": "谁可以合拍", // 设置的描述文本
                        "value": "所有人" // 设置的值
                    },
                    {
                        "text": "谁可以分享到日常", // 设置的描述文本
                        "value": "所有人" // 设置的值
                    }
                ] // 视频发布的高级设置数组
            }
        }
    ]
};