diff --git a/frontend/src/business/components/api/definition/components/list/ApiList.vue b/frontend/src/business/components/api/definition/components/list/ApiList.vue
index 000f4a6cb8..9f52e3bf0b 100644
--- a/frontend/src/business/components/api/definition/components/list/ApiList.vue
+++ b/frontend/src/business/components/api/definition/components/list/ApiList.vue
@@ -39,8 +39,9 @@
:label="$t('api_test.definition.api_type')"
show-overflow-tooltip>
-
- {{ scope.row.method}}
+
+ {{ scope.row.method }}
@@ -78,10 +79,10 @@
- 恢复
- {{$t('commons.edit')}}
- {{$t('api_test.definition.request.case')}}
- {{$t('commons.delete')}}
+ 恢复
+ {{ $t('commons.edit') }}
+ {{ $t('api_test.definition.request.case') }}
+ {{ $t('commons.delete') }}
@@ -97,326 +98,325 @@
diff --git a/frontend/src/business/components/api/definition/components/module/ApiModuleHeader.vue b/frontend/src/business/components/api/definition/components/module/ApiModuleHeader.vue
index 27bc01b314..ae018299fd 100644
--- a/frontend/src/business/components/api/definition/components/module/ApiModuleHeader.vue
+++ b/frontend/src/business/components/api/definition/components/module/ApiModuleHeader.vue
@@ -1,123 +1,125 @@
-
-
-
-
-
-
-
-
-
-
- {{$t('api_test.definition.request.title')}}
- {{$t('api_test.definition.request.fast_debug')}}
- {{$t('api_test.api_import.label')}}
- {{$t('report.export')}}
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+ {{ $t('api_test.definition.request.title') }}
+ {{ $t('api_test.definition.request.fast_debug') }}
+ {{ $t('api_test.api_import.label') }}
+ {{ $t('report.export') }}
+
+
+
+
-
+
-
-
-
+
+
+
diff --git a/frontend/src/business/main.js b/frontend/src/business/main.js
index aa30149491..5fa89340c7 100644
--- a/frontend/src/business/main.js
+++ b/frontend/src/business/main.js
@@ -11,7 +11,7 @@ import YanProgress from 'yan-progress';
import './permission' // permission control
import i18n from "../i18n/i18n";
import store from "./store";
-import {permission, roles, xpack} from './permission'
+import {permission, roles, tester, xpack} from './permission'
import chart from "../common/js/chart";
import CalendarHeatmap from "../common/js/calendar-heatmap";
import '../common/css/menu-header.css';
@@ -41,6 +41,8 @@ Vue.directive('roles', roles);
Vue.directive('xpack', xpack);
+Vue.directive('tester', tester);
+
new Vue({
el: '#app',
router,
diff --git a/frontend/src/business/permission.js b/frontend/src/business/permission.js
index c8d98f5bb6..2d9b98d271 100644
--- a/frontend/src/business/permission.js
+++ b/frontend/src/business/permission.js
@@ -1,6 +1,6 @@
import router from './components/common/router/router'
import {TokenKey} from '@/common/js/constants';
-import {hasLicense, hasRolePermissions, hasRoles} from "@/common/js/utils";
+import {checkoutTestManagerOrTestUser, hasLicense, hasRolePermissions, hasRoles} from "@/common/js/utils";
import NProgress from 'nprogress' // progress bar
import 'nprogress/nprogress.css' // progress bar style
const whiteList = ['/login']; // no redirect whitelist
@@ -25,6 +25,20 @@ export const xpack = {
}
};
+export const tester = {
+ inserted(el, binding) {
+ checkTestManagerOrTestUser(el, binding);
+ }
+};
+
+function checkTestManagerOrTestUser(el, binding) {
+ let v = checkoutTestManagerOrTestUser();
+
+ if (!v) {
+ el.parentNode && el.parentNode.removeChild(el)
+ }
+}
+
function checkLicense(el, binding, type) {
let v = hasLicense()