Greasy Fork

Greasy Fork is available in English.

API监听器 - 获取quizData接口返回值

监听指定API接口调用并获取返回值

您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey 篡改猴Greasemonkey 油猴子Violentmonkey 暴力猴,才能安装此脚本。

您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey 篡改猴,才能安装此脚本。

您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey 篡改猴Violentmonkey 暴力猴,才能安装此脚本。

您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey 篡改猴Userscripts ,才能安装此脚本。

您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey 篡改猴,才能安装此脚本。

您需要先安装一款用户脚本管理器扩展后才能安装此脚本。

(我已经安装了用户脚本管理器,让我安装!)

您需要先安装一款用户样式管理器扩展,比如 Stylus,才能安装此样式。

您需要先安装一款用户样式管理器扩展,比如 Stylus,才能安装此样式。

您需要先安装一款用户样式管理器扩展,比如 Stylus,才能安装此样式。

您需要先安装一款用户样式管理器扩展后才能安装此样式。

您需要先安装一款用户样式管理器扩展后才能安装此样式。

您需要先安装一款用户样式管理器扩展后才能安装此样式。

(我已经安装了用户样式管理器,让我安装!)

作者
xszst2014
日安装量
1
总安装量
2
评分
0 0 0
版本
1.5
创建于
2025-10-28
更新于
2025-10-28
大小
15.7 KB
许可证
暂无
适用于

API监听器 - 获取quizData接口返回值

📋 项目概述

这是一个专为教育平台设计的Tampermonkey用户脚本,用于监听和分析学生答题数据。脚本能够自动拦截特定的API调用,解析答题结果,并通过可视化通知和语音播报的方式展示学生的答题情况。

🎯 核心功能

1. API监听与拦截

2. 答题数据解析

  • 学生信息提取: 姓名、学号、班级
  • 成绩统计: 总分、满分、正确率计算
  • 错题分析: 自动识别错题位置和数量
  • 答题统计: 正确题数、错误题数、总题数

3. 可视化通知系统

  • 现代化UI: 采用毛玻璃效果和渐变背景
  • 多种类型: 成功、错误、信息三种通知类型
  • 交互体验: 支持手动关闭和自动消失
  • 动画效果: 流畅的滑入滑出动画

4. 语音播报功能

  • 智能语音: 自动选择中文语音引擎
  • 内容丰富: 播报学生姓名、成绩和错题位置
  • 参数优化: 适配桌面和移动端的语音参数
  • 错误处理: 完善的异常处理和降级机制

🔧 技术特性

脚本配置

// @name         API监听器 - 获取quizData接口返回值
// @namespace    http://tampermonkey.net/
// @version      1.5
// @description  监听指定API接口调用并获取返回值
// @author       You
// @match        https://mkyice-app.menco.cn/*
// @include      https://mkyice-app.menco.cn/#/teacher*
// @run-at       document-start
// @grant        none

兼容性保障

  • 多重启动机制: DOMContentLoaded、window.load、延迟启动
  • 状态检测: 防止重复初始化
  • 错误恢复: 完善的异常处理机制
  • 跨浏览器: 支持主流浏览器环境

📊 数据展示格式

通知显示内容

📊 答题结果分析
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
👤 学生信息: [姓名] ([学号]) - [班级]

📊 学生成绩: [得分]/[满分]分 正确率[百分比]%

🔍 错题位置: 第 [题号1], [题号2] 题

📈 答题统计: ✅[正确数]题 ❌[错误数]题 📝总计[总题数]题
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

语音播报内容

[学生姓名][得分]分,错题:[题号1],[题号2]

🎨 UI设计特色

通知样式

  • 位置: 固定在页面右上角
  • 背景: 渐变色彩搭配(成功绿色、错误红色、信息蓝色)
  • 效果: 毛玻璃背景模糊效果
  • 字体: 系统默认字体栈,确保跨平台一致性
  • 动画: CSS3动画,流畅的用户体验

交互设计

  • 自动关闭: 8秒后自动消失
  • 手动关闭: 点击右上角×按钮
  • 防重复: 新通知会替换旧通知
  • 响应式: 适配不同屏幕尺寸

🔍 核心函数说明

initializeListener()

  • 功能: 初始化API监听器
  • 职责: 设置fetch和XHR拦截器
  • 启动: 多重启动机制确保可靠性

parseQuizResult(data)

  • 功能: 解析答题数据
  • 输入: API返回的JSON数据
  • 输出: 格式化的结果文本
  • 处理: 学生信息提取、成绩计算、错题统计

speakResult(studentName, totalScore, fullScore, correctRate, wrongQuestions)

  • 功能: 语音播报答题结果
  • 参数: 学生信息和答题数据
  • 特性: 智能语音选择、参数优化
  • 兼容: 支持桌面和移动端

showNotification(message, type, duration)

  • 功能: 显示可视化通知
  • 类型: info、success、error
  • 持续: 可配置显示时长
  • 样式: 动态CSS样式注入

🚀 使用方法

安装步骤

  1. 安装Tampermonkey浏览器扩展
  2. 创建新的用户脚本
  3. 复制脚本代码并保存
  4. 访问目标网站即可自动运行

运行环境

📈 版本历史

v1.5 (当前版本)

  • ✅ 实现非阻塞通知系统
  • ✅ 替换所有alert弹窗
  • ✅ 优化用户体验
  • ✅ 增强视觉效果

主要更新记录

  • v1.4: 添加语音播报功能
  • v1.3: 优化显示格式
  • v1.2: 完善错误处理
  • v1.1: 基础功能实现
  • v1.0: 初始版本

🛠️ 技术栈

前端技术

  • JavaScript ES6+: 现代JavaScript语法
  • CSS3: 动画和视觉效果
  • Web APIs: SpeechSynthesis、DOM操作
  • Tampermonkey: 用户脚本运行环境

设计模式

  • 观察者模式: API监听机制
  • 工厂模式: 通知创建
  • 单例模式: 样式管理
  • 策略模式: 多重启动机制

🔒 安全考虑

数据安全

  • 只读操作: 仅读取API响应,不修改数据
  • 本地处理: 所有数据处理在本地完成
  • 无存储: 不保存任何敏感信息
  • 权限最小: 无需额外权限授予

隐私保护

  • 透明处理: 所有操作在控制台可见
  • 无上传: 不向外部服务器发送数据
  • 即时处理: 数据处理后立即释放
  • 用户控制: 用户可随时禁用脚本

🐛 故障排除

常见问题

  1. 语音不播报: 检查浏览器语音合成支持
  2. 通知不显示: 确认页面DOM加载完成
  3. API未拦截: 检查目标URL匹配规则
  4. 脚本未启动: 查看控制台错误信息

调试方法

  • 打开浏览器开发者工具
  • 查看Console标签页的日志输出
  • 检查Network标签页的API调用
  • 验证脚本加载状态

📞 技术支持

日志系统

脚本内置详细的日志记录功能,所有关键操作都会在控制台输出相应信息,便于问题诊断和性能监控。

扩展性

脚本采用模块化设计,易于扩展新功能:

  • 添加新的数据解析逻辑
  • 扩展通知样式和类型
  • 集成更多语音播报选项
  • 支持更多API接口监听

本文档最后更新时间: 2024年 脚本版本: v1.5 维护状态: 活跃开发中

希望大家多多支持