🎯 一、目标

作业在线提交系统中,防止学生“复制粘贴答案”“代写行为”“多人合作答题”已成为重要课题。
本篇将结合 HarmonyOS 5.0.0 或以上平台,使用 WASM 实现:

  • 书写/绘图轨迹数据分析(输入时间、笔划速度、手势曲率等)
  • 图形行为识别模型(如判断是否为人工绘制 vs 图片复制)
  • 异常行为检测(如切换应用、粘贴大段文本)

🧱 二、系统结构设计

[ 学生操作轨迹记录模块 ]
       ↓
[ WASM 行为特征提取模块 ]
       ↓
[ 行为识别/欺诈判断模块 ]
       ↓
[ 教师后台可视化 + 风险提示 ]

📦 三、采集数据项示例(前端记录)

数据项 示例值
起止时间 2025-05-20 10:01 → 10:04
书写速度序列 [120, 110, 89, 80, 50] px/s
笔划间隔 [0.3s, 0.2s, 2.5s, 0.1s]
手指轨迹坐标点序列 [[x1, y1], [x2, y2], …]
是否粘贴操作 true / false

🧰 四、C 模块实现:轨迹异常检测(简化)

// cheat_detect.c
#include <math.h>

int detect_cheat(float* speeds, int len, int* flags) {
    for (int i = 0; i < len; i++) {
        if (speeds[i] < 10.0 || speeds[i] > 1000.0) {
            flags[i] = 1; // 异常速度
        } else {
            flags[i] = 0;
        }
    }
    return 0;
}
编译为 .wasm
emcc cheat_detect.c -Os -s WASM=1 -s SIDE_MODULE=1 -o cheat_detect.wasm

🔍 五、ArkTS 调用检测逻辑

async function analyzeSpeedAnomaly(speeds: number[]): Promise<number[]> {
  const instance = await loadWasmInstance('cheat_detect.wasm')
  const memory = instance.exports.memory as WebAssembly.Memory

  const f32 = new Float32Array(memory.buffer)
  const i32 = new Int32Array(memory.buffer)

  const offsetSpeed = 1024
  const offsetFlag = 2048

  f32.set(speeds, offsetSpeed / 4)

  const fn = instance.exports.detect_cheat as CallableFunction
  fn(offsetSpeed, speeds.length, offsetFlag)

  return Array.from(i32.slice(offsetFlag / 4, offsetFlag / 4 + speeds.length))
}

输出示例:

const result = await analyzeSpeedAnomaly([120, 105, 8, 3000])
console.info(result) // 输出:[0, 0, 1, 1] → 第3/4笔划异常

🧠 六、进阶特征分析建议

特征 判断意义
笔划总时长 < 阈值 可能直接贴图或截图上传
坐标重复率高 图形由复制模板拼接生成
高速突变频繁 非自然手写轨迹或作弊辅助工具
打开系统剪贴板记录 粘贴内容痕迹

📊 七、前端记录逻辑建议

touchEvents: Array<{
  timestamp: number
  x: number
  y: number
}> = []

onTouchMove(e) {
  const t = Date.now()
  this.touchEvents.push({ timestamp: t, x: e.x, y: e.y })
}

每 1s 提交一次轨迹段给 WASM 分析。


🔐 八、可视化展示与教师干预

教师后台或讲评界面中可集成以下内容:

  • ⚠️ 异常操作标红(如:粘贴、切换应用)
  • 📈 轨迹图 + 笔划速度图(支持放大分析)
  • 🧠 提示:“该作答存在 xx 异常行为,请关注”

🧩 九、结合评分系统联动建议

模块 联动行为
WASM 评分引擎 若作答满分但轨迹异常,标记为“人工核查”
AI 解题模块 自动生成与学生答案对比,判断相似度
反馈卡模块 自动附加“作答行为风险评级”

📌 十、小结与预告

本篇完成了:

  • 使用 WASM 实现 HarmonyOS 作业行为分析能力
  • 检测输入轨迹异常、笔划速度异常、粘贴操作等风险
  • 联动教师端展示、评分系统过滤与讲评辅助

📘 下一篇将带来:

第27篇:【HarmonyOS 5.0.0 或以上】构建 WASM 支持的离线学习系统:本地评分、本地反馈、本地错题本

Logo

讨论HarmonyOS开发技术,专注于API与组件、DevEco Studio、测试、元服务和应用上架分发等。

更多推荐