diff --git a/backend/src/main/java/lsgwr/exam/qo/DownloadQo.java b/backend/src/main/java/lsgwr/exam/qo/DownloadQo.java index cc7ac8c..9c58ff9 100644 --- a/backend/src/main/java/lsgwr/exam/qo/DownloadQo.java +++ b/backend/src/main/java/lsgwr/exam/qo/DownloadQo.java @@ -13,5 +13,8 @@ import lombok.NoArgsConstructor; @AllArgsConstructor @NoArgsConstructor public class DownloadQo { + /** + * 文件路径 + */ String path; } diff --git a/backend/src/main/java/lsgwr/exam/repository/PageRepository.java b/backend/src/main/java/lsgwr/exam/repository/PageRepository.java index 6fe86e3..4f62838 100644 --- a/backend/src/main/java/lsgwr/exam/repository/PageRepository.java +++ b/backend/src/main/java/lsgwr/exam/repository/PageRepository.java @@ -8,6 +8,8 @@ package lsgwr.exam.repository; import lsgwr.exam.entity.Page; import org.springframework.data.jpa.repository.JpaRepository; - +/** + * 页面数据库操作类 + */ public interface PageRepository extends JpaRepository { } diff --git a/backend/src/main/java/lsgwr/exam/repository/QuestionCategoryRepository.java b/backend/src/main/java/lsgwr/exam/repository/QuestionCategoryRepository.java index 8182ade..843df45 100644 --- a/backend/src/main/java/lsgwr/exam/repository/QuestionCategoryRepository.java +++ b/backend/src/main/java/lsgwr/exam/repository/QuestionCategoryRepository.java @@ -8,6 +8,8 @@ package lsgwr.exam.repository; import lsgwr.exam.entity.QuestionCategory; import org.springframework.data.jpa.repository.JpaRepository; - +/** + * 题目分类持久层接口 + */ public interface QuestionCategoryRepository extends JpaRepository { } diff --git a/backend/src/main/java/lsgwr/exam/repository/QuestionLevelRepository.java b/backend/src/main/java/lsgwr/exam/repository/QuestionLevelRepository.java index 69af582..b4f0083 100644 --- a/backend/src/main/java/lsgwr/exam/repository/QuestionLevelRepository.java +++ b/backend/src/main/java/lsgwr/exam/repository/QuestionLevelRepository.java @@ -8,6 +8,8 @@ package lsgwr.exam.repository; import lsgwr.exam.entity.QuestionLevel; import org.springframework.data.jpa.repository.JpaRepository; - +/** + * 题目难度的持久层接口 + */ public interface QuestionLevelRepository extends JpaRepository { } diff --git a/backend/src/main/java/lsgwr/exam/repository/QuestionOptionRepository.java b/backend/src/main/java/lsgwr/exam/repository/QuestionOptionRepository.java index 7afb1d9..af2f2b3 100644 --- a/backend/src/main/java/lsgwr/exam/repository/QuestionOptionRepository.java +++ b/backend/src/main/java/lsgwr/exam/repository/QuestionOptionRepository.java @@ -8,6 +8,8 @@ package lsgwr.exam.repository; import lsgwr.exam.entity.QuestionOption; import org.springframework.data.jpa.repository.JpaRepository; - +/** + * 题目选项的持久层接口 + */ public interface QuestionOptionRepository extends JpaRepository { } diff --git a/backend/src/main/java/lsgwr/exam/repository/QuestionRepository.java b/backend/src/main/java/lsgwr/exam/repository/QuestionRepository.java index 97b9260..8234d7d 100644 --- a/backend/src/main/java/lsgwr/exam/repository/QuestionRepository.java +++ b/backend/src/main/java/lsgwr/exam/repository/QuestionRepository.java @@ -11,7 +11,9 @@ import org.springframework.data.jpa.repository.JpaRepository; import org.springframework.data.jpa.repository.Query; import java.util.List; - +/** + * 题目接口 + */ public interface QuestionRepository extends JpaRepository { List findByQuestionTypeId(Integer id); @Query("select q from Question q order by q.updateTime desc") diff --git a/backend/src/main/java/lsgwr/exam/repository/QuestionTypeRepository.java b/backend/src/main/java/lsgwr/exam/repository/QuestionTypeRepository.java index acdee52..218106b 100644 --- a/backend/src/main/java/lsgwr/exam/repository/QuestionTypeRepository.java +++ b/backend/src/main/java/lsgwr/exam/repository/QuestionTypeRepository.java @@ -8,6 +8,8 @@ package lsgwr.exam.repository; import lsgwr.exam.entity.QuestionType; import org.springframework.data.jpa.repository.JpaRepository; - +/** + * 题目类型接口 + */ public interface QuestionTypeRepository extends JpaRepository { } diff --git a/backend/src/main/java/lsgwr/exam/repository/RoleRepository.java b/backend/src/main/java/lsgwr/exam/repository/RoleRepository.java index 90e59de..6a07451 100644 --- a/backend/src/main/java/lsgwr/exam/repository/RoleRepository.java +++ b/backend/src/main/java/lsgwr/exam/repository/RoleRepository.java @@ -9,5 +9,8 @@ package lsgwr.exam.repository; import lsgwr.exam.entity.Role; import org.springframework.data.jpa.repository.JpaRepository; +/** + * 角色的数据库操作类 + */ public interface RoleRepository extends JpaRepository { } diff --git a/backend/src/main/java/lsgwr/exam/repository/UserRepository.java b/backend/src/main/java/lsgwr/exam/repository/UserRepository.java index 27ab9ff..8ac4852 100644 --- a/backend/src/main/java/lsgwr/exam/repository/UserRepository.java +++ b/backend/src/main/java/lsgwr/exam/repository/UserRepository.java @@ -8,7 +8,9 @@ package lsgwr.exam.repository; import lsgwr.exam.entity.User; import org.springframework.data.jpa.repository.JpaRepository; - +/** + * 用户表的操作类 + */ public interface UserRepository extends JpaRepository { /** * 根据用户名查找到合适的用户 diff --git a/backend/src/main/java/lsgwr/exam/service/impl/UserServiceImpl.java b/backend/src/main/java/lsgwr/exam/service/impl/UserServiceImpl.java index 3799580..2dc8e38 100644 --- a/backend/src/main/java/lsgwr/exam/service/impl/UserServiceImpl.java +++ b/backend/src/main/java/lsgwr/exam/service/impl/UserServiceImpl.java @@ -47,7 +47,12 @@ public class UserServiceImpl implements UserService { @Autowired ActionRepository actionRepository; - + /** + * 注册用户 + * + * @param registerDTO 前端传来的注册信息 + * @return 注册成功返回用户信息,失败返回null + */ @Override public User register(RegisterDTO registerDTO) { try { @@ -106,7 +111,12 @@ public class UserServiceImpl implements UserService { } return null; } - + /** + * 获取用户信息 + * + * @param userId 用户id + * @return 用户信息 + */ @Override public UserVo getUserInfo(String userId) { User user = userRepository.findById(userId).orElse(null); @@ -115,7 +125,12 @@ public class UserServiceImpl implements UserService { BeanUtils.copyProperties(user, userVo); return userVo; } - + /** + * 获取用户详细信息 + * + * @param userId 用户id + * @return 用户详细信息 + */ @Override public UserInfoVo getInfo(String userId) { User user = userRepository.findById(userId).orElse(null); diff --git a/backend/src/main/java/lsgwr/exam/utils/ResultVOUtil.java b/backend/src/main/java/lsgwr/exam/utils/ResultVOUtil.java index fbd6df1..0694dde 100644 --- a/backend/src/main/java/lsgwr/exam/utils/ResultVOUtil.java +++ b/backend/src/main/java/lsgwr/exam/utils/ResultVOUtil.java @@ -7,22 +7,32 @@ package lsgwr.exam.utils; import lsgwr.exam.vo.ResultVO; - +/** + * 封装返回结果 + */ public class ResultVOUtil { - + /** + * 成功返回结果 + */ public static ResultVO success(Integer code, String msg, Object object) { return new ResultVO(code, msg, object); } - + /** + * 成功返回结果 + */ public static ResultVO success(Object object) { return new ResultVO(0, "成功", object); } - + /** + * 成功返回结果 + */ public static ResultVO success() { return new ResultVO(0, "成功", null); } - + /** + * 失败返回结果 + */ public static ResultVO error(Integer code, String msg) { return new ResultVO(code, msg, null); } diff --git a/backend/src/main/java/lsgwr/exam/vo/ActionVo.java b/backend/src/main/java/lsgwr/exam/vo/ActionVo.java index 98b2a63..283ad72 100644 --- a/backend/src/main/java/lsgwr/exam/vo/ActionVo.java +++ b/backend/src/main/java/lsgwr/exam/vo/ActionVo.java @@ -8,15 +8,24 @@ package lsgwr.exam.vo; import com.fasterxml.jackson.annotation.JsonProperty; import lombok.Data; - +/** + * Action前端展示类 + */ @Data public class ActionVo { + /** + * 动作名称 + */ @JsonProperty("action") private String actionName; - + /** + * 动作描述 + */ @JsonProperty("describe") private String actionDescription; - + /** + * 是否默认选中 + */ @JsonProperty("defaultCheck") private Boolean defaultCheck; } diff --git a/backend/src/main/java/lsgwr/exam/vo/JsonData.java b/backend/src/main/java/lsgwr/exam/vo/JsonData.java index 9fd3ecd..b9823d4 100644 --- a/backend/src/main/java/lsgwr/exam/vo/JsonData.java +++ b/backend/src/main/java/lsgwr/exam/vo/JsonData.java @@ -16,7 +16,9 @@ import java.io.Serializable; @AllArgsConstructor @NoArgsConstructor public class JsonData implements Serializable { - + /** + * 序列化id + */ private static final long serialVersionUID = 1L; /** diff --git a/backend/src/main/java/lsgwr/exam/vo/PageVo.java b/backend/src/main/java/lsgwr/exam/vo/PageVo.java index 604abc3..45e88d4 100644 --- a/backend/src/main/java/lsgwr/exam/vo/PageVo.java +++ b/backend/src/main/java/lsgwr/exam/vo/PageVo.java @@ -10,15 +10,24 @@ import com.fasterxml.jackson.annotation.JsonProperty; import lombok.Data; import java.util.List; - +/** + * 页面展示类 + */ @Data public class PageVo { + /** + * 页面动作集合 + */ @JsonProperty("actionEntitySet") private List actionVoList; - + /** + * 页面名称,即路由名称 + */ @JsonProperty("permissionId") private String pageName; - + /** + * 页面描述,即路由描述 + */ @JsonProperty("permissionName") private String pageDescription; } diff --git a/backend/src/main/java/lsgwr/exam/vo/QuestionCreateSimplifyVo.java b/backend/src/main/java/lsgwr/exam/vo/QuestionCreateSimplifyVo.java index 8eba970..9ddecf3 100644 --- a/backend/src/main/java/lsgwr/exam/vo/QuestionCreateSimplifyVo.java +++ b/backend/src/main/java/lsgwr/exam/vo/QuestionCreateSimplifyVo.java @@ -10,7 +10,9 @@ import com.fasterxml.jackson.annotation.JsonProperty; import lombok.Data; import java.util.List; - +/** + * 问题创建的实体类,简化了下 + */ @Data public class QuestionCreateSimplifyVo { /** diff --git a/backend/src/main/java/lsgwr/exam/vo/QuestionCreateVo.java b/backend/src/main/java/lsgwr/exam/vo/QuestionCreateVo.java index b565a2e..04e2f52 100644 --- a/backend/src/main/java/lsgwr/exam/vo/QuestionCreateVo.java +++ b/backend/src/main/java/lsgwr/exam/vo/QuestionCreateVo.java @@ -10,7 +10,9 @@ import com.fasterxml.jackson.annotation.JsonProperty; import lombok.Data; import java.util.List; - +/** + * 创建问题的实体类 + */ @Data public class QuestionCreateVo { /** diff --git a/backend/src/main/java/lsgwr/exam/vo/QuestionDetailVo.java b/backend/src/main/java/lsgwr/exam/vo/QuestionDetailVo.java index d6c6fae..85ae017 100644 --- a/backend/src/main/java/lsgwr/exam/vo/QuestionDetailVo.java +++ b/backend/src/main/java/lsgwr/exam/vo/QuestionDetailVo.java @@ -11,7 +11,9 @@ import lombok.Data; import java.util.ArrayList; import java.util.List; - +/** + * 问题详情的实体类 + */ @Data public class QuestionDetailVo { /** diff --git a/backend/src/main/java/lsgwr/exam/vo/QuestionOptionCreateVo.java b/backend/src/main/java/lsgwr/exam/vo/QuestionOptionCreateVo.java index 470088e..75f608e 100644 --- a/backend/src/main/java/lsgwr/exam/vo/QuestionOptionCreateVo.java +++ b/backend/src/main/java/lsgwr/exam/vo/QuestionOptionCreateVo.java @@ -8,7 +8,9 @@ package lsgwr.exam.vo; import com.fasterxml.jackson.annotation.JsonProperty; import lombok.Data; - +/** + * 问题选项的外层对象 + */ @Data public class QuestionOptionCreateVo { diff --git a/backend/src/main/java/lsgwr/exam/vo/QuestionOptionVo.java b/backend/src/main/java/lsgwr/exam/vo/QuestionOptionVo.java index 58cc32a..f7e94f6 100644 --- a/backend/src/main/java/lsgwr/exam/vo/QuestionOptionVo.java +++ b/backend/src/main/java/lsgwr/exam/vo/QuestionOptionVo.java @@ -8,18 +8,29 @@ package lsgwr.exam.vo; import com.fasterxml.jackson.annotation.JsonProperty; import lombok.Data; - +/** + * 问题选项的自定义实体类 + */ @Data public class QuestionOptionVo { + /** + * 问题选项的id + */ @JsonProperty("id") private String questionOptionId; - + /** + * 问题选项的内容 + */ @JsonProperty("content") private String questionOptionContent; - + /** + * 问题选项是否是答案 + */ @JsonProperty("answer") private Boolean answer = false; - + /** + * 问题选项的描述 + */ @JsonProperty("description") private String questionOptionDescription; } diff --git a/backend/src/main/java/lsgwr/exam/vo/QuestionPageVo.java b/backend/src/main/java/lsgwr/exam/vo/QuestionPageVo.java index 17ed650..fcc8678 100644 --- a/backend/src/main/java/lsgwr/exam/vo/QuestionPageVo.java +++ b/backend/src/main/java/lsgwr/exam/vo/QuestionPageVo.java @@ -10,7 +10,9 @@ import com.fasterxml.jackson.annotation.JsonProperty; import lombok.Data; import java.util.List; - +/** + * 问题列表反馈给前端的对象 + */ @Data public class QuestionPageVo { diff --git a/backend/src/main/java/lsgwr/exam/vo/QuestionSelectionVo.java b/backend/src/main/java/lsgwr/exam/vo/QuestionSelectionVo.java index dfdbf93..423da6f 100644 --- a/backend/src/main/java/lsgwr/exam/vo/QuestionSelectionVo.java +++ b/backend/src/main/java/lsgwr/exam/vo/QuestionSelectionVo.java @@ -13,15 +13,24 @@ import lsgwr.exam.entity.QuestionType; import lombok.Data; import java.util.List; - +/** + * 前端创建问题时的下拉列表选择 + */ @Data public class QuestionSelectionVo { + /** + * 问题类型 + */ @JsonProperty("types") private List questionTypeList; - + /** + * 问题分类 + */ @JsonProperty("categories") private List questionCategoryList; - + /** + * 问题难度 + */ @JsonProperty("levels") private List questionLevelList; } diff --git a/backend/src/main/java/lsgwr/exam/vo/QuestionVo.java b/backend/src/main/java/lsgwr/exam/vo/QuestionVo.java index 5ce1744..e2e9016 100644 --- a/backend/src/main/java/lsgwr/exam/vo/QuestionVo.java +++ b/backend/src/main/java/lsgwr/exam/vo/QuestionVo.java @@ -12,15 +12,24 @@ import lombok.Data; import java.util.Date; import java.util.List; - +/** + * 问题的VO类,用于返回给前端 + */ @Data public class QuestionVo { + /** + * 问题id,从数据库表question中获取 + */ @JsonProperty("id") private String questionId; - + /** + * 问题名称,从数据库表question中获取 + */ @JsonProperty("name") private String questionName; - + /** + * 问题分值,从数据库表question中获取 + */ @JsonProperty("score") private Integer questionScore; diff --git a/backend/src/main/java/lsgwr/exam/vo/RecordDetailVo.java b/backend/src/main/java/lsgwr/exam/vo/RecordDetailVo.java index 21501dc..0605de7 100644 --- a/backend/src/main/java/lsgwr/exam/vo/RecordDetailVo.java +++ b/backend/src/main/java/lsgwr/exam/vo/RecordDetailVo.java @@ -11,7 +11,9 @@ import lombok.Data; import java.util.HashMap; import java.util.List; - +/** + * 考试记录详情的VO + */ @Data public class RecordDetailVo { /** diff --git a/backend/src/main/java/lsgwr/exam/vo/ResultVO.java b/backend/src/main/java/lsgwr/exam/vo/ResultVO.java index 12aa1bb..ec106d8 100644 --- a/backend/src/main/java/lsgwr/exam/vo/ResultVO.java +++ b/backend/src/main/java/lsgwr/exam/vo/ResultVO.java @@ -13,7 +13,12 @@ import lombok.Data; @JsonInclude(JsonInclude.Include.NON_NULL) // 避免返回NULL的字段 public class ResultVO { - + /** + * 构造函数 + * @param code 错误码 + * @param msg 提示信息 + * @param data 具体内容 + */ public ResultVO(Integer code, String msg, T data) { this.code = code; this.msg = msg; diff --git a/backend/src/main/java/lsgwr/exam/vo/RoleVo.java b/backend/src/main/java/lsgwr/exam/vo/RoleVo.java index 11ddba1..cec7e63 100644 --- a/backend/src/main/java/lsgwr/exam/vo/RoleVo.java +++ b/backend/src/main/java/lsgwr/exam/vo/RoleVo.java @@ -10,18 +10,29 @@ import com.fasterxml.jackson.annotation.JsonProperty; import lombok.Data; import java.util.List; - +/** + * 角色的VO类 + */ @Data public class RoleVo { + /** + * 角色名 + */ @JsonProperty("id") private String roleName; - + /** + * 角色描述 + */ @JsonProperty("name") private String roleDescription; - + /** + * 角色的详细描述 + */ @JsonProperty("describe") private String roleDetail; - + /** + * 角色所拥有的权限 + */ @JsonProperty("permissions") private List pageVoList; } diff --git a/backend/src/main/java/lsgwr/exam/vo/UserInfoVo.java b/backend/src/main/java/lsgwr/exam/vo/UserInfoVo.java index 4bb6c6f..ea096ae 100644 --- a/backend/src/main/java/lsgwr/exam/vo/UserInfoVo.java +++ b/backend/src/main/java/lsgwr/exam/vo/UserInfoVo.java @@ -8,19 +8,29 @@ package lsgwr.exam.vo; import com.fasterxml.jackson.annotation.JsonProperty; import lombok.Data; - +/** + * 用户信息展示类 + */ @Data public class UserInfoVo { - + /** + * 用户ID,唯一 + */ @JsonProperty("id") private String userId; - + /** + * 头像URL + */ @JsonProperty("avatar") private String userAvatar; - + /** + * 用户名,唯一 + */ @JsonProperty("name") private String userNickname; - + /** + * 账号,唯一 + */ @JsonProperty("username") private String userUsername; diff --git a/backend/src/main/java/lsgwr/exam/vo/UserVo.java b/backend/src/main/java/lsgwr/exam/vo/UserVo.java index 056b93c..068d78e 100644 --- a/backend/src/main/java/lsgwr/exam/vo/UserVo.java +++ b/backend/src/main/java/lsgwr/exam/vo/UserVo.java @@ -8,30 +8,49 @@ package lsgwr.exam.vo; import com.fasterxml.jackson.annotation.JsonProperty; import lombok.Data; - +/** + * 用户信息展示类 + */ @Data public class UserVo { + /** + * 用户ID + */ @JsonProperty("id") private String userId; - + /** + * 用户名 + */ @JsonProperty("username") private String userUsername; - + /** + * 昵称 + */ @JsonProperty("nickname") private String userNickname; - + /** + * 角色ID + */ @JsonProperty("role") private Integer userRoleId; - + /** + * 头像 + */ @JsonProperty("avatar") private String userAvatar; - + /** + * 个人简介 + */ @JsonProperty("description") private String userDescription; - + /** + * 邮箱 + */ @JsonProperty("email") private String userEmail; - + /** + * 电话 + */ @JsonProperty("phone") private String userPhone; } diff --git a/frontend/public/index.html b/frontend/public/index.html index fd87ff4..0a9f41a 100644 --- a/frontend/public/index.html +++ b/frontend/public/index.html @@ -6,13 +6,91 @@ 在线考试系统 - + + + +
+
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 @@ -
Loading
\ 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/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 @@ - - diff --git a/frontend/src/layouts/PageView.vue b/frontend/src/layouts/PageView.vue index 32ce5c2..05fbaea 100644 --- a/frontend/src/layouts/PageView.vue +++ b/frontend/src/layouts/PageView.vue @@ -1,10 +1,16 @@