{"id":23331033,"url":"https://github.com/xblms/xblmls","last_synced_at":"2025-04-09T16:01:55.974Z","repository":{"id":266018445,"uuid":"897125675","full_name":"xblms/xblmls","owner":"xblms","description":".NET Core + Vue Elearning","archived":false,"fork":false,"pushed_at":"2025-03-09T04:04:48.000Z","size":32908,"stargazers_count":2,"open_issues_count":0,"forks_count":2,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-04-09T16:01:00.012Z","etag":null,"topics":["elearning","examniation"],"latest_commit_sha":null,"homepage":"","language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"agpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/xblms.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2024-12-02T04:27:58.000Z","updated_at":"2025-03-09T04:04:52.000Z","dependencies_parsed_at":"2025-03-03T04:31:07.645Z","dependency_job_id":null,"html_url":"https://github.com/xblms/xblmls","commit_stats":null,"previous_names":["xblms/xblmls"],"tags_count":1,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/xblms%2Fxblmls","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/xblms%2Fxblmls/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/xblms%2Fxblmls/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/xblms%2Fxblmls/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/xblms","download_url":"https://codeload.github.com/xblms/xblmls/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248065292,"owners_count":21041871,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["elearning","examniation"],"created_at":"2024-12-20T22:30:01.893Z","updated_at":"2025-04-09T16:01:55.923Z","avatar_url":"https://github.com/xblms.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# XBLMS.ELEARNING 在线培训系统\n\n\u003cimg src=\"https://gitee.com/xblms/xblmls/raw/master/src/XBLMS.Web/wwwroot/sitefiles/assets/images/logo.png\" height=\"180\" align=\"center\"\u003e\n\n\u003cbr /\u003e\u003cbr /\u003e\n\n## 介绍\n\n基于 .NET Core 8 + Vue\n\n支持跨平台部署\n\n支持人大金仓、达梦、OceanBase数据库 及 MySql、SqlServer、PostgreSql、SQLite 等数据库\n\n### 优势\n\n* 一码多库：一套代码，多种类型数据库随意搭配。\n\n* NoSql：无数据库脚本，无sql语句，code first高级版，基于实体对象自动生成数据库结构。\n\n* 一键切换：备份、还原、迁移、切换数据库分分钟搞定。\n\n* 前后端分离：.netcore api restfull 提供轻量级的数据服务，搭配vue前端框架，开发部署简单高效。\n\n* 一码多端：一套代码，适配pc端多端浏览器和移动端多端终端，响应式布局+element轻松实现耳目一新的ui用户体验。\n\n* 跨平台：适配国内主流CPU、操作系统、国产数据库。\n\n* 全方位安全机制\n\n\t1、完整且丰富的日志功能（管理员日志+用户日志+错误日志+数据日志）\n\n    2、前后端安全（SQL注入、跨站脚本、非法文件上传、越权访问）\n\n\t3、轻松运维（无界面数据查询+审计）\n\n\t4、访问限制（白名单、黑名单、ip、ip段、区域）\n\n\t5、安全模式，自定义系统安全措施\n\n* 技术支持+个性化定制（非常专业）\n\n* 性能（.net 8 史无前例）\n\n### 版本\n\n* master 为开发版，这里会经常提交优化和更新，为下一个版本做准备。\n\n* [发行版提供较稳定的生成环境部署包和源代码，前往下载](https://gitee.com/xblms/xblmls/releases)\n\n### 系统升级\n\n* 访问/admin/syncDatabase 进行系统数据库升级。发布最新的代码替换到原来的部署包即可升级部署包，不要替换xblms.json。\n\n## 演示地址\n\n* 登录时提示账号或密码错误可能是有人重置了账号密码，提醒我一下我来改回去就好了。\n\n### 管理端\n\n* 账号：admin，密码：123123\n\n* [点击前往管理端演示](http://182.92.223.118:5001/admin/)\n\n### 用户端\n\n* 账号：test1，密码：123123\n\n* [点击前往用户端演示](http://182.92.223.118:5001/home/)\n\n### 移动端\n\n* 账号：test1，密码：123123\n\n* 同一个账号不能同时登录，如果突然离线，有可能是其他用户登录后强制下线了，可以新建自己的管理员账号和用户账号进行体验。\n\n* 扫码前往移动端演示\n\n* \u003cimg width=\"200\" src=\"https://gitee.com/xblms/xblmls/raw/master/src/XBLMS.Web/wwwroot/sitefiles/assets/images/demo/app/二维码.png\"/\u003e\n\n## 系统展示\n\n* 移动端\n\n\u003cimg width=\"180\" src=\"https://gitee.com/xblms/xblmls/raw/master/src/XBLMS.Web/wwwroot/sitefiles/assets/images/demo/app/index.jpg\"/\u003e\n\u003cimg width=\"180\" src=\"https://gitee.com/xblms/xblmls/raw/master/src/XBLMS.Web/wwwroot/sitefiles/assets/images/demo/app/plan.jpg\"/\u003e\n\u003cimg width=\"180\" src=\"https://gitee.com/xblms/xblmls/raw/master/src/XBLMS.Web/wwwroot/sitefiles/assets/images/demo/app/plan1.jpg\"/\u003e\n\u003cimg width=\"180\" src=\"https://gitee.com/xblms/xblmls/raw/master/src/XBLMS.Web/wwwroot/sitefiles/assets/images/demo/app/course.jpg\"/\u003e\n\u003cimg width=\"180\" src=\"https://gitee.com/xblms/xblmls/raw/master/src/XBLMS.Web/wwwroot/sitefiles/assets/images/demo/app/course1.jpg\"/\u003e\n\u003cimg width=\"180\" src=\"https://gitee.com/xblms/xblmls/raw/master/src/XBLMS.Web/wwwroot/sitefiles/assets/images/demo/app/exam.jpg\"/\u003e\n\u003cimg width=\"180\" src=\"https://gitee.com/xblms/xblmls/raw/master/src/XBLMS.Web/wwwroot/sitefiles/assets/images/demo/app/exam1.jpg\"/\u003e\n\u003cimg width=\"180\" src=\"https://gitee.com/xblms/xblmls/raw/master/src/XBLMS.Web/wwwroot/sitefiles/assets/images/demo/app/mine.jpg\"/\u003e\n\n## 系统手册\n\n[发布和部署手册](https://gitee.com/xblms/xblmes/tree/master/src/XBLMS.Web/wwwroot/sitefiles/assets/uploadtemplates/doc)\n\n## 支持环境\n### 支持的操作系统\n#### Windows\n|操作系统|版本|架构|\n|:-|:-|:-|\n|[Windows 10](https://www.microsoft.com/windows/)|Version 1607+|x64, x86, Arm64|\n|[Windows 11](https://www.microsoft.com/windows/)|Version 22000+|x64, x86, Arm64|\n|[Windows Server](https://learn.microsoft.com/windows-server/)|2012+|x64, x86|\n|[Windows Server Core](https://learn.microsoft.com/windows-server/)|2012+|x64, x86|\n|[Nano Server](https://learn.microsoft.com/windows-server/get-started/getting-started-with-nano-server)|Version 1809+|x64|\n\n#### Linux\n|操作系统|版本|架构|\n|:-|:-|:-|\n|[Alpine Linux](https://alpinelinux.org/)|3.15+|x64, Arm64, Arm32|\n|[CentOS](https://www.centos.org/)|7+|x64|\n|[Debian](https://www.debian.org/)|10+|x64, Arm64, Arm32|\n|[Fedora](https://opensuse.org/)|33+|x64|\n|[OpenSUSE](https://opensuse.org/)|15+|x64|\n|[Oracle Linux](https://www.oracle.com/linux/)|7+|x64|\n|[Red Hat Enterprise Linux](https://www.redhat.com/en/technologies/linux-platforms/enterprise-linux)|7+|x64, Arm64|\n|[SUSE Enterprise Linux (SLES)](https://www.suse.com/products/server/)|12 SP2+|x64|\n|[Ubuntu](https://ubuntu.com/)|18.04+|x64, Arm64, Arm32|\n|[银河麒麟](https://kylinos.cn/)|10+|x64, Arm64|\n|[中标麒麟](https://kylinos.cn/)|7+|x64, Arm64|\n\n### 支持的数据库\n|数据库|版本|\n|:-|:-|\n|[MySql](https://www.mysql.com/)|5.7+|\n|[SqlServer](https://www.microsoft.com/en-us/sql-server)|2008+|\n|[PostgreSql](https://www.postgresql.org/)|11+|\n|[SQLite](https://sqlite.org/)|2.0+|\n|[人大金仓](https://www.kingbase.com.cn/)|9.0+|\n|[达梦](https://www.dameng.com/)|8.0+|\n|[OceanBase](https://www.oceanbase.com/)|4.3+|\n\n## 源码结构\n```\n├── src (源代码)\n│   ├── Datory (数据库基础类)\n│   ├── XBLMS (接口基础类)\n│   ├── XBLMS.Core (核心代码)\n│   ├── XBLMS.Web (UI)\n│   │   ├── wwwroot (对外访问目录)\n│   │   ├── Controllers (WebApi)\n│   │   ├── log (运行日志)\n│   │   ├── Pages (页面)\n│   │   ├── appsettings.json (配置文件)\n│   │   ├── web.config (配置文件，非IIS部署可以删除)\n│   │   ├── xblms.json (配置文件)\n├── appsettings.json (配置文件)\n├── build.sln (解决方案，用于发布)\n├── gulpfile.js (配置文件，用于发布)\n├── xblms.sln (解决方案，用于开发)\n```\n\n## 功能介绍\n### 管理端\n\n#### 首页\n- 管理员默认页面\n\n|功能|说明|\n|:-|:-|\n|基本信息|显示当前账号信息和欢迎词。|\n|预览信息|预览管理员信息。|\n|修改信息|修改基本信息。|\n|修改密码|修改登录密码。|\n|退出登录|退出系统。|\n\n#### 发布培训\n- 支持 培训考试，可绑定培训证书，学员完成所有课程即可获得证书\n\n|功能|说明|\n|:-|:-|\n|发布培训|新增，修改，删除等操作。|\n|复制|复制培训计划。|\n|启停用|支持启用停用。|\n|培训管理|统计分析，学员管理，课程管理，成绩管理。|\n\n#### 培训管理\n- 围绕培训计划的一些管理功能。\n\n|功能|说明|\n|:-|:-|\n|课件上传|课件管理，支持上传、下载、预览、分组等。|\n|课程管理|支持线上、线下课管理，支持绑定课后考试、课后问卷、课后评价，支持绑定培训计划。支持学员管理、成绩管理、问卷管理、评价管理、证书管理等。|\n|评价管理|不同的课程绑定不同的课程评价，支持评星和文本。|\n\n#### 上课\n- 如果培训计划绑定了线下课或者公共课线下类型的课程，在管理员发布课程的时候可以选择上课老师，上课老师登录系统可以在该功能进行课程管理。\n\n|功能|说明|\n|:-|:-|\n|学员管理|可以批量设置上课状态和完成状态。|\n|其他|考试成绩、课后问卷、课后评价、证书管理等。|\n\n#### 发布考试\n- 支持 正式考试、模拟自测 等模式\n- 支持 随机出题、手动选题、开考随机 等出题方式\n- 支持 手动阅卷、自动阅卷 等判分方式\n- 支持 证书绑定，考试通过即可获得证书\n\n|功能|说明|\n|:-|:-|\n|试卷分类|试卷分类管理，支持无线层级，支持批量添加。|\n|发布考试|发布考试，支持保存、发布、重新发布等操作。|\n|复制|复制并发布试卷。|\n|预览|预览试卷。|\n|修改|修改试卷。|\n|起停用|支持启用停用。|\n|删除|删除试卷。|\n|考试管理|考生管理、成绩管理、阅卷管理、统计图表等。|\n\n#### 阅卷\n- 管理员可以分配多个答卷给不同的阅卷老师进行阅卷，阅卷老师通过该功能进行判分。\n\n|功能|说明|\n|:-|:-|\n|阅卷|对答卷中的主观题进行判分。|\n|预览|预览阅卷。|\n\n#### 考试管理\n- 围绕考试的一些管理功能。\n\n|功能|说明|\n|:-|:-|\n|题型管理|支持 单选、多选、判断、填空、简答 等基本题型，支持基于基本题型扩展。|\n|题库管理|题目管理，支持题目批量导入、导出，支持预览。|\n|证书管理|发布证书，支持证书内容拖拽定位，支持预览。|\n|题目组|题目分组管理，可配置刷题，同时方便组卷。|\n\n#### 问卷调查\n- 支持 内部问卷、外部问卷 等模式，外部问卷可以支持通过二维码进行填写，不需要登录系统。\n\n|功能|说明|\n|:-|:-|\n|发布|发布问卷。|\n|复制|复制问卷。|\n|预览|预览问卷内容。|\n|修改|修改问卷。|\n|起停用|支持启用停用。|\n|删除|删除问卷。|\n|问卷统计|统计图表。|\n\n#### 其他功能\n|功能|说明|\n|:-|:-|\n| 企业管理  | 组织管理、管理员管理、角色管理、用户管理、用户组管理 等  |  \n| 系统管理  | 管理员设置、用户设置、数据库管理、访问拦截管理 等  |  \n| 日志管理  | 管理员日志、用户日志、系统错误日志，日志设置 等  |  \n| 统计图表  | 用户登录统计、访问拦截统计 等  |  \n\n\n\n\n## 编译\n\n项目编译需要使用 Visual Studio 2022，你可以从这里下载 [Visual Studio Community 2022](https://www.visualstudio.com/downloads/)\n\n[SDK 开发用](https://dotnet.microsoft.com/zh-cn/download/dotnet/thank-you/sdk-8.0.403-windows-x64-installer)\n\n[运行时 部署用](https://dotnet.microsoft.com/zh-cn/download/dotnet/thank-you/runtime-aspnetcore-8.0.2-windows-hosting-bundle-installer)\n\n## 发布跨平台版本\n\n### Window(x64)：\n\n```\nnpm install\nnpm run build-win-x64\ndotnet build ./build-win-x64/build.sln -c Release\ndotnet publish ./build-win-x64/src/XBLMS.Web/XBLMS.Web.csproj -r win-x64 -c Release -o ./publish/xblms-win-x64\nnpm run copy-win-x64\n```\n\n\u003e 进入文件夹 `./publish/xblms-win-x64` 获取部署文件\n\n### Window(x32)：\n\n```\nnpm install\nnpm run build-win-x86\ndotnet build ./build-win-x86/build.sln -c Release\ndotnet publish ./build-win-x86/src/XBLMS.Web/XBLMS.Web.csproj -r win-x86 -c Release -o ./publish/xblms-win-x86\nnpm run copy-win-x86\n```\n\n\u003e 进入文件夹 `./publish/xblms-win-x32` 获取部署文件\n\n### Linux(x64)：\n\n```\nnpm install\nnpm run build-linux-x64\ndotnet build ./build-linux-x64/build.sln -c Release\ndotnet publish ./build-linux-x64/src/XBLMS.Web/XBLMS.Web.csproj -r linux-x64 -c Release -o ./publish/xblms-linux-x64\nnpm run copy-linux-x64\n```\n\n\u003e 进入文件夹 `./publish/xblms-linux-x64` 获取部署文件\n\n### Linux(arm64)：\n\n```\nnpm install\nnpm run build-linux-arm64\ndotnet build ./build-linux-arm64/build.sln -c Release\ndotnet publish ./build-linux-arm64/src/XBLMS.Web/XBLMS.Web.csproj -r linux-arm64 -c Release -o ./publish/xblms-linux-arm64\nnpm run copy-linux-arm64\n```\n\n\u003e 进入文件夹 `./publish/xblms-linux-arm64` 获取部署文件\n\n## 问题与建议\n\n如发现问题或对产品有任何建议，请提交至 [Gitee Issues](https://gitee.com/xblms/xblmls/issues)。\n\n\n## License\n\n[GNU Affero General Public License v3.0](LICENSE)\n\nCopyright (C) 2024 XBLMS.ELEARNING\n\n## 打赏\n\n开源无盈利，生活不容易，多少是心意，感谢支持与鼓励！\n\n\u003cimg width=\"200\" src=\"https://gitee.com/xblms/xblmes/raw/master/src/XBLMS.Web/wwwroot/sitefiles/assets/images/ds.png\"/\u003e","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fxblms%2Fxblmls","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fxblms%2Fxblmls","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fxblms%2Fxblmls/lists"}