02组-2025K班现场编程任务
一. 视频链接
https://www.bilibili.com/video/BV1sySKBnEzN/?vd_source=8a950947d6bc6120547b345c6856e11b
二. 系统架构思维导图
-
项目结构:
script/
├── 1_enter_live.js # 自动打开小红书APP并进入直播间
├── 2_auto_post.js # 编辑文本并自动发帖
├── 3_swipe_live.js # 自动切换直播间,支持点赞和关注
├── 4_auto_like.js # 自动点赞(悬浮窗版)
├── 5_auto_comment_1.js # 自动发静态评论
└── 5_auto_comment_2.js # 自动发动态评论
-
脚本功能模块:
- 导航与进入:
1_enter_live.js负责APP启动和直播间进入,使用text().findOne()定位UI元素。 - 内容发布:
2_auto_post.js实现发帖流程,包括文本输入和多步发布操作。 - 直播交互:
3_swipe_live.js提供循环自动化:点赞(双击)、关注、滑动切换直播间。 - 点赞系统:
4_auto_like.js实现悬浮窗控制的随机点赞,支持速度调节和线程管理。 - 评论系统:
5_auto_comment_1.js和5_auto_comment_2.js提供评论自动化,包含预设评论库和发送逻辑。版本2增加模拟真人输入(部分输入+删除)以提高真实性。
- 导航与进入:
-
公共API使用:
- UI操作:
click(),swipe(),setText(),text().findOne(),desc().findOne()。 - 设备控制:
device.width/height,sleep(),toast()。 - 多线程:
threads.start()用于后台点赞。 - 悬浮窗:
floaty.window()创建可拖拽UI界面。
- UI操作:
-
编程实现所采用的技术方案
-
总体技术方案
该项目采用 Auto.js 框架作为核心技术方案,结合 JavaScript 语言,实现Android设备上的APP自动化操作。Auto.js 是一个基于Rhino JavaScript引擎的Android自动化工具,支持模拟用户触摸、滑动、输入等操作,无需root权限即可运行。选择该方案的原因在于其轻量级、易上手,且专为移动端自动化设计,能够高效模拟小红书APP的UI交互。
-
核心技术实现
- 脚本结构:
- 每个功能模块为独立JS文件(如
1_enter_live.js),便于维护和执行。 - 使用全局函数和辅助函数(如
enterLiveTab(),quickLike())封装重复逻辑,提高代码复用性。
- 每个功能模块为独立JS文件(如
- UI自动化技术:
- 元素定位:通过
text().findOne()、desc().findOne()等API定位APP界面元素,支持超时等待避免卡死。 - 用户操作模拟:
click()、swipe()、setText()等函数模拟点击、滑动、输入,实现自动化流程。 - 设备适配:使用
device.width/height获取屏幕尺寸,确保操作在不同设备上兼容。
- 元素定位:通过
- 高级功能:
- 多线程处理:
threads.start()用于后台点赞,避免阻塞主线程。 - 悬浮窗界面:
floaty.window()创建可拖拽UI,提供实时控制(如点赞速度调节)。 - 随机化模拟:添加随机延迟和输入逻辑(如
5_auto_comment_2.js中的部分输入+删除),提高操作真实性,降低被APP检测的风险。
- 多线程处理:
- 脚本结构:
-
-
流程图:

-
思维导图:

三. 任务分工与得分比例
| 学号 | 姓名 | 具体分工 | 得分比例 |
|---|---|---|---|
| 022302217 | 郑伟 | 负责技术开发和项目打包,包括核对代码功能、整理代码文件夹、提交代码包、确认直播事项。 | 1.1 |
| 052306116 | 周晨烁 | 负责技术开发和项目打包,包括核对代码功能、整理代码文件夹、提交代码包、确认直播事项。 | 1.1 |
| 052306115 | 刘昭 | 负责核验与协调,对照得分规则核对功能、提醒DDL、协调违背要求的安排。 | 1.1 |
| 052301319 | 杨恪 | 负责主操作和解说,调试手机、实战演练、录屏解说。 | 1.1 |
| 052301237 | 江豪 | 担任主播,根据脚本讲解项目、回答提问。 | 0.9 |
| 052301116 | 曾立臣 | 负责脚本撰写,熟悉代码、列出解说大纲、准备直播话术和互动环节。 | 0.9 |
| 052301230 | 郑圣杰 | 负责多媒体制作,剪辑B站视频。 | 1 |
| 152301115 | 陈张钡 | 负责素材准备,辅助录屏、拍摄团队花絮或屏幕特写。 | 0.9 |
| 152301212 | 王炜 | 负责博客撰写,梳理架构思维导图和心得体会,起草博客框架。 | 0.9 |
四. 成员心得体会
郑伟:
作为技术开发和项目打包的负责人,这次项目让我深刻体会到代码质量的重要性。通过逐项核对得分规则,我学会了如何从用户需求出发,确保功能完整性。团队协作中,与周晨烁的配合让我意识到沟通效率对项目进度的影响。未来,我会更注重代码的可维护性和文档编写,以提升开发效率。
周晨烁:
参与技术开发和打包工作,让我对自动化脚本的实现有了更深的理解。从编写代码到整理提交,我体会到细节决定成败的过程。核对功能时,发现小问题也能影响整体得分,这让我更加细心。团队中,大家各司其职,互相支持,让我感受到集体力量的伟大。
刘昭:
担任核验与协调角色,我的主要任务是确保项目符合要求。这次经历让我学会了如何高效协调团队,避免DDL冲突。通过对照得分规则,我不仅帮助团队完善了功能,还锻炼了我的组织能力和沟通技巧。团队合作中,及时提醒和调整安排让我意识到,协调人是项目的“润滑剂”。
曾立臣:
负责脚本撰写,我需要将技术内容转化为易懂的讲解。这让我体会到技术与表达的结合重要性。列出解说大纲和准备话术的过程中,我学会了如何结构化信息,并设计互动环节以增强观众参与感。虽然有些尴尬,但这锻炼了我的表达能力。团队中,与其他成员的交流让我更了解项目的全貌。
江豪:
作为主播,我负责讲解项目和回答提问。这次直播经历让我从幕后走到台前,体会到面对观众的压力与乐趣。根据脚本自由发挥时,我学会了如何用简单语言解释复杂技术。团队的支持让我更有信心,未来我会继续提升演讲技巧,以更好地分享知识。
杨恪:
主操作和解说让我直接面对演示环节。从调试手机到实战演练,我深刻体会到准备工作的必要性。录屏时,确保语言流畅和操作准确,这让我意识到演示不仅是展示,更是教学。团队中,与脚本撰写者的配合让我更好地理解了项目的逻辑。
陈张钡:
负责素材准备,我辅助录屏和拍摄花絮。这让我学会了如何捕捉项目亮点,从屏幕特写到团队动态,都能成为有价值的素材。虽然是辅助角色,但我体会到每个环节都对整体效果至关重要。团队协作中,我感受到大家对细节的重视,这让我更注重观察和记录。
郑圣杰:
多媒体制作让我从代码世界转向视频剪辑。剪辑B站视频的过程中,我学会了如何用视觉语言讲述故事,选择素材和节奏控制都影响最终效果。虽然时间紧迫,但我享受了创作的过程。团队中,与素材准备者的配合让我意识到,多媒体是技术展示的延伸。
王炜:
作为博客写手,我负责梳理架构和心得。这次写作让我反思整个项目,从思维导图到个人体会,我学会了如何系统化总结经验。起草博客框架时,我体会到清晰表达的重要性。团队经历让我更珍惜合作,未来我会用文字记录更多成长瞬间。
1173

被折叠的 条评论
为什么被折叠?



