diff --git a/frontend/public/loading/loading.css b/frontend/public/loading/loading.css
index a899eac..e06ac36 100644
--- a/frontend/public/loading/loading.css
+++ b/frontend/public/loading/loading.css
@@ -1 +1,52 @@
-#preloadingAnimation{position:fixed;left:0;top:0;height:100%;width:100%;background:#ffffff;user-select:none;z-index: 9999;overflow: hidden}.lds-roller{display:inline-block;position:relative;left:50%;top:50%;transform:translate(-50%,-50%);width:64px;height:64px;}.lds-roller div{animation:lds-roller 1.2s cubic-bezier(0.5,0,0.5,1) infinite;transform-origin:32px 32px;}.lds-roller div:after{content:" ";display:block;position:absolute;width:6px;height:6px;border-radius:50%;background:#13c2c2;margin:-3px 0 0 -3px;}.lds-roller div:nth-child(1){animation-delay:-0.036s;}.lds-roller div:nth-child(1):after{top:50px;left:50px;}.lds-roller div:nth-child(2){animation-delay:-0.072s;}.lds-roller div:nth-child(2):after{top:54px;left:45px;}.lds-roller div:nth-child(3){animation-delay:-0.108s;}.lds-roller div:nth-child(3):after{top:57px;left:39px;}.lds-roller div:nth-child(4){animation-delay:-0.144s;}.lds-roller div:nth-child(4):after{top:58px;left:32px;}.lds-roller div:nth-child(5){animation-delay:-0.18s;}.lds-roller div:nth-child(5):after{top:57px;left:25px;}.lds-roller div:nth-child(6){animation-delay:-0.216s;}.lds-roller div:nth-child(6):after{top:54px;left:19px;}.lds-roller div:nth-child(7){animation-delay:-0.252s;}.lds-roller div:nth-child(7):after{top:50px;left:14px;}.lds-roller div:nth-child(8){animation-delay:-0.288s;}.lds-roller div:nth-child(8):after{top:45px;left:10px;}#preloadingAnimation .load-tips{color: #13c2c2;font-size:2rem;position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);margin-top:80px;text-align:center;width:400px;height:64px;} @keyframes lds-roller{0%{transform:rotate(0deg);} 100%{transform:rotate(360deg);}}
\ No newline at end of file
+#preloadingAnimation{
+ position:fixed;left:0;top:0;height:100%;width:100%;background:#ffffff;user-select:none;
+ z-index: 9999;overflow: hidden}
+.lds-roller{
+ display:inline-block;
+ position:relative;
+ left:50%;
+ top:50%;
+ transform:translate(-50%,-50%);
+ width:64px;
+ height:64px;
+}
+.lds-roller div{
+ animation:lds-roller 1.2s cubic-bezier(0.5,0,0.5,1) infinite;
+ transform-origin:32px 32px;
+}
+.lds-roller div:after{
+ content:" ";
+ display:block;
+ position:absolute;
+ width:6px;
+ height:6px;
+ border-radius:50%;
+ background:#13c2c2;
+ margin:-3px 0 0 -3px;
+}
+.lds-roller div:nth-child(1){animation-delay:-0.036s;}
+.lds-roller div:nth-child(1):after{top:50px;left:50px;}
+.lds-roller div:nth-child(2){animation-delay:-0.072s;}
+.lds-roller div:nth-child(2):after{top:54px;left:45px;}
+.lds-roller div:nth-child(3){animation-delay:-0.108s;}
+.lds-roller div:nth-child(3):after{top:57px;left:39px;}
+.lds-roller div:nth-child(4){animation-delay:-0.144s;}
+.lds-roller div:nth-child(4):after{top:58px;left:32px;}
+.lds-roller div:nth-child(5){animation-delay:-0.18s;}
+.lds-roller div:nth-child(5):after{top:57px;left:25px;}
+.lds-roller div:nth-child(6){animation-delay:-0.216s;}
+.lds-roller div:nth-child(6):after{top:54px;left:19px;}
+.lds-roller div:nth-child(7){animation-delay:-0.252s;}
+.lds-roller div:nth-child(7):after{top:50px;left:14px;}
+.lds-roller div:nth-child(8){animation-delay:-0.288s;}
+.lds-roller div:nth-child(8):after{top:45px;left:10px;}
+#preloadingAnimation .load-tips{
+ color: #13c2c2;
+ font-size:2rem;
+ position:absolute;
+ left:50%;
+ top:50%;
+ transform:translate(-50%,-50%);margin-top:80px;
+ text-align:center;width:400px;height:64px;}
+@keyframes lds-roller{0%{transform:rotate(0deg);}
+ 100%{transform:rotate(360deg);}}
\ No newline at end of file
diff --git a/frontend/public/loading/loading.html b/frontend/public/loading/loading.html
index 9b93196..1d51177 100644
--- a/frontend/public/loading/loading.html
+++ b/frontend/public/loading/loading.html
@@ -1 +1,27 @@
-
\ No newline at end of file
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Loading
+
\ No newline at end of file
diff --git a/frontend/public/loading/option2/html_code_segment.html b/frontend/public/loading/option2/html_code_segment.html
index df81b26..fc874e3 100644
--- a/frontend/public/loading/option2/html_code_segment.html
+++ b/frontend/public/loading/option2/html_code_segment.html
@@ -1,5 +1,31 @@
+/**
+ * 预加载动画
+ */
+
-
+
\ No newline at end of file
diff --git a/frontend/public/loading/option2/loading.css b/frontend/public/loading/option2/loading.css
index c35cd73..4486a8a 100644
--- a/frontend/public/loading/option2/loading.css
+++ b/frontend/public/loading/option2/loading.css
@@ -1 +1,20 @@
-.preloading-animate{background:#ffffff;width:100%;height:100%;position:fixed;left:0;top:0;z-index:299;}.preloading-animate .preloading-wrapper{position:absolute;width:5rem;height:5rem;left:50%;top:50%;transform:translate(-50%,-50%);}.preloading-animate .preloading-wrapper .preloading-balls{font-size:5rem;}
\ No newline at end of file
+.preloading-animate{
+ background:#ffffff;
+ width:100%;
+ height:100%;
+ position:fixed;
+ left:0;
+ top:0;
+ z-index:299;
+}
+.preloading-animate .preloading-wrapper{
+ position:absolute;
+ width:5rem;
+ height:5rem;
+ left:50%;
+ top:50%;
+ transform:translate(-50%,-50%);
+}
+.preloading-animate .preloading-wrapper .preloading-balls{
+ font-size:5rem;
+}
\ No newline at end of file
diff --git a/frontend/src/api/exam.js b/frontend/src/api/exam.js
index c6d98b5..d954c27 100644
--- a/frontend/src/api/exam.js
+++ b/frontend/src/api/exam.js
@@ -3,6 +3,11 @@
import api from './index'
import { axios } from '../utils/request'
+/**
+ * 获取问题列表
+ * @param parameter
+ * @returns {AxiosPromise}
+ */
export function getQuestionList (parameter) {
return axios({
url: api.ExamQuestionList,
@@ -11,6 +16,10 @@ export function getQuestionList (parameter) {
})
}
+/**
+ * 获取所有问题
+ * @returns {AxiosPromise}
+ */
export function getQuestionAll () {
return axios({
url: api.ExamQuestionAll,
@@ -18,6 +27,11 @@ export function getQuestionAll () {
})
}
+/**
+ * 更新问题
+ * @param parameter
+ * @returns {AxiosPromise}
+ */
export function questionUpdate (parameter) {
console.log(parameter)
return axios({
@@ -27,6 +41,10 @@ export function questionUpdate (parameter) {
})
}
+/**
+ * 获取问题选项
+ * @returns {AxiosPromise}
+ */
export function getQuestionSelection () {
return axios({
url: api.ExamQuestionSelection,
@@ -37,6 +55,11 @@ export function getQuestionSelection () {
})
}
+/**
+ * 创建问题
+ * @param parameter
+ * @returns {AxiosPromise}
+ */
export function questionCreate (parameter) {
console.log(parameter)
return axios({
@@ -46,6 +69,11 @@ export function questionCreate (parameter) {
})
}
+/**
+ * 获取考试列表
+ * @param parameter
+ * @returns {AxiosPromise}
+ */
export function getExamList (parameter) {
return axios({
url: api.ExamList,
@@ -54,6 +82,10 @@ export function getExamList (parameter) {
})
}
+/**
+ * 获取所有考试
+ * @returns {AxiosPromise}
+ */
export function getExamAll () {
return axios({
url: api.ExamAll,
@@ -72,6 +104,11 @@ export function getExamQuestionTypeList () {
})
}
+/**
+ * 获取考试卡片列表
+ * @returns {AxiosPromise}
+ */
+
export function getExamCardList () {
return axios({
url: api.ExamCardList,
@@ -82,6 +119,11 @@ export function getExamCardList () {
})
}
+/**
+ * 创建考试
+ * @param parameter
+ * @returns {AxiosPromise}
+ */
export function examCreate (parameter) {
console.log(parameter)
return axios({
@@ -100,6 +142,11 @@ export function examUpdate (parameter) {
})
}
+/**
+ * 获取考试详情
+ * @param examId
+ * @returns {AxiosPromise}
+ */
export function getExamDetail (examId) {
return axios({
url: api.ExamDetail + examId,
@@ -110,6 +157,11 @@ export function getExamDetail (examId) {
})
}
+/**
+ * 获取考试记录详情
+ * @param recordId
+ * @returns {AxiosPromise}
+ */
export function getExamRecordDetail (recordId) {
return axios({
url: api.recordDetail + recordId,
@@ -120,6 +172,11 @@ export function getExamRecordDetail (recordId) {
})
}
+/**
+ * 获取考试问题详情
+ * @param questionId
+ * @returns {AxiosPromise}
+ */
export function getQuestionDetail (questionId) {
return axios({
url: api.QuestionDetail + questionId,
@@ -130,6 +187,13 @@ export function getQuestionDetail (questionId) {
})
}
+/**
+ * 完成考试
+ * @param examId
+ * @param answersMap
+ * @returns {AxiosPromise}
+ */
+
export function finishExam (examId, answersMap) {
console.log(answersMap)
return axios({
@@ -142,6 +206,10 @@ export function finishExam (examId, answersMap) {
})
}
+/**
+ * 获取考试记录列表
+ * @returns {AxiosPromise}
+ */
export function getExamRecordList () {
return axios({
url: api.ExamRecordList,
diff --git a/frontend/src/api/index.js b/frontend/src/api/index.js
index 05423bf..32bdb54 100644
--- a/frontend/src/api/index.js
+++ b/frontend/src/api/index.js
@@ -1,3 +1,7 @@
+/**
+ * api接口列表
+ * @type {{ExamQuestionList: string, SendSmsErr: string, ExamCardList: string, UserInfo: string, UserRegister: string, ExamRecordList: string, ExamQuestionCreate: string, Logout: string, ExamCreate: string, ExamQuestionAll: string, FinishExam: string, UserLogin: string, ForgePassword: string, ExamQuestionTypeList: string, SendSms: string, Login: string, twoStepCode: string, QuestionDetail: string, recordDetail: string, Register: string, ExamUpdate: string, ExamDetail: string, ExamQuestionSelection: string, ExamList: string, ExamQuestionUpdate: string, ExamAll: string}}
+ */
const api = {
Login: '/auth/login',
Logout: '/auth/logout',
diff --git a/frontend/src/api/login.js b/frontend/src/api/login.js
index 9f71d6b..62f15df 100644
--- a/frontend/src/api/login.js
+++ b/frontend/src/api/login.js
@@ -21,6 +21,11 @@ export function login (parameter) {
})
}
+/**
+ *获取短信验证码
+ * @param parameter
+ * @returns {AxiosPromise}
+ */
export function getSmsCaptcha (parameter) {
return axios({
url: api.SendSms,
@@ -29,6 +34,10 @@ export function getSmsCaptcha (parameter) {
})
}
+/**
+ * 获取用户信息
+ * @returns {AxiosPromise}
+ */
export function getInfo () {
return axios({
url: api.UserInfo,
@@ -39,6 +48,10 @@ export function getInfo () {
})
}
+/**
+ * 用户登出
+ * @returns {AxiosPromise}
+ */
export function logout () {
return axios({
url: api.Logout,
@@ -50,7 +63,7 @@ export function logout () {
}
/**
- * get user 2step code open?
+ * 获取用户两步验证设置状态
* @param parameter {*}
*/
export function get2step (parameter) {
diff --git a/frontend/src/api/user.js b/frontend/src/api/user.js
index 71e361b..efc8428 100644
--- a/frontend/src/api/user.js
+++ b/frontend/src/api/user.js
@@ -2,7 +2,7 @@
import api from './index'
import { axios } from '../utils/request'
-
+// 用户登录
export function login (parameter) {
return axios({
url: api.UserLogin,
@@ -10,7 +10,7 @@ export function login (parameter) {
data: parameter
})
}
-
+// 用户注册
export function register (parameter) {
return axios({
url: api.UserRegister,
diff --git a/frontend/src/components/Exception/ExceptionPage.vue b/frontend/src/components/Exception/ExceptionPage.vue
index 132e346..7e9d584 100644
--- a/frontend/src/components/Exception/ExceptionPage.vue
+++ b/frontend/src/components/Exception/ExceptionPage.vue
@@ -1,24 +1,33 @@
+
+
+
+
{{ config[type].title }}
+
{{ config[type].desc }}
+
-
-