📋 系统日志

← 返回首页
← 返回首页
2026-09-08 上传菜单:拍照/录像并排 + 相册/本地文件直达 体验 / 优化
优化底部上传菜单「📷 拍照」与「🎬 录像」改为同一行并排显示(CSS .opt-2col flex 两列),下方依次是「🖼️ 从手机相册选择」「📂 本地文件」「取消」,整屏更紧凑;控辍上报页(dropout-submit.html)与接龙页(jielong/index.html)同步。
说明「从手机相册选择」「本地文件」本就是一次点击直接触发文件选择器(无二级子菜单)。在手机系统浏览器(Safari/Chrome)中已直接进相册/文件管理器;若在微信/QQ 内置浏览器仍看到「拍摄/相册/文件」二次选择,那是对方 X5 内核自带的系统级选择器,HTML 无法跳过——如需在微信内也直达相册,需接入微信 JS-SDK(wx.chooseImage,需公众号安全域名 + 后端签名)。
2026-09-08 上传交互升级:iOS 风格弹窗 + 大预览卡片 体验 / 统一
新增控辍上报页(dropout-submit.html)点「+」弹出底部上传菜单:拍摄 / 从手机相册选择 / 本地文件 / 取消(图一风格),绕开微信/QQ 内核只识别 image/* 的问题,音频/视频/文档均可在「本地文件」中选到。
新增上传后改为大尺寸预览卡片(图二风格):图片出缩略图、视频显示封面 + 中央 ▶ 角标可点开播放、音频/文档显示图标 + 文件名;右下角虚线「+」可继续追加,卡片右上角 × 可删除。
新增接龙页(jielong/index.html)所有附件上传点(图片/文件字段)统一成同一套交互:点虚线「+」弹出相同底部菜单,预览卡片同样支持视频 ▶ 角标、图片缩略图与文件图标,与控辍上报页风格一致。
修复底部菜单「拍摄」拆成两个独立项:「📷 拍照」+「🎬 录像」(直接拍照片 / 直接拍视频),并补「从手机相册选择 / 本地文件」。彻底弃用长按手势(微信/QQ 内核长按被系统菜单抢事件、手指微抖即失效,无法保证所有用户可用)。控辍上报页与接龙页同步。
2026-09-08 控辍保学:材料上报支持各类附件(音频/视频/文档) 功能 / 优化
新增扫码上报页(dropout-submit.html)「材料图片」升级为「材料附件」:除照片外,可直接上传录音(MP3/M4A/WAV/AMR)、视频(MP4/MOV)和文档(PDF/Word/Excel/PPT/TXT/ZIP),一次最多 20 个。
优化单个附件上限由 8MB 提到 50MB;上传后按类型显示缩略图或图标 + 原始文件名(录音 🎵、视频 🎬、文档 📄),点 × 可删除,已上传的旧附件删除后提交即生效。
优化后台查看材料时:图片仍是缩略图(点击放大),录音/视频可直接在线播放,其它文档显示文件名下载链接;导出登记表时非图片附件会登记附件名。
修复附件中文名乱码(如「家访录音.m4a」变成乱码),并按真实类型返回 Content-Type,支持音频拖动进度播放;拦截 exe/bat 等可执行文件。
修复微信/QQ 浏览器对「同时含 image/* 与其它类型」的 accept 只识别 image/*(弹窗只有相册/拍摄,无法选音频/文档)。改为先弹底部类型菜单(照片/录音/视频/文档)单选,单一 accept 触发文件选择器,4 类全可用;桌面浏览器维持原行为直接弹出系统文件框。
2026-09-06 周统计表格化生成 + 考勤录入页打磨 功能 / 修复
新增周统计一键生成:按学校登记表模板(边框/合并/列宽原样保留,无需重新排版)在服务器端填数据生成 第N周统计.xlsx,含标题(学校+学期+教师考勤登记表)、周次与起止日期、教师课时数/实上数/请假/调课/代课/早读、合计行(打开即显示数值)、备注(按周几写明代课/调课明细)与统计人(登录管理员姓名)。
新增周次按实际考勤记录自动划分:记录几天写几天(如 9月1日--9月2日),调休补班自动并入同一周(支持一周超 7 天);教师按 七年级→九年级、语文→美术 固定排序,跨年级跨学科教师只出现一行并汇总全部课时;班主任班会课与空课自动扣除,不占课时。
新增统计区周标签:已有考勤记录的周自动生成「第一周、第二周…」标签排成一行(多了横向滚动),点标签随时下载该周表格;后台删除考勤记录后对应标签自动消失。
优化页面标题「考勤系统」改为「考勤录入」;周次输入框默认与周别下拉联动;首页底部入口同步调整为「考勤录入」(/kq)。
修复周统计三处问题:正常上课未计入实上数(合计恒为0)、日期显示成英文格式、合计单元格公式打开显示 0(已带计算缓存)。
2026-09-05 考勤录入页:登录 + 早读登记 + 滑块验证码 功能 / 修复
新增考勤录入页(/kq)管理员登录:仅管理员可操作,支持工号或姓名登录(重名需身份证后4位);登录加装拖拽滑块拼图验证码,背景图与拼图形状每次随机(离线生成,不依赖外部图片)。
新增早读登记:按日期点选下班教师(姓名点选、再点取消、实时显示已登记人数),数据存后台早读表;查课端同步展示早读登记情况。
优化顶部布局调整:登录人姓名与管理员标识白色显示在标题后下方,退出按钮移至最右侧;课程格子加宽至 120px 便于四字姓名完整显示,空白留右侧。
修复周日显示成「周六」的星期错位问题;登录框精简为仅「账号」一项。
2026-09-04 考勤记录字段排序 新增
新增考勤管理后台「考勤记录」表格每个数据字段加排序按钮:日期、星期、实上星期、节次、班级、课程、课表教师、实上教师、考勤状态、原因/备注、考勤人、提交时间;点击同一字段在升序/降序间切换,点击新字段默认降序,当前排序列表头高亮显示 ↑/↓ 箭头。
新增默认排序改为「提交时间」降序(最新提交在前),替代原先按「日期+节次」排序。
优化后端 /attendances/all 新增 sort_field / sort_order 参数,用白名单映射到固定 SQL 表达式(防注入),未识别字段自动回退默认提交时间排序。
验证端到端验证:默认提交时间降序、各字段升降序、非法 sort_field 回退不报错,均通过。
2026-09-04 管理后台登录按钮无反应修复 修复
修复考勤管理后台 /admin/ 点击「登录」按钮无反应、不弹验证码:根因为上次状态墙修复时在 loadData 函数内遗留 const sc = (label, num, cls, stat) => … 与第 921 行 const sc = r.status_counts || {} 同名重复声明 → 整个 script 块全部语法错误,全局函数注册失败,onclick="doLogin()" 在浏览器控制台抛 SyntaxError: Identifier 'sc' has already been declared 后静默失败。
优化把卡片工厂改名为 makeStatCard,与状态分布的 sc 命名解耦;同时把状态墙 sc(...) 调用统一改写为 makeStatCard(...)
验证vm.runInNewContext 离线加载 /admin/ 的两个 script 块:修复前 script 0 直接 18 万字节语法错误,修复后两个块全部 OK,typeof doLogin === 'function'typeof showCaptcha === 'function'
2026-09-04 管理后台「考勤记录」搜索 + 状态墙修复 修复
修复考勤记录搜索教师姓名 / 课程名 / 班级报错 500:teachers.name 为 utf8mb4_bin,与默认 utf8mb4_unicode_ci 参数做 LIKE 触发非法字符集混用(1267)。已在所有 keyword LIKE 的列/表达式侧显式 COLLATE utf8mb4_unicode_ci,与参数一致
修复点击「正常」状态卡显示 0:原逻辑只用当前页(page_size=50) 行数做状态统计,第一页若全是空堂(vacant)就会把 normal 永久锁为 0。改为后端每次按公共范围(忽略 status)返回 status_counts + unfiltered_total,前端每次刷新快照,卡片数字始终反映当前日期+关键词范围内的真实分布
优化当前数据状态:共 118 条 = 24 正常 + 94 空堂(vacant) + 0 代课/调课/缺勤/异议。空堂不在状态墙里但占比最大,建议后续补一张「空堂」卡片便于排查(本次未加,超出本次 bug 范围)
2026-09-03 接龙 / 教师端附件直传失败修复 修复 / 安全
修复接龙上传附件提示「网络错误:直传连接失败」:根因为站点迁移到 www 后,COS 桶 CORS 仍只放行旧根域名 kingkey1295.top,浏览器从 https://www.kingkey1295.top 发起的 PUT 预检被拒;已将桶 CORS 来源扩为 www + 根 + exam 三个域名,PUT/GET/POST/HEAD 全部放行
安全非法来源(如 evil.example.com)实测仍返回 403,未放宽跨域暴露面;本次仅补齐已上线子域名,未使用通配 *
优化同一修复同时惠及教师端附件上传(调课/代课原因附件等),此前同样受 www 迁移后的 CORS 限制影响
2026-09-03 教师端登录前置校验 修复
修复教师端登录:账号或密码为空时,点击「登录」不再直接弹出图形验证码,改为先提示「请输入姓名和密码」(重名场景若已显示身份证栏也会校验后4位),校验通过才弹出验证码,避免无谓的人机验证
2026-09-03 学生考勤调班 / 学籍状态快捷操作 功能 / 权限
新增教师端「学生考勤」卡片:班主任 / 管理员登录时,卡片右上角新增「☰」图标,点击弹出美化弹窗
新增弹窗第一行「调班」:班级选择器仅列出该学生同一年级的全部班级(按 段+届 过滤,如 初中2024级1班 / 2班);第二行「状态」:下拉选项与学籍状态一致(在校 / 辍学 / 去外校寄读 / 来我校寄读 / 请长假 / 毕业)
新增提交后仅替换该学生的班级与学籍状态,其余字段保持不变;保存后自动刷新卡片列表。普通教师无此图标(沿用原点击拨号 / 详情逻辑)
2026-09-03 学生考勤电话快捷操作 功能
新增教师端「学生考勤」学生卡片的电话图标交互分角色:普通教师点击直接拨号(tel:);班主任 / 管理员点击弹出美化弹窗,上排「拨打电话」、下排「修改号码」,修改后号码直接替换原号码并即时同步卡片
优化后端获取单个学生接口(GET /student-attendance/student/:id)补充返回 disability_type 字段,使"仅改电话"的保存往返不会清空残疾类型等其它字段
2026-09-03 教师端权限优化 功能 / 权限
新增教师端「学生考勤」:管理员(role=admin)现在也可编辑学生信息,可编辑全校任意学生、可调整到任意年段班级(此前仅班主任可编辑同年段学生)
修复后端学生信息保存接口健壮性:学生 class_name 为空时由崩溃 500 改为返回 400,避免普通教师编辑流程异常中断
修复教师端登录后 init() 曾用 /teachers/me 返回直接覆盖 currentTeacher,导致管理员的 isAdmin 标识丢失、点学生仍弹"无权限";改为仅补充档案字段、保留登录时的 role/isAdmin(兰景伟/管理员账号 js018 现可正常查看编辑全校学生)
2026-09-01 ~ 09-03 近期更新 运维 / 优化 / 安全
新增教师端「我的课表」改版:横向周一~周五、纵向固定第1~7节;表头(周)与节次列固定、内容可滚动;有课显示课程名+班级(地点附灰色小字)、无课显示"-"
优化首页页脚精简:移除"学校考勤综合管理系统"字样,菜单项前统一补充分隔竖线
部署考勤主域名由根域名 kingkey1295.top 迁至 www.kingkey1295.top(根域名因公网链路间歇干扰,已 301 永久跳转 www,公网实测 15/15 稳定);考试 exam.kingkey1295.top 不受影响
修复考勤根域名间歇打不开:根因=服务器 frps.toml 中 subdomainHost 与考勤隧道 customDomains 根域名冲突,注释后恢复;并修正 Caddy 反代 frps 的 Host 头(保留原始域名,修复 404)
安全COS 附件存储加固:存储桶改为私有 + 签名下载地址 + 密钥移入 .env 环境变量(支持可选 STS 临时凭证),密钥不再硬编码于代码,前端改走签名地址访问附件
优化COS 降本:桶生命周期自动清理 test/ 测试前缀对象(1 天过期);上传即打浏览器缓存头 Cache-Control: max-age=86400,降低重复查看的请求费
安全处理腾讯云安全告警:frp 进程被误报为恶意文件已加白;61 次异常登录已批量忽略,不影响业务
2026-09-01 架构升级 部署
部署穿透架构升级:弃用第三方 88frp 共享节点,改用腾讯云自有服务器自建 frps(115.159.78.155),公网稳定性大幅提升(实测连续 10/10)
部署HTTPS 改由源站 Caddy + Let's Encrypt 真证书终结(自动续期至 2026-11-30),不再依赖 Cloudflare 代理
部署DNS 由阿里云迁移至腾讯云 DNSPod,@/www/exam 三条 A 记录直连腾讯云,流量直连不经过中转代理
优化服务器清理:磁盘占用从 91% 降至 41%,卸载无用组件(OpenClaw、playwright、历史考勤代码、MySQL),保留 Node/frps/Caddy
优化整机重启自愈验证通过:frps + Caddy 自动拉起,公网访问零人工干预
V4.11 版本 2026-08-14
修复教师端学期选择器全链路联动:课表、任教学科、成绩查询、调课代课记录均已按所选学期切换显示(历史学期数据完整保留)
修复「我的课表」切换学期后不立即刷新的问题(原刷新逻辑指向了不存在的页面节点)
修复调课功能因 swap_debts 表缺失而整体 500,重建该表后调课/代课流程恢复正常
修复调课结清 /settle 路由报错(引用不存在的字段、学期过滤条件错误),已修正跑通
部署重建 Windows 计划任务「考勤系统-Node」,机器重启后后端随系统自动拉起(此前仅 frpc 自启,Node 未注册)
V4.10 版本 2026-08-07
新增数学教学平台(北师大2024 七上)MVP:目录树 + 教学设计/题库/互动课件,独立 teach 模块、同域同 JWT 隔离
新增互动课件编辑器:多幻灯片 + 文本/公式/图片/绘图/点揭答案,支持投屏与手机扫码查看
新增数学教学平台第一单元试点数据入库(丰富的图形世界 + 有理数运算,7 小节:教学设计 7 份 / 题库 70 道 / 课件 7 份)
新增教师端成绩查询改为三选项卡:全科成绩 / 单科成绩 / 质量分析
新增质量分析按「年级 + 学科」条件选择(多年级/多学科自动出下拉,单年级单学科静态显示)
修复教师端成绩查询"权限不足":改按 JWT 内 teacher_id 判定,不再受 users.role 误拦
修复教师端"修改密码"报错:新增 POST /me/change-password 路由
优化单科成绩表加纵向+横向滚动条;全科目标准学科顺序(语数英道法…);新增导出按钮按当前排序导出
优化成绩管理内嵌考勤后台第 6 个 tab;主页改为三张二维码卡片(教师/考勤/成绩)+ footer 后台入口
部署Node 与 frpc 改为 nssm 服务(开机自启、无窗口);frp 假死可重启服务恢复
部署生成宣传页与截图版教程(给同事看);恢复 C→F 目录覆盖事故造成的接龙/成绩/教学平台数据回退
V4.9 版本 2026-08-06
优化主页重构:二维码入口精简为三张(教师查询/考勤端/学期成绩查询),后台类入口统一移至页脚链接区
新增成绩管理后台内嵌考勤后台(iframe 浅集成,管理员登录态自动复用)
优化顶栏与主页精简:删除"本机运行"角标、后台标题统一为「后台管理」
新增微信小程序可行性评估(个人主体限制 web-view,后端接口可复用);搭建原生小程序骨架与网页版预览
删除微信小程序骨架整体删除(暂缓不做,原系统不受影响)
修复站点"打不开"排查:服务器端各页均 200,多为浏览器缓存或临时抖动
V4.8 版本 2026-08-05
部署整套系统从 C 盘迁移到 F 盘(释放系统盘,MySQL 重注册为 F 盘自启服务);确认 F 盘为唯一真实运行目录
新增教师端"全部科目成绩"全量查看(含与上次考试进退步对比、名次、列头排序)
优化教师端成绩查询改为三块子选项卡(全科/单科/质量分析)+ 质量分析未交红点提醒
优化成绩设置学科改用真实课表(class_schedules)自动带出年班/学科/教师
修复成绩导入兼容评卷网格式(选年级 + 班级智能匹配 + 表头自动探测,解决"未找到学生标识列")
修复查看成绩 SQL bug;改为常规冻结表格 + 名次列 + 点击排序
V4.7 版本 2026-08-04
部署外网恢复:88frp 切到华南电信节点(备案过白)+ Cloudflare DNS 改指向,域名+HTTPS 正常
修复查分 Excel 选文件后自动解析表头;放宽 express.json 100kb 限制到 25mb(修复"请求失败")
新增查分隐私脱敏(身份证/手机/地址等掩码)+ 查询后手写签名确认
新增查分后台查看/导出数据 + 允许查询者修改指定字段(行内嵌编辑)
修复接龙删除清理孤儿上传文件(修复磁盘泄漏隐患)
新增查分安全增强:弱查询列强制警告、管理员试查、暂停/开放开关
新增首页 footer 新增「接龙管理」入口;接龙卡片显示创建管理员 + 教师按创建人隔离
优化成绩考场按年级精细化编排;学科按年级分组明细表,编排表加横向滚动
V4.6 版本 2026-08-03
修复接龙上传体验:XHR 真实进度条 + 全屏上传遮罩(不依赖 onprogress)+ 分片上传(1MB/片、90s 超时、自动重试 3 次)
修复确立铁律:改动只在真实运行目录生效,迁移包仅作 C92 部署副本(此前误改副本导致线上看不到新前端)
部署88frp 节点切换:香港(慢)→ 深圳阿里云(被 ICP 备案 Host 黑名单拦截)→ 华南电信(备案过白生效)
新增88frp 自动配置小工具(切换节点一键生成 frpc_teacher.toml)
V4.5 版本 2026-08-02
新增学生成绩管理系统上线(建考试/设学科/编排考场/导入成绩/查询/质量分析,数据独立)
新增接龙三项功能:xlsx 导入查分、表单逻辑跳转(显示条件/选项跳转)、隐私协议 + 删除本人数据
优化接龙权限模型重构:互不可见、一人一份、后台看全部、可导出
删除下线"注销我的全部接龙数据"(防接龙结束后数据被误删)
新增接龙锁定归档(后台手动锁,冻结数据,防截止后被改删)
优化接龙关闭/截止后整页提示(不再显示表单/本人记录)
优化接龙数据表转置(字段为行、提交人为列)+ 横向滚动;后台查看数据更清晰
新增接龙图片/文件控件启用(拖拽上传落盘本地)
修复接龙上传慢:前端图片 canvas 压缩 + 进度反馈(frp 上行带宽受限的缓解)
V4.4 版本 2026-08-01
部署C92 迁移决策更新:必须先重装 Windows 10 64 位(MySQL 8 / Node 22 无 32 位版本)
新增接龙查询系统(合并接龙管家 + 易查分,共用服务器/域名/库但数据完全独立)
新增接龙二期:预设名单 + 字段属性(字数/必填/公开)+ 时间控制 + 允许修改/取消
新增接龙三期:二维码分享 + 卡片式管理(状态/提交数/分享码)
新增接龙四期:直达页简化、管理员自定义手机端标题、预设名单进度视图
新增接龙五期:提交成功页 + 详情页 + 参与者互不可见开关 + UUID 设备绑定识别本人
V4.3 版本 2026-07-31
新增控辍保学:空白模板下载、辍学原因/去向字段、家访两周提醒(顶栏红色角标 + 弹窗)
新增教师考勤「周通报」页(按周次圈选日期,导出对齐模板的 Excel 报表)
新增考勤端「批量空堂」(vacant) 可填备注;教师端"我的考勤"显示空堂原因
修复教师管理列表"任教科目"列不显示(切换学期后消失)
优化考勤记录批量删除改单次请求(提速);课表管理切换年级/班级提速(并行+缓存)
部署MySQL 注册为开机自启服务;生成升腾 C92 盒子自包含迁移包(含一键部署脚本)
删除管理端"批量清除某班某天考勤"面板(其要的是空堂状态,非删记录)
V4.2 版本 2026-07-30
新增教师端"我的考勤"代课记录角色化展示(-1/+1);代课整体审批流程(仿调课)
新增我的考勤:待办 + 应上/实上/总数 三卡片(含点击解释弹窗)
新增控辍保学:班主任触发弹窗填写、四阶段二维码材料上报、劝返过程记录、限期返校/处罚决定书生成
优化管理后台登录验证改为与考勤端同款弹窗算术验证(个位数、结果≤20)
部署部署架构核对并迁移到 88frp 永久订阅;接入 Cloudflare 免费 HTTPS(解决微信强跳 https)
部署查 ICP 备案:闽ICP备2026026074号 有效(审核通过 2026-07-15)
V4.1 版本 2026-07-29
新增后台"调课|代课审批"对换记录卡片展示(完整年班节次对换信息)
优化调课审批流程:驳回须填原因 → 待更改 → 重填 → 审批通过(卡片三态)
新增考勤记录新增「星期 / 实上星期」字段(实上≠星期橙色高亮)
优化教师端改版:删除申请调课/代课入口;"我的考勤"改按日/时间段显示
修复调课/代课原因统一数据源(修复驳回重填后后台仍显旧原因)
2026-07-24 ~ 07-28 阶段性更新 日志未留存
说明这几日的每日工作日志未单独留存,以下为据前后记录归纳的阶段性工作(非逐日精确)
优化调课/代课审批流程持续打磨(驳回原因、重新提交、对换记录卡片的延续开发)
新增控辍保学模块前期规划与标准化流程梳理(依据官洋学校流程文档与跟踪名册)
优化考勤端 / 教师端相关交互优化延续
V3.3 版本 2026-07-23
修复教师管理角色列正确显示(JOIN users 表)
修复班主任设置 UPSERT 逻辑跨学年覆盖问题
新增教师批量导入改为 xlsx 弹窗交互(与学生管理一致)
新增新增教师导入模板(姓名+身份证号+联系电话)
V3.2 版本 2026-07-23
新增教师管理页面新增「班主任」列,管理员可为教师设置/取消班主任身份(按学年+学期+班级)
新增新增 homeroom_assignments 班主任任职表,支持查询历史记录
V3.1 版本 2026-07-22
新增后台管理页面新增操作日志功能,记录所有用户的登录、登出、操作行为及登录设备信息
新增后台管理页面新增"调|代课审批"菜单,支持调课和代课两种类型的审批流程
新增教师查询端支持姓名直接登录(无需工号)
新增后台管理页面新增"重置密码"功能,管理员可为教师重置登录密码为123456
修复修复教师查询端个人信息中身份证号、联系电话无法显示的问题
修复修复考勤记录删除时未同步删除关联异议记录的问题
修复修复后台管理页面删除考勤记录功能失效的问题
修复修复所有页面时间显示与服务器时间不一致的问题(统一使用Asia/Shanghai时区)
修复修复异议记录"加载失败"的问题,新增/api/appeals/my接口
修复修复教师查询端考勤记录无法显示的问题(JOIN表从schedules改为class_schedules)
优化后台管理页面点击考勤记录直接弹窗修改,移除"修改"按钮
优化异议记录高亮显示(橙色背景+左边框),状态墙新增异议数量统计
优化登录页面新增滑动验证功能
优化操作日志页面数据改为卡片式布局,每个字段一行显示
优化操作日志页面新增客户端类型显示(后台管理/教师查询端/考勤端)
优化删除考勤记录时自动删除关联的异议记录
删除移除后台管理页面"修改"按钮,改为整行点击弹窗
V3.0 版本 2026-07-18
新增后台管理页面全新改版,采用卡片式设计和状态墙统计
新增新增教师管理功能,支持教师信息的增删改查
新增新增调课审批功能,教师可发起调课申请,管理员审批
新增新增异议记录功能,教师可对考勤记录提交异议
新增新增考勤端,考勤教师可提交每日考勤记录
新增新增教师查询端,教师可查看个人考勤、调课、异议记录
优化优化登录流程,支持身份证后四位辅助验证重名用户
优化优化数据库结构,修复schedules和class_schedules表JOIN问题
V1.0 版本 2026-07-15
初始教师考勤管理系统v1.0上线
初始基础考勤记录管理功能
初始基础教师管理功能