NxkSecDisk是踩在了巨人的肩膀上,我们利用了Github上开源的网盘:kiftd 二次制作而成,在此非常感谢作者的无私奉献。如果您需要该版本,请转到以下位置进行浏览和下载: kiftd-官方主页 ,kiftd-GitHub主页
我们进行二次开发的目的,是为了使网盘更好的适应上交作业的需求,传统的提交作业的方式为:
-
使用教师邮箱。
邮箱名不好记,并且发送邮件地址错误并未有提示,甚至有的邮件会被当作垃圾自动拦截,老师无法收到。
-
发送微信、QQ。
使得微信、QQ过于臃肿,影响正常工作、通信。
-
上课前提交纸质版。
并不方便,不符合无纸化的要求。
-
使用第三方微信小程序。
学生需要扫码登录,甚至还需要注册。
现在,您可以选择NxkSecDisk了!
1. 域名方便好记。
2. 上传成功即为成功,防止期末扯皮。
3. 信息化提交,只要有互联网。
4. 无需注册,直接上传作业即可。
5. 激发学生学习Java的乐趣。
我们全程使用Github协助开发,主要的改进点为以下几点:
- 用户可以在某文件夹只能下载文件,而不能上传文件。
- 优化了一些前端样式。
- 添加了全选、多选、连选等快捷键。
- 搜索功能分为全局搜索、本级搜索,并且未登录用户不能获得搜索权限。
- 在线预览.ipynb文件。
- 增加作业文件夹选项,包含了开始、截至日期。
- 增加点击绽放小球。
- 增加点击绽放四级单词,让学生在上交作业的时候,还能顺手背单词。
后续考虑的增加的功能为:
- 作业文件夹内上传文件时,需要用户手动输入学号+姓名+备注,以此作为文件名。(容易)
- 根据文件夹内文件的“学号+姓名”,导出该“学号+姓名”在每一周是否已经提交。(复杂)
- 作业文件夹内增加分数选项,并且匿名用户无法查看该分数。(容易)
- 增加后台管理面板。(中等)
- 增加文件夹密码功能。(容易)
但估计本学期都不会再有改动
因为一名核心成员已经坐上前往上海的飞机,前去阿里巴巴某事业部任职,他并非计算机专业,是靠着自学拿下了offer,没有强烈的热爱,是不可能坚持下来的。
而另一名核心成员成天老想着干饭、干鸡腿、干鸭腿、乐山甜皮鸭、火锅、串串、麻辣香锅、宫保鸡丁、鱼香肉丝、麻婆豆腐、芝士蛋糕、奶油泡芙、芒果布丁、珍珠奶茶、红烧肉、煎带鱼、炸鸡翅、炸鸡腿、周黑鸭、三文鱼、北极贝、帝王蟹、冰淇凌、星冰乐、西米露、西瓜汁、鸡汤、烤鱼、海胆、薯条、汉堡、果冻、吐司
创建文件夹:
禁止上传:
文件夹细节:
下列条目为kiftd开发环境的基本信息,本网盘维持和原始一样的开发环境,如需对源代码进行查看及编译,推荐使用所列配置。
- JDK版本:1.8.0_131
- 项目管理框架:Maven(m2e 1.8.0 for Eclipse),Archetype:mavem-archetype-quickstart 1.1。
- 编码格式:UTF-8
- 项目资源及配置:Spring Boot+MyBatis+H2 DB,详见pom.xml文档。
-
仅仅想查看该网盘源码及其功能
- 使用Eclipse(javaEE)以项目方式导入本资源文件夹,并设置构建路径中的JDK版本。
- 使用Maven选项更新项目,并确保pom文件中引入的所有外部资源能够正确引入至本地。
- 打开edu.swufe.nxksecdisk.Application类,进行测试运行。
-
想将其部署至云服务器
- 使用Eclipse(javaEE)以项目方式导入本资源文件夹,并设置构建路径中的JDK版本。
- 使用Maven选项更新项目,并确保pom文件中引入的所有外部资源能够正确引入至本地。
- 右键项目,执行Run with选项中的Maven install操作以在target文件夹内编译生成jar程序。
- 将生成的jar程序拷贝到项目主目录下(即与libs等文件夹同级)并开始使用。
提示:源代码路径下包含了一些程序运行所需的非源代码资源(例如程序图标等),某些集成式开发环境(例如IDEA)在编译过程中可能会自动忽略非源代码资源。您需要设置并保证这些资源也能够被正确打包至最终的jar程序内,否则将会导致编译出的程序无法顺利运行。
-
想对原有的kiftd网盘进行更新
-
请复制原kiftd网盘里filesystem里的所有文件夹,覆盖NxkSecDisk里filesystem的所有文件夹。
-
百度安装h2数据库,这并不大,只有30m左右。
-
用h2页面端进入NxkSecDisk/filesystem下的kift数据库,账号密码分别为:
账号:root 密码:301537gY
-
然后使用以下语句,每次一行更新数据库表结构:
ALTER TABLE FOLDER add column folder_homework TINYINT(1) DEFAULT 0 ALTER TABLE FOLDER add column folder_homework_start_time VARCHAR(128) DEFAULT NULL ALTER TABLE FOLDER add column folder_homework_end_time VARCHAR(128) DEFAULT NULL
-
成功后,即可享受作业文件夹功能,根据需求选择上文的仅仅想查看该网盘源码及其功能、想将其部署至云服务器进行下一个步骤。
-
我们仅仅做了包重命名的工作,您可以参考kiftd网盘的程序基本结构。
- 源代码资源文件夹:/src/main/java/
- 入口类:kohgylw.kiftd.Application
- web界面请求处理包:kohgylw.kiftd.server.controller、kohgylw.kiftd.server.filter
- web界面操作逻辑包:kohgylw.kiftd.server.service
- 核心功能及文件系统实现包:kohgylw.server.util、kohgylw.kiftd.server.listener、kohgylw.kiftd.server.mapper、kohgylw.kiftd.server.model
- 服务器行为控制类:kohgylw.server.ctl.KiftdCtl
- 服务器界面相关包:kohgylw.kiftd.ui、kohgylw.kiftd.printer
- 独立文件管理模块相关包:kohgylw.kiftd.util.file_system_manager
- 第三方工具使用许可证包:kohgylw.kiftd.util.licenses
- web页面静态资源文件夹:/webContext/
- mybatis映射表文件夹:/mybatisResource/
- 外部引用资源(编译后生成)文件夹:/libs/
- 引用字体文件夹:/fonts/
- 设置文件(程序第一次运行后生成)文件夹:/conf/
- 日志文件夹:/logs/
- 编译输出文件夹:/target/
- maven配置文件:/pom.xml