Releases: ExploreMaths/OpenLearnsite
Releases · ExploreMaths/OpenLearnsite
v2.0.0.5.20260525085122
问题修复
- 课程总评页空值保护:修复
coursetotal.aspx中groupscores()桩方法返回 null 导致的NullReferenceException,对返回值和DDLCid.SelectedItem增加空值检查,异常数据下正常降级显示。 - 分组页面 DataBinding 异常修复:修复
grouping.aspx中ClassGroup查询只返回Sgroup列但前端 GridView 绑定Sid/Sname/Sgtitle导致的 DataBinding 异常;同时实现GroupMembers桩方法,修复嵌套 DataList 绑定返回 null 的问题。
涉及文件
- 课程总评页:
teacher/coursetotal.aspx.cs - 数据访问层:
App_Code/Dal/Students.cs
v2.0.0.4.20260525133443
v2.0.0.4 (2026-05-25)
本次更新汇总了 117 个提交,主要涉及:
新功能
- 上传库重用与可见视频插入:教师端编辑器上传弹窗重构,支持从已上传资源库选择文件复用
- 思维导图本地下载按钮:学生端和教师端新增本地下载入口,配合同步防抖点击防护
- shadcn UI 基准升级:设计系统 baseline 扩展到全部 master shells
升级增强
- 数据库备份日志分页功能(每页10条,上限200条)
- 聊天历史查询服务上线,支持多条件过滤
- KindEditor 上传参数大小写兼容性修复
- Docker 混合部署备份路径优化
问题修复
- 修复打字模块多项问题(中文排版、IME输入、拼音提示、成绩计算等)
- 修复课堂评价年级班级选择联动异常
- 修复课堂测验多题添加问题
- 修复 Excel xlsx 格式导入支持
- 修复 Seat 目录大小写 404 错误
- 修复学生作品列表滚动、资料下载学分等问题
v2.0.0.4.20260506080613
版本发布说明 - 2026-05-05
概要
- WebSocket 聊天服务器上线:课堂小组讨论从轮询升级为实时推送,支持敏感词过滤和教师端管理
- 编辑器体系修复:修复 style 标签误触发编辑器切换、kitymindadd.js 脚本损坏、多个页面 KindEditor 宽度受限等 8 项编辑器问题
- 学生端视觉与布局修复:中文打字键盘恢复换行布局、大量图片 404 修复、分页器文字可见性恢复、Luckysheet 预览链路修复
- 流程图编辑页现代化:graphedit.aspx 迁移至统一设计系统,graphadd.aspx 编辑器宽度自适应
重点更新
WebSocket 聊天服务(#IJ8EWS)
- 新增基于 RFC 6455 的 WebSocket 聊天服务(端口 8188),为课堂小组讨论提供实时消息推送
- 基于 Trie 的敏感词过滤器,命中时写入日志并触发教师端告警
- 聊天消息按天分文件记录,教师可通过
chatmanage.aspx启停服务和查看日志 - 聊天窗口新增连接状态指示条(已连接/连接中/已断开),新增消息发送者区分(自己/他人气泡样式)
- 修复 Enter 键在 contenteditable 中产生
<div><br></div>HTML 标签,改为纯文本换行
编辑器自动检测与宽度修复
- style 标签误触发编辑器切换(#IJKU3N):courseedit.aspx 学案内容含
<style>标签时,isLikelyMarkdown()将 CSS* { }误判为 Markdown 列表语法,导致 KindEditor 自动切换为 Vditor。编辑已有学案时跳过自动检测 - kitymindadd.js 脚本损坏:恢复被占位文本替换的
isLikelyMarkdown、autoSelectInitialEditor、safeHtml2Md等 8 个函数 - KindEditor 宽度限制移除:graphadd.aspx、kitymindadd.aspx、txtformadd.aspx 三处 KindEditor 的固定/限制宽度改为自适应容器宽度
- kitymind.aspx angular 未定义:脚本加载顺序修正
流程图编辑页美化
- graphedit.aspx 从旧
cplace/cleft/placehold布局迁移至content-add设计系统,绿色主题色系 - graphadd.aspx 编辑器
max-width: none,容器宽度自适应 - graphedit 反馈面板仅在有错误/成功消息时显示,初始加载不再展示空标题
打字练习全线修复
- 键盘布局连成一行:#keyboard 在 flex 容器内 float 失效,为 mychinese.aspx、myfinger.aspx 恢复
width:510px换行布局 - 键盘指法图片全部 404:图片路径大小写错误(
Fingering→fingering,keyCom.gif→keycom.gif) - 空格计入正确数:移除空格特判,防止刷空格刷高正确数
- 正确数始终为 0:文章换行符保留导致对比错位,改为去除所有空白
- 音频自动播放报错:play() 补充 .catch() 静默处理 NotAllowedError
Luckysheet 预览链路修复
- 资源路径大小写:
Plugins→plugins(Linux 兼容) - 容器高度为零:html/body 补充
height:100% - 整页 HTML 注入:改为
<iframe>+ URLSearchParams 加载 - Office 文件路由:xlsx/docx/pptx 正确路由到现代渲染器,避免走旧 Flash 路径
修复项
学生端
- mycourse.aspx 分页器文字颜色不可见:
text-slate-*替换为text-gray-*系列 - showmission.aspx CSS 未加载:
~/+runat="server"在 Mono/XSP4 下不稳定,改为相对路径 - showmission.aspx SVG 图标巨大:SVG 补充
width/height属性 - StyleSheet.css 布局污染:
#showcontent选择器限定为body:not(:has(.prog-wrap)) - myinfo 退出按钮文字看不清(#IJL0FR):服务端直接设置
Text="系统退出" - txtform.aspx 操作面板图标巨大:内联 SVG 补充尺寸属性
- 非闯关模式下作业仍强制按顺序提交(#IJKU34):前序检查仅闯关模式开启时执行
- program.aspx 侧边栏图标过大:SVG 补充
width="16" height="16" - htmleditor.aspx 标签不插入:改用
$.trim($(this).text())取纯文本匹配 - 学案导航条任务类型图标(新功能):每个任务前显示对应 emoji 图标(#IJKU2Z)
教师端
- workcheck.aspx 评分卡片优化(#IJJZ64):去除固定宽度、评分按钮矩形化、当前按钮高亮放大
- 机房布置提交后状态不同步(#IJDQ8G):提交成功后同步更新内存状态
- typer.aspx 文章列表对齐混乱:所有列补充居中对齐设置
通用
- StyleSheet.css 引用不存在的 bg.png:移除无效
background-image - backup.aspx 编译报错:补充
using System.Data; - 首页图片 404:index.aspx 路径修正,CSS 内图片路径改为绝对路径
- KindEditor 弹窗样式冲突修复(续)(#IJE81R):missionedit.aspx 复用 missionadd.aspx 的 modal 模式
重点变更区域
- 聊天服务:
App_Code/ChatServer/、code/imgchat/chat.js、teacher/chatmanage.aspx、teacher/ChatLogProxy.ashx、Global.asax - 编辑器体系:
js/courseedit.js、js/kitymindadd.js、js/missionadd.js、js/missionedit.js、js/txtformadd.js、js/content-show-markdown.js - 学生端页面:
student/mycourse.aspx、student/showmission.aspx、student/myinfo.aspx、student/myexam.aspx、student/program.aspx、student/txtform.aspx、student/mychinese.aspx、student/myfinger.aspx - 学生端脚本:
js/Typer.js、js/Finger.js、js/Chinese.js、js/htmleditor.js - 教师端页面:
teacher/graphedit.aspx、teacher/graphadd.aspx、teacher/workcheck.aspx、teacher/kitymindadd.aspx、teacher/typer.aspx - 样式资源:
css/theme/teacher/graphedit.css、css/theme/teacher/graphadd.css、css/theme/teacher/workcheck.css、css/theme/student/StyleSheet.css、css/theme/student/showmission.css - Luckysheet 插件:
plugins/luckysheet/全线修正 - 作品渲染:
App_Code/Common/ViewPage.cs
v2.0.0.4.20260505231213
版本发布说明 - 2026-05-05
概要
- WebSocket 聊天服务器上线:课堂小组讨论从轮询升级为实时推送,支持敏感词过滤和教师端管理
- 编辑器体系修复:修复 style 标签误触发编辑器切换、kitymindadd.js 脚本损坏、多个页面 KindEditor 宽度受限等 8 项编辑器问题
- 学生端视觉与布局修复:中文打字键盘恢复换行布局、大量图片 404 修复、分页器文字可见性恢复、Luckysheet 预览链路修复
- 流程图编辑页现代化:graphedit.aspx 迁移至统一设计系统,graphadd.aspx 编辑器宽度自适应
重点更新
WebSocket 聊天服务(#IJ8EWS)
- 新增基于 RFC 6455 的 WebSocket 聊天服务(端口 8188),为课堂小组讨论提供实时消息推送
- 基于 Trie 的敏感词过滤器,命中时写入日志并触发教师端告警
- 聊天消息按天分文件记录,教师可通过
chatmanage.aspx启停服务和查看日志 - 聊天窗口新增连接状态指示条(已连接/连接中/已断开),新增消息发送者区分(自己/他人气泡样式)
- 修复 Enter 键在 contenteditable 中产生
<div><br></div>HTML 标签,改为纯文本换行
编辑器自动检测与宽度修复
- style 标签误触发编辑器切换(#IJKU3N):courseedit.aspx 学案内容含
<style>标签时,isLikelyMarkdown()将 CSS* { }误判为 Markdown 列表语法,导致 KindEditor 自动切换为 Vditor。编辑已有学案时跳过自动检测 - kitymindadd.js 脚本损坏:恢复被占位文本替换的
isLikelyMarkdown、autoSelectInitialEditor、safeHtml2Md等 8 个函数 - KindEditor 宽度限制移除:graphadd.aspx、kitymindadd.aspx、txtformadd.aspx 三处 KindEditor 的固定/限制宽度改为自适应容器宽度
- kitymind.aspx angular 未定义:脚本加载顺序修正
流程图编辑页美化
- graphedit.aspx 从旧
cplace/cleft/placehold布局迁移至content-add设计系统,绿色主题色系 - graphadd.aspx 编辑器
max-width: none,容器宽度自适应 - graphedit 反馈面板仅在有错误/成功消息时显示,初始加载不再展示空标题
打字练习全线修复
- 键盘布局连成一行:#keyboard 在 flex 容器内 float 失效,为 mychinese.aspx、myfinger.aspx 恢复
width:510px换行布局 - 键盘指法图片全部 404:图片路径大小写错误(
Fingering→fingering,keyCom.gif→keycom.gif) - 空格计入正确数:移除空格特判,防止刷空格刷高正确数
- 正确数始终为 0:文章换行符保留导致对比错位,改为去除所有空白
- 音频自动播放报错:play() 补充 .catch() 静默处理 NotAllowedError
Luckysheet 预览链路修复
- 资源路径大小写:
Plugins→plugins(Linux 兼容) - 容器高度为零:html/body 补充
height:100% - 整页 HTML 注入:改为
<iframe>+ URLSearchParams 加载 - Office 文件路由:xlsx/docx/pptx 正确路由到现代渲染器,避免走旧 Flash 路径
修复项
学生端
- mycourse.aspx 分页器文字颜色不可见:
text-slate-*替换为text-gray-*系列 - showmission.aspx CSS 未加载:
~/+runat="server"在 Mono/XSP4 下不稳定,改为相对路径 - showmission.aspx SVG 图标巨大:SVG 补充
width/height属性 - StyleSheet.css 布局污染:
#showcontent选择器限定为body:not(:has(.prog-wrap)) - myinfo 退出按钮文字看不清(#IJL0FR):服务端直接设置
Text="系统退出" - txtform.aspx 操作面板图标巨大:内联 SVG 补充尺寸属性
- 非闯关模式下作业仍强制按顺序提交(#IJKU34):前序检查仅闯关模式开启时执行
- program.aspx 侧边栏图标过大:SVG 补充
width="16" height="16" - htmleditor.aspx 标签不插入:改用
$.trim($(this).text())取纯文本匹配 - 学案导航条任务类型图标(新功能):每个任务前显示对应 emoji 图标(#IJKU2Z)
教师端
- workcheck.aspx 评分卡片优化(#IJJZ64):去除固定宽度、评分按钮矩形化、当前按钮高亮放大
- 机房布置提交后状态不同步(#IJDQ8G):提交成功后同步更新内存状态
- typer.aspx 文章列表对齐混乱:所有列补充居中对齐设置
通用
- StyleSheet.css 引用不存在的 bg.png:移除无效
background-image - backup.aspx 编译报错:补充
using System.Data; - 首页图片 404:index.aspx 路径修正,CSS 内图片路径改为绝对路径
- KindEditor 弹窗样式冲突修复(续)(#IJE81R):missionedit.aspx 复用 missionadd.aspx 的 modal 模式
重点变更区域
- 聊天服务:
App_Code/ChatServer/、code/imgchat/chat.js、teacher/chatmanage.aspx、teacher/ChatLogProxy.ashx、Global.asax - 编辑器体系:
js/courseedit.js、js/kitymindadd.js、js/missionadd.js、js/missionedit.js、js/txtformadd.js、js/content-show-markdown.js - 学生端页面:
student/mycourse.aspx、student/showmission.aspx、student/myinfo.aspx、student/myexam.aspx、student/program.aspx、student/txtform.aspx、student/mychinese.aspx、student/myfinger.aspx - 学生端脚本:
js/Typer.js、js/Finger.js、js/Chinese.js、js/htmleditor.js - 教师端页面:
teacher/graphedit.aspx、teacher/graphadd.aspx、teacher/workcheck.aspx、teacher/kitymindadd.aspx、teacher/typer.aspx - 样式资源:
css/theme/teacher/graphedit.css、css/theme/teacher/graphadd.css、css/theme/teacher/workcheck.css、css/theme/student/StyleSheet.css、css/theme/student/showmission.css - Luckysheet 插件:
plugins/luckysheet/全线修正 - 作品渲染:
App_Code/Common/ViewPage.cs
v2.0.0.3.202604282309
修复了最近发现的一些问题
v2.0.0.2.20260419125025
v2.0.0.1.20260418130455
build(release): 发布 v2.0.0.1.20260418130455
v1.6.1.1_202604171026
Release v1.6.1.1_202604171026
Changelog:
- docs(changelog): 补充 release notes 目录结构优化的更新日志
- docs: 优化 release notes 目录结构并更新贡献指南
v1.6.1-beta.1
测试版 v1.6.1-beta.1