diff --git a/backend/src/main/java/io/metersphere/base/mapper/ext/ExtUserMapper.xml b/backend/src/main/java/io/metersphere/base/mapper/ext/ExtUserMapper.xml
index bb4c14a790..97c9279589 100644
--- a/backend/src/main/java/io/metersphere/base/mapper/ext/ExtUserMapper.xml
+++ b/backend/src/main/java/io/metersphere/base/mapper/ext/ExtUserMapper.xml
@@ -31,6 +31,7 @@
AND u.email like CONCAT('%', #{userRequest.email},'%')
+ order by u.update_time desc
diff --git a/backend/src/main/java/io/metersphere/base/mapper/ext/ExtUserRoleMapper.xml b/backend/src/main/java/io/metersphere/base/mapper/ext/ExtUserRoleMapper.xml
index b7d42f3e7b..5b15cd3e29 100644
--- a/backend/src/main/java/io/metersphere/base/mapper/ext/ExtUserRoleMapper.xml
+++ b/backend/src/main/java/io/metersphere/base/mapper/ext/ExtUserRoleMapper.xml
@@ -43,6 +43,7 @@
AND `user`.name like CONCAT('%', #{member.name},'%')
+ order by user_role.update_time desc
\ No newline at end of file
diff --git a/backend/src/main/java/io/metersphere/controller/SystemParameterController.java b/backend/src/main/java/io/metersphere/controller/SystemParameterController.java
index 5c2648aa23..3dc6c620b3 100644
--- a/backend/src/main/java/io/metersphere/controller/SystemParameterController.java
+++ b/backend/src/main/java/io/metersphere/controller/SystemParameterController.java
@@ -1,10 +1,11 @@
package io.metersphere.controller;
import io.metersphere.base.domain.SystemParameter;
-import io.metersphere.commons.constants.ParamConstants;
import io.metersphere.service.SystemParameterService;
-import org.apache.shiro.authz.annotation.RequiresPermissions;
-import org.springframework.web.bind.annotation.*;
+import org.springframework.web.bind.annotation.PostMapping;
+import org.springframework.web.bind.annotation.RequestBody;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
import javax.annotation.Resource;
import java.util.HashMap;
@@ -25,9 +26,5 @@ public class SystemParameterController {
public void testConnection(@RequestBody HashMap hashMap) {
SystemParameterService.testConnection(hashMap);
}
- @GetMapping("/mail/info")
- public Object mailInfo() {
- return SystemParameterService.mailInfo(ParamConstants.Classify.MAIL.getValue());
- }
}
diff --git a/backend/src/main/java/io/metersphere/service/OrganizationService.java b/backend/src/main/java/io/metersphere/service/OrganizationService.java
index 6d46781d98..0d354c7f39 100644
--- a/backend/src/main/java/io/metersphere/service/OrganizationService.java
+++ b/backend/src/main/java/io/metersphere/service/OrganizationService.java
@@ -63,6 +63,7 @@ public class OrganizationService {
if (StringUtils.isNotBlank(request.getName())) {
criteria.andNameLike(StringUtils.wrapIfMissing(request.getName(), "%"));
}
+ example.setOrderByClause("update_time desc");
return organizationMapper.selectByExample(example);
}
diff --git a/backend/src/main/java/io/metersphere/service/SystemParameterService.java b/backend/src/main/java/io/metersphere/service/SystemParameterService.java
index b57b2ff6e2..725afb6768 100644
--- a/backend/src/main/java/io/metersphere/service/SystemParameterService.java
+++ b/backend/src/main/java/io/metersphere/service/SystemParameterService.java
@@ -15,7 +15,9 @@ import org.springframework.stereotype.Service;
import javax.annotation.Resource;
import javax.mail.MessagingException;
-import java.util.*;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Properties;
@Service
@@ -81,30 +83,7 @@ public class SystemParameterService {
} catch (MessagingException e) {
MSException.throwException(Translator.get("connection_failed"));
}
- }
- public Object mailInfo(String type) {
- List paramList = this.getParamList(type);
- if (CollectionUtils.isEmpty(paramList)) {
- paramList = new ArrayList<>();
- ParamConstants.MAIL[] values = ParamConstants.MAIL.values();
- for (ParamConstants.MAIL value : values) {
- SystemParameter systemParameter = new SystemParameter();
- if (value.equals(ParamConstants.MAIL.PASSWORD)) {
- systemParameter.setType(ParamConstants.Type.PASSWORD.getValue());
- } else {
- systemParameter.setType(ParamConstants.Type.TEXT.getValue());
- }
- systemParameter.setParamKey(value.getKey());
- systemParameter.setSort(value.getValue());
- paramList.add(systemParameter);
- }
- } else {
- paramList.stream().filter(param -> param.getParamKey().equals(ParamConstants.MAIL.PASSWORD.getKey())).forEach(param -> {
- String string = EncryptUtils.aesDecrypt(param.getParamValue()).toString();
- param.setParamValue(string);
- });
- }
- paramList.sort(Comparator.comparingInt(SystemParameter::getSort));
- return paramList;
+
+
}
}
diff --git a/backend/src/main/java/io/metersphere/service/TestResourcePoolService.java b/backend/src/main/java/io/metersphere/service/TestResourcePoolService.java
index e7223294bc..2dc3f85df0 100644
--- a/backend/src/main/java/io/metersphere/service/TestResourcePoolService.java
+++ b/backend/src/main/java/io/metersphere/service/TestResourcePoolService.java
@@ -125,6 +125,7 @@ public class TestResourcePoolService {
if (StringUtils.isNotBlank(request.getName())) {
criteria.andNameLike(StringUtils.wrapIfMissing(request.getName(), "%"));
}
+ example.setOrderByClause("update_time desc");
List testResourcePools = testResourcePoolMapper.selectByExample(example);
List testResourcePoolDTOS = new ArrayList<>();
testResourcePools.forEach(pool -> {
diff --git a/backend/src/main/java/io/metersphere/service/WorkspaceService.java b/backend/src/main/java/io/metersphere/service/WorkspaceService.java
index 0ce05fde8e..bb1948998a 100644
--- a/backend/src/main/java/io/metersphere/service/WorkspaceService.java
+++ b/backend/src/main/java/io/metersphere/service/WorkspaceService.java
@@ -83,6 +83,7 @@ public class WorkspaceService {
if (StringUtils.isNotBlank(request.getName())) {
criteria.andNameLike(StringUtils.wrapIfMissing(request.getName(), "%"));
}
+ example.setOrderByClause("update_time desc");
return workspaceMapper.selectByExample(example);
}
diff --git a/frontend/package.json b/frontend/package.json
index 098e3d0295..279231aad4 100644
--- a/frontend/package.json
+++ b/frontend/package.json
@@ -11,6 +11,7 @@
"@ckeditor/ckeditor5-build-classic": "^18.0.0",
"@ckeditor/ckeditor5-vue": "^1.0.1",
"@fortawesome/fontawesome-svg-core": "^1.2.26",
+ "@fortawesome/free-brands-svg-icons": "^5.13.0",
"@fortawesome/free-regular-svg-icons": "^5.12.0",
"@fortawesome/free-solid-svg-icons": "^5.12.0",
"@fortawesome/vue-fontawesome": "^0.1.9",
diff --git a/frontend/src/business/components/common/head/AboutUs.vue b/frontend/src/business/components/common/head/AboutUs.vue
new file mode 100644
index 0000000000..ab9fa5b498
--- /dev/null
+++ b/frontend/src/business/components/common/head/AboutUs.vue
@@ -0,0 +1,109 @@
+
+
+
+
+
+
+
+
+
+ {{websiteUrl}}
+
+
+
+
+
+
+
+
+
+
+
+
+ {{githubUrl}}
+
+
+
+
+
+
+ 版本:
+ {{version}}
+
+
+
+
+
+
+
+
+
+
diff --git a/frontend/src/business/components/common/head/HeaderUser.vue b/frontend/src/business/components/common/head/HeaderUser.vue
index 6ec894f292..6c07ed5557 100644
--- a/frontend/src/business/components/common/head/HeaderUser.vue
+++ b/frontend/src/business/components/common/head/HeaderUser.vue
@@ -7,16 +7,21 @@
{{$t('commons.personal_information')}}
{{$t('commons.exit_system')}}
+ {{$t('commons.about_us')}}
+
+