项目结构
12114
└─ 18-lms-exam├─ .autod.conf.js├─ README.md├─ app│ ├─ common│ │ └─ README.md│ ├─ constant│ │ ├─ README.md│ │ └─ error.js│ ├─ controller│ │ └─ README.md│ ├─ public│ │ ├─ README.md│ │ ├─ img│ │ │ └─ logo.svg│ │ ├─ js│ │ │ └─ xlsx.full.min.js│ │ ├─ lib│ │ │ ├─ axios│ │ │ │ ├─ axios.js│ │ │ │ └─ axios.min.js│ │ │ ├─ dayjs│ │ │ │ └─ dayjs.min.js│ │ │ ├─ jquery│ │ │ │ ├─ jquery.cookie.js│ │ │ │ ├─ jquery.cookie.min.js│ │ │ │ ├─ jquery.js│ │ │ │ └─ jquery.min.js│ │ │ ├─ lodash│ │ │ │ ├─ lodash.js│ │ │ │ └─ lodash.min.js│ │ │ ├─ socket│ │ │ │ ├─ socket.io.js│ │ │ │ └─ socket.io.min.js│ │ │ ├─ sortable│ │ │ │ ├─ Sortable.js│ │ │ │ └─ Sortable.min.js│ │ │ ├─ spark-md5│ │ │ │ ├─ spark-md5.js│ │ │ │ └─ spark-md5.min.js│ │ │ ├─ vue│ │ │ │ ├─ vue.js│ │ │ │ └─ vue.min.js│ │ │ ├─ vuedraggable│ │ │ │ ├─ vuedraggable.umd.js│ │ │ │ └─ vuedraggable.umd.min.js│ │ │ └─ vuetify│ │ │ ├─ materialdesignicons-webfont.eot│ │ │ ├─ materialdesignicons-webfont.ttf│ │ │ ├─ materialdesignicons-webfont.woff│ │ │ ├─ materialdesignicons-webfont.woff2│ │ │ ├─ materialdesignicons.css│ │ │ ├─ materialdesignicons.min.css│ │ │ ├─ vuetify.css│ │ │ ├─ vuetify.js│ │ │ ├─ vuetify.min.css│ │ │ └─ vuetify.min.js│ │ └─ plugin│ │ ├─ docdiff│ │ │ ├─ codemirror.css│ │ │ ├─ codemirror.js│ │ │ ├─ diff_match_patch.js│ │ │ ├─ markdown.js│ │ │ ├─ merge.css│ │ │ └─ merge.js│ │ ├─ editor.md│ │ │ ├─ css│ │ │ │ ├─ editormd.min.css│ │ │ │ ├─ editormd.preview.min.css│ │ │ │ └─ font-awesome.min.css│ │ │ ├─ editormd.js│ │ │ ├─ editormd.min.js│ │ │ ├─ fonts│ │ │ │ ├─ FontAwesome.otf│ │ │ │ ├─ fontawesome-webfont.eot│ │ │ │ ├─ fontawesome-webfont.svg│ │ │ │ ├─ fontawesome-webfont.ttf│ │ │ │ ├─ fontawesome-webfont.woff│ │ │ │ └─ fontawesome-webfont.woff2│ │ │ ├─ images│ │ │ │ ├─ loading.gif│ │ │ │ ├─ loading@2x.gif│ │ │ │ └─ loading@3x.gif│ │ │ ├─ lib│ │ │ │ ├─ codemirror│ │ │ │ │ ├─ addon│ │ │ │ │ │ ├─ dialog│ │ │ │ │ │ │ └─ dialog.css│ │ │ │ │ │ ├─ hint│ │ │ │ │ │ │ └─ show-hint.css│ │ │ │ │ │ └─ search│ │ │ │ │ │ ├─ jump-to-line.js│ │ │ │ │ │ ├─ match-highlighter.js│ │ │ │ │ │ ├─ matchesonscrollbar.css│ │ │ │ │ │ ├─ matchesonscrollbar.js│ │ │ │ │ │ ├─ search.js│ │ │ │ │ │ └─ searchcursor.js│ │ │ │ │ ├─ addons.js│ │ │ │ │ ├─ addons.min.js│ │ │ │ │ ├─ bower.json│ │ │ │ │ ├─ codemirror.min.css│ │ │ │ │ ├─ codemirror.min.js│ │ │ │ │ ├─ diff_match_patch.js│ │ │ │ │ ├─ lib│ │ │ │ │ │ ├─ codemirror.css│ │ │ │ │ │ └─ codemirror.js│ │ │ │ │ ├─ modes.js│ │ │ │ │ ├─ modes.min.js│ │ │ │ │ └─ rollup.config.js│ │ │ │ ├─ marked.min.js│ │ │ │ ├─ prettify.min.js│ │ │ │ └─ purify.min.js│ │ │ └─ plugins│ │ │ └─ link-dialog│ │ │ └─ link-dialog.js│ │ ├─ iconFont│ │ │ ├─ iconfont.css│ │ │ ├─ iconfont.eot│ │ │ ├─ iconfont.js│ │ │ ├─ iconfont.svg│ │ │ ├─ iconfont.ttf│ │ │ ├─ iconfont.woff│ │ │ └─ iconfont.woff2│ │ ├─ imageViewer│ │ │ ├─ viewer.css│ │ │ ├─ viewer.js│ │ │ ├─ viewer.min.css│ │ │ └─ viewer.min.js│ │ ├─ jsoneditor│ │ │ ├─ img│ │ │ │ └─ jsoneditor-icons.svg│ │ │ ├─ jsoneditor.css│ │ │ └─ jsoneditor.js│ │ └─ qrcodejs│ │ └─ qrcode.min.js│ ├─ service│ │ ├─ README.md│ │ ├─ exam.js│ │ ├─ notice.js│ │ └─ student.js│ └─ view│ ├─ component│ │ └─ templateManagement.html│ ├─ page│ │ ├─ examManagement.html│ │ ├─ examManagementV1.html│ │ ├─ studentManagement.html│ │ ├─ studentResultListByExam.html│ │ ├─ studentResultListByExamV2.html│ │ └─ studentResultListByStudent.html│ └─ pageDoc│ ├─ _sidebar.md│ ├─ examManagement.md│ └─ upload│ └─ protocol.jpeg├─ app.js├─ config│ ├─ config.default.js│ ├─ config.env.example.js│ ├─ config.local.example.js│ ├─ config.local.js│ ├─ config.prod.example.js│ └─ plugin.js├─ jsconfig.json├─ logs│ ├─ common-error.json.log│ ├─ common-error.log│ ├─ egg-agent.json.log│ ├─ egg-agent.log│ ├─ egg-knex.json.log│ ├─ egg-knex.log│ ├─ egg-schedule.json.log│ ├─ egg-schedule.log│ ├─ egg-web.json.log│ ├─ egg-web.log│ ├─ lms-exam-web.json.log│ ├─ lms-exam-web.log│ ├─ lms-exam.html.json.log│ ├─ lms-exam.html.log│ ├─ lms-exam.page.json.log│ ├─ lms-exam.page.log│ ├─ lms-exam.resource.json.log│ └─ lms-exam.resource.log├─ package-lock.json├─ package.json├─ run│ ├─ agent_config.json│ ├─ agent_config_meta.json│ ├─ agent_timing_4711.json│ ├─ application_config.json│ ├─ application_config_meta.json│ ├─ application_timing_4751.json│ └─ router.json├─ sampleExcelData│ ├─ 考试成绩示例.xlsx│ └─ 考试数据示例.json├─ sql│ ├─ _constant.sql│ ├─ db_change_20230428.sql│ ├─ init.sql│ ├─ mock.sql│ └─ zhiyuan_exam_v1.sql├─ typings│ ├─ app│ │ ├─ index.d.ts│ │ └─ service│ │ └─ index.d.ts│ └─ config│ ├─ index.d.ts│ └─ plugin.d.ts└─ upload