feat(系统设置): 组织管理功能
This commit is contained in:
parent
c65beb3dff
commit
4c914e846b
|
@ -7,8 +7,6 @@ public class UserRoleConstants {
|
|||
public static final String ADMIN = "admin";
|
||||
public static final String ORG_ADMIN = "org_admin";
|
||||
public static final String ORG_MEMBER = "org_member";
|
||||
public static final String WS_ADMIN = "ws_admin";
|
||||
public static final String WS_MEMBER = "ws_member";
|
||||
public static final String PROJECT_ADMIN = "project_admin";
|
||||
public static final String PROJECT_MEMBER = "project_member";
|
||||
}
|
||||
|
|
|
@ -6,15 +6,15 @@ public class OperationLogModule {
|
|||
public static final String SYSTEM_TEST_RESOURCE = "SYSTEM_TEST_RESOURCE";
|
||||
public static final String SYSTEM_TEST_RESOURCE_POOL = "SYSTEM_TEST_RESOURCE_POOL";
|
||||
public static final String SYSTEM_USER = "SYSTEM_USER";
|
||||
public static final String SYSTEM_WORKSPACE = "SYSTEM_WORKSPACE";
|
||||
public static final String WORKSPACE_TEMPLATE_SETTINGS = "WORKSPACE_TEMPLATE_SETTINGS";
|
||||
public static final String WORKSPACE_MESSAGE_SETTINGS = "WORKSPACE_MESSAGE_SETTINGS";
|
||||
public static final String WORKSPACE_TEMPLATE_SETTINGS_FIELD = "WORKSPACE_TEMPLATE_SETTINGS_FIELD";
|
||||
public static final String WORKSPACE_TEMPLATE_SETTINGS_ISSUE = "WORKSPACE_TEMPLATE_SETTINGS_ISSUE";
|
||||
public static final String WORKSPACE_SERVICE_INTEGRATION = "WORKSPACE_SERVICE_INTEGRATION";
|
||||
public static final String WORKSPACE_TEMPLATE_SETTINGS_CASE = "WORKSPACE_TEMPLATE_SETTINGS_CASE";
|
||||
public static final String WORKSPACE_TEMPLATE_SETTINGS_API = "WORKSPACE_TEMPLATE_SETTINGS_API";
|
||||
public static final String WORKSPACE_MEMBER = "WORKSPACE_MEMBER";
|
||||
public static final String SYSTEM_ORGANIZATION = "SYSTEM_ORGANIZATION";
|
||||
public static final String ORGANIZATION_TEMPLATE_SETTINGS = "ORGANIZATION_TEMPLATE_SETTINGS";
|
||||
public static final String ORGANIZATION_MESSAGE_SETTINGS = "ORGANIZATION_MESSAGE_SETTINGS";
|
||||
public static final String ORGANIZATION_TEMPLATE_SETTINGS_FIELD = "ORGANIZATION_TEMPLATE_SETTINGS_FIELD";
|
||||
public static final String ORGANIZATION_TEMPLATE_SETTINGS_ISSUE = "ORGANIZATION_TEMPLATE_SETTINGS_ISSUE";
|
||||
public static final String ORGANIZATION_SERVICE_INTEGRATION = "ORGANIZATION_SERVICE_INTEGRATION";
|
||||
public static final String ORGANIZATION_TEMPLATE_SETTINGS_CASE = "ORGANIZATION_TEMPLATE_SETTINGS_CASE";
|
||||
public static final String ORGANIZATION_TEMPLATE_SETTINGS_API = "ORGANIZATION_TEMPLATE_SETTINGS_API";
|
||||
public static final String ORGANIZATION_MEMBER = "ORGANIZATION_MEMBER";
|
||||
public static final String API_AUTOMATION = "API_AUTOMATION";
|
||||
public static final String API_AUTOMATION_SCHEDULE = "API_AUTOMATION_SCHEDULE";
|
||||
public static final String API_AUTOMATION_REPORT = "API_AUTOMATION_REPORT";
|
||||
|
|
|
@ -13,5 +13,6 @@ public enum OperationLogType {
|
|||
IMPORT,
|
||||
EXPORT,
|
||||
LOGIN,
|
||||
SELECT
|
||||
SELECT,
|
||||
RECOVER
|
||||
}
|
||||
|
|
|
@ -265,14 +265,14 @@ system_parameter_setting=System parameter setting
|
|||
system_quota_management=System Quota management
|
||||
system_authorization_management=System authorization management
|
||||
organization_member=Organization member
|
||||
project_project_member=Project member
|
||||
organization_service_integration=Organization service integration
|
||||
organization_message_settings=Organization message settings
|
||||
organization_template_settings_field=Organization template settings field
|
||||
organization_template_settings_case=Organization template settings case
|
||||
organization_template_settings_bug=Organization template settings bug
|
||||
project_project_manager=Project project manager
|
||||
project_project_jar=Project project jar
|
||||
project_project_manager=Project manager
|
||||
project_project_member=Project member
|
||||
project_project_jar=Project jar
|
||||
project_environment_setting=Project environment setting
|
||||
project_file_management=Project file management
|
||||
personal_information_personal_settings=Personal information personal settings
|
||||
|
|
|
@ -1,389 +1,385 @@
|
|||
#commons
|
||||
error_lang_invalid=语言参数错误
|
||||
file_cannot_be_null=文件不能为空!
|
||||
cannot_be_null=不能为空
|
||||
number=第
|
||||
row=行
|
||||
error=出错
|
||||
delete_fail=删除失败
|
||||
start_engine_fail=启动失败
|
||||
upload_fail=文件上传失败
|
||||
invalid_parameter=非法的参数
|
||||
name_already_exists=该名称已经存在
|
||||
resource_not_exist=资源不存在或已删除
|
||||
upload_file_fail_get_file_path_fail=文件上传失败,获取文件上传路径为空
|
||||
error_lang_invalid=\u8BED\u8A00\u53C2\u6570\u9519\u8BEF
|
||||
file_cannot_be_null=\u6587\u4EF6\u4E0D\u80FD\u4E3A\u7A7A\uFF01
|
||||
cannot_be_null=\u4E0D\u80FD\u4E3A\u7A7A
|
||||
number=\u7B2C
|
||||
row=\u884C
|
||||
error=\u51FA\u9519
|
||||
delete_fail=\u5220\u9664\u5931\u8D25
|
||||
start_engine_fail=\u542F\u52A8\u5931\u8D25
|
||||
upload_fail=\u6587\u4EF6\u4E0A\u4F20\u5931\u8D25
|
||||
invalid_parameter=\u975E\u6CD5\u7684\u53C2\u6570
|
||||
name_already_exists=\u8BE5\u540D\u79F0\u5DF2\u7ECF\u5B58\u5728
|
||||
resource_not_exist=\u8D44\u6E90\u4E0D\u5B58\u5728\u6216\u5DF2\u5220\u9664
|
||||
upload_file_fail_get_file_path_fail=\u6587\u4EF6\u4E0A\u4F20\u5931\u8D25\uFF0C\u83B7\u53D6\u6587\u4EF6\u4E0A\u4F20\u8DEF\u5F84\u4E3A\u7A7A
|
||||
#user related
|
||||
user_email_already_exists=用户邮箱已存在
|
||||
user_id_is_null=用户ID不能为空
|
||||
user_name_is_null=用户名不能为空
|
||||
user_email_is_null=用户邮箱不能为空
|
||||
password_is_null=密码不能为空
|
||||
user_id_already_exists=用户id已存在
|
||||
password_modification_failed=旧密码输入错误,请重新输入
|
||||
cannot_delete_current_user=无法删除当前登录用户
|
||||
connection_failed=连接失败
|
||||
connection_timeout=连接超时
|
||||
user_already_exists=该用户已存在于当前成员列表中
|
||||
cannot_remove_current=无法移除当前登录用户
|
||||
login_fail=登录失败
|
||||
password_is_incorrect=用户名或密码不正确
|
||||
user_not_exist=用户不存在:
|
||||
user_has_been_disabled=用户已被禁用
|
||||
excessive_attempts=操作频繁
|
||||
user_locked=用户被锁定
|
||||
user_expires=用户过期
|
||||
not_authorized=未经授权
|
||||
user_apikey_limit=最多能有5个Api key
|
||||
please_logout_current_user=请先登出当前用户
|
||||
user_email_already_exists=\u7528\u6237\u90AE\u7BB1\u5DF2\u5B58\u5728
|
||||
user_id_is_null=\u7528\u6237ID\u4E0D\u80FD\u4E3A\u7A7A
|
||||
user_name_is_null=\u7528\u6237\u540D\u4E0D\u80FD\u4E3A\u7A7A
|
||||
user_email_is_null=\u7528\u6237\u90AE\u7BB1\u4E0D\u80FD\u4E3A\u7A7A
|
||||
password_is_null=\u5BC6\u7801\u4E0D\u80FD\u4E3A\u7A7A
|
||||
user_id_already_exists=\u7528\u6237id\u5DF2\u5B58\u5728
|
||||
password_modification_failed=\u65E7\u5BC6\u7801\u8F93\u5165\u9519\u8BEF\uFF0C\u8BF7\u91CD\u65B0\u8F93\u5165
|
||||
cannot_delete_current_user=\u65E0\u6CD5\u5220\u9664\u5F53\u524D\u767B\u5F55\u7528\u6237
|
||||
connection_failed=\u8FDE\u63A5\u5931\u8D25
|
||||
connection_timeout=\u8FDE\u63A5\u8D85\u65F6
|
||||
user_already_exists=\u8BE5\u7528\u6237\u5DF2\u5B58\u5728\u4E8E\u5F53\u524D\u6210\u5458\u5217\u8868\u4E2D
|
||||
cannot_remove_current=\u65E0\u6CD5\u79FB\u9664\u5F53\u524D\u767B\u5F55\u7528\u6237
|
||||
login_fail=\u767B\u5F55\u5931\u8D25
|
||||
password_is_incorrect=\u7528\u6237\u540D\u6216\u5BC6\u7801\u4E0D\u6B63\u786E
|
||||
user_not_exist=\u7528\u6237\u4E0D\u5B58\u5728\uFF1A
|
||||
user_has_been_disabled=\u7528\u6237\u5DF2\u88AB\u7981\u7528
|
||||
excessive_attempts=\u64CD\u4F5C\u9891\u7E41
|
||||
user_locked=\u7528\u6237\u88AB\u9501\u5B9A
|
||||
user_expires=\u7528\u6237\u8FC7\u671F
|
||||
not_authorized=\u672A\u7ECF\u6388\u6743
|
||||
user_apikey_limit=\u6700\u591A\u80FD\u67095\u4E2AApi key
|
||||
please_logout_current_user=\u8BF7\u5148\u767B\u51FA\u5F53\u524D\u7528\u6237
|
||||
#load test
|
||||
edit_load_test_not_found=无法编辑测试,未找到测试:
|
||||
run_load_test_not_found=无法运行测试,未找到测试:
|
||||
run_load_test_file_not_found=无法运行测试,无法获取测试文件元信息,测试ID:
|
||||
run_load_test_file_content_not_found=无法运行测试,无法获取测试文件内容,测试ID:
|
||||
run_load_test_file_init_error=无法运行测试,请前往 [系统设置-系统-系统参数设置] 检查当前站点配置,详情见 https://metersphere.io/docs/v2.x/faq/load_test/#url
|
||||
load_test_is_running=测试正在运行, 请等待
|
||||
load_test_kafka_invalid=Kafka 不可用,请检查配置
|
||||
cannot_edit_load_test_running=不能修改正在运行的测试
|
||||
test_not_found=测试不存在:
|
||||
test_not_running=测试未运行
|
||||
load_test_already_exists=测试名称不能重复
|
||||
load_test_name_length=测试名称长度超过限制
|
||||
no_nodes_message=没有节点信息
|
||||
duplicate_node_ip=节点 IP 重复
|
||||
duplicate_node_port=节点 Port 重复
|
||||
duplicate_node_ip_port=节点 IP、Port 重复
|
||||
max_thread_insufficient=并发用户数超额
|
||||
related_case_del_fail_prefix=已关联到
|
||||
related_case_del_fail_suffix=测试用例,请先解除关联
|
||||
jmx_content_valid=JMX 内容无效,请检查
|
||||
container_delete_fail=容器由于网络原因停止失败,请重试
|
||||
load_test_report_file_not_exist=当前报告没有JTL文件,请等待或重新执行以便获取
|
||||
|
||||
organization_not_exists=工作空间不存在
|
||||
#test resource pool
|
||||
test_resource_pool_id_is_null=资源池ID不能为空
|
||||
test_resource_pool_name_is_null=资源池名称不能为空
|
||||
test_resource_pool_name_already_exists=资源池名称已存在
|
||||
test_resource_pool_type_is_null=资源池类型不能为空
|
||||
|
||||
load_test=性能测试
|
||||
test_resource_pool_is_use=正在使用此资源池,无法删除
|
||||
only_one_k8s=只能添加一个 K8S
|
||||
test_resource_pool_not_exists=测试资源池不存在
|
||||
test_resource_pool_invalid=当前测试使用的资源池处于禁用状态
|
||||
#project
|
||||
project_name_is_null=项目名称不能为空
|
||||
project_name_already_exists=项目名称已存在
|
||||
project_file_already_exists=项目下该文件已经存在
|
||||
project_file_in_use=占用文件,无法删除。
|
||||
edit_load_test_not_found=\u65E0\u6CD5\u7F16\u8F91\u6D4B\u8BD5\uFF0C\u672A\u627E\u5230\u6D4B\u8BD5\uFF1A
|
||||
run_load_test_not_found=\u65E0\u6CD5\u8FD0\u884C\u6D4B\u8BD5\uFF0C\u672A\u627E\u5230\u6D4B\u8BD5\uFF1A
|
||||
run_load_test_file_not_found=\u65E0\u6CD5\u8FD0\u884C\u6D4B\u8BD5\uFF0C\u65E0\u6CD5\u83B7\u53D6\u6D4B\u8BD5\u6587\u4EF6\u5143\u4FE1\u606F\uFF0C\u6D4B\u8BD5ID\uFF1A
|
||||
run_load_test_file_content_not_found=\u65E0\u6CD5\u8FD0\u884C\u6D4B\u8BD5\uFF0C\u65E0\u6CD5\u83B7\u53D6\u6D4B\u8BD5\u6587\u4EF6\u5185\u5BB9\uFF0C\u6D4B\u8BD5ID\uFF1A
|
||||
run_load_test_file_init_error=\u65E0\u6CD5\u8FD0\u884C\u6D4B\u8BD5\uFF0C\u8BF7\u524D\u5F80 [\u7CFB\u7EDF\u8BBE\u7F6E-\u7CFB\u7EDF-\u7CFB\u7EDF\u53C2\u6570\u8BBE\u7F6E] \u68C0\u67E5\u5F53\u524D\u7AD9\u70B9\u914D\u7F6E\uFF0C\u8BE6\u60C5\u89C1 https://metersphere.io/docs/v2.x/faq/load_test/#url
|
||||
load_test_is_running=\u6D4B\u8BD5\u6B63\u5728\u8FD0\u884C, \u8BF7\u7B49\u5F85
|
||||
load_test_kafka_invalid=Kafka \u4E0D\u53EF\u7528\uFF0C\u8BF7\u68C0\u67E5\u914D\u7F6E
|
||||
cannot_edit_load_test_running=\u4E0D\u80FD\u4FEE\u6539\u6B63\u5728\u8FD0\u884C\u7684\u6D4B\u8BD5
|
||||
test_not_found=\u6D4B\u8BD5\u4E0D\u5B58\u5728:
|
||||
test_not_running=\u6D4B\u8BD5\u672A\u8FD0\u884C
|
||||
load_test_already_exists=\u6D4B\u8BD5\u540D\u79F0\u4E0D\u80FD\u91CD\u590D
|
||||
load_test_name_length=\u6D4B\u8BD5\u540D\u79F0\u957F\u5EA6\u8D85\u8FC7\u9650\u5236
|
||||
no_nodes_message=\u6CA1\u6709\u8282\u70B9\u4FE1\u606F
|
||||
duplicate_node_ip=\u8282\u70B9 IP \u91CD\u590D
|
||||
duplicate_node_port=\u8282\u70B9 Port \u91CD\u590D
|
||||
duplicate_node_ip_port=\u8282\u70B9 IP\u3001Port \u91CD\u590D
|
||||
max_thread_insufficient=\u5E76\u53D1\u7528\u6237\u6570\u8D85\u989D
|
||||
related_case_del_fail_prefix=\u5DF2\u5173\u8054\u5230
|
||||
related_case_del_fail_suffix=\u6D4B\u8BD5\u7528\u4F8B\uFF0C\u8BF7\u5148\u89E3\u9664\u5173\u8054
|
||||
jmx_content_valid=JMX \u5185\u5BB9\u65E0\u6548\uFF0C\u8BF7\u68C0\u67E5
|
||||
container_delete_fail=\u5BB9\u5668\u7531\u4E8E\u7F51\u7EDC\u539F\u56E0\u505C\u6B62\u5931\u8D25\uFF0C\u8BF7\u91CD\u8BD5
|
||||
load_test_report_file_not_exist=\u5F53\u524D\u62A5\u544A\u6CA1\u6709JTL\u6587\u4EF6\uFF0C\u8BF7\u7B49\u5F85\u6216\u91CD\u65B0\u6267\u884C\u4EE5\u4FBF\u83B7\u53D6
|
||||
#organization
|
||||
organization_name_is_null=组织名不能为空
|
||||
organization_name_already_exists=组织名已存在
|
||||
organization_does_not_belong_to_user=当前组织不属于当前用户
|
||||
organization_id_is_null=组织 ID 不能为空
|
||||
organization_default_not_exists=默认组织不存在
|
||||
organization_not_exists=\u7EC4\u7EC7\u4E0D\u5B58\u5728
|
||||
#test resource pool
|
||||
test_resource_pool_id_is_null=\u8D44\u6E90\u6C60ID\u4E0D\u80FD\u4E3A\u7A7A
|
||||
test_resource_pool_name_is_null=\u8D44\u6E90\u6C60\u540D\u79F0\u4E0D\u80FD\u4E3A\u7A7A
|
||||
test_resource_pool_name_already_exists=\u8D44\u6E90\u6C60\u540D\u79F0\u5DF2\u5B58\u5728
|
||||
test_resource_pool_type_is_null=\u8D44\u6E90\u6C60\u7C7B\u578B\u4E0D\u80FD\u4E3A\u7A7A
|
||||
|
||||
load_test=\u6027\u80FD\u6D4B\u8BD5
|
||||
test_resource_pool_is_use=\u6B63\u5728\u4F7F\u7528\u6B64\u8D44\u6E90\u6C60\uFF0C\u65E0\u6CD5\u5220\u9664
|
||||
only_one_k8s=\u53EA\u80FD\u6DFB\u52A0\u4E00\u4E2A K8S
|
||||
test_resource_pool_not_exists=\u6D4B\u8BD5\u8D44\u6E90\u6C60\u4E0D\u5B58\u5728
|
||||
test_resource_pool_invalid=\u5F53\u524D\u6D4B\u8BD5\u4F7F\u7528\u7684\u8D44\u6E90\u6C60\u5904\u4E8E\u7981\u7528\u72B6\u6001
|
||||
#project
|
||||
project_name_is_null=\u9879\u76EE\u540D\u79F0\u4E0D\u80FD\u4E3A\u7A7A
|
||||
project_name_already_exists=\u9879\u76EE\u540D\u79F0\u5DF2\u5B58\u5728
|
||||
project_file_already_exists=\u9879\u76EE\u4E0B\u8BE5\u6587\u4EF6\u5DF2\u7ECF\u5B58\u5728
|
||||
project_file_in_use=\u5360\u7528\u6587\u4EF6\uFF0C\u65E0\u6CD5\u5220\u9664\u3002
|
||||
#organization
|
||||
organization_name_is_null=\u7EC4\u7EC7\u540D\u4E0D\u80FD\u4E3A\u7A7A
|
||||
organization_name_already_exists=\u7EC4\u7EC7\u540D\u5DF2\u5B58\u5728
|
||||
organization_does_not_belong_to_user=\u5F53\u524D\u7EC4\u7EC7\u4E0D\u5C5E\u4E8E\u5F53\u524D\u7528\u6237
|
||||
organization_id_is_null=\u7EC4\u7EC7 ID \u4E0D\u80FD\u4E3A\u7A7A
|
||||
organization_default_not_exists=\u9ED8\u8BA4\u7EC4\u7EC7\u4E0D\u5B58\u5728
|
||||
#api
|
||||
api_load_script_error=读取脚本失败
|
||||
illegal_xml_format=不合法的 XML 格式
|
||||
api_report_is_null="测试报告是未生成,无法更新"
|
||||
api_test_environment_already_exists="已存在该名称的环境配置"
|
||||
api_test=接口测试
|
||||
api_load_script_error=\u8BFB\u53D6\u811A\u672C\u5931\u8D25
|
||||
illegal_xml_format=\u4E0D\u5408\u6CD5\u7684 XML \u683C\u5F0F
|
||||
api_report_is_null="\u6D4B\u8BD5\u62A5\u544A\u662F\u672A\u751F\u6210\uFF0C\u65E0\u6CD5\u66F4\u65B0"
|
||||
api_test_environment_already_exists="\u5DF2\u5B58\u5728\u8BE5\u540D\u79F0\u7684\u73AF\u5883\u914D\u7F6E"
|
||||
api_test=\u63A5\u53E3\u6D4B\u8BD5
|
||||
#test case
|
||||
test_case_node_level=层
|
||||
test_case_node_level_tip=模块树最大深度为
|
||||
test_case_module_not_null=所属模块不能为空
|
||||
test_case_create_module_fail=创建模块失败
|
||||
test_case_import_template_name=测试用例模版
|
||||
test_case_import_template_sheet=模版
|
||||
module_not_null=所属模块不能为空格
|
||||
user_not_exists=该项目下无该用户
|
||||
test_case_already_exists=该项目下已存在该测试用例
|
||||
parse_data_error=解析数据出错
|
||||
missing_header_information=缺少头部信息
|
||||
test_case_exist=该项目下已存在用例:
|
||||
node_deep_limit=节点深度不超过8层!
|
||||
before_delete_plan=该计划下存在关联测试用例,请先取消关联!
|
||||
incorrect_format=格式错误
|
||||
test_case_step_model_validate=必须为TEXT、STEP
|
||||
test_case_priority_validate=必须为P0、P1、P2、P3
|
||||
test_case_method_validate=必须为manual、auto
|
||||
test_case_name=用例名称
|
||||
test_case_type=用例类型
|
||||
test_case_maintainer=维护人
|
||||
test_case_priority=用例等级
|
||||
test_case_method=测试方式
|
||||
test_case_prerequisite=前置条件
|
||||
test_case_remark=备注
|
||||
test_case_step_desc=步骤描述
|
||||
test_case_step_result=预期结果
|
||||
test_case_module=所属模块
|
||||
test_case=功能用例
|
||||
user=用户
|
||||
user_import_template_name=用户导入模板
|
||||
user_import_template_sheet=模版
|
||||
user_import_format_wrong=格式错误
|
||||
user_import_id_is_repeat=ID重复
|
||||
user_import_email_is_repeat=E-mail重复
|
||||
user_import_password_format_wrong=密码格式错误
|
||||
user_import_phone_format_wrong=手机号码格式错误
|
||||
user_import_email_format_wrong=电子邮箱格式错误
|
||||
user_import_organization_not_fond=组织未找到
|
||||
user_import_organization_not_fond=工作空间未找到
|
||||
org_admin=组织管理员
|
||||
org_member=组织成员
|
||||
test_manager=测试经理
|
||||
tester=测试成员
|
||||
read_only_user=只读用户
|
||||
module=模块
|
||||
num_needed_modify_testcase=修改用例时ID必填
|
||||
num_needless_create_testcase=创建用例时无需ID
|
||||
tag_tip_pattern=标签之间以分号或者逗号隔开
|
||||
preconditions_optional=前置条件选填
|
||||
remark_optional=备注选填
|
||||
do_not_modify_header_order=请勿修改表头顺序
|
||||
module_created_automatically=若无该模块将自动创建
|
||||
options=选项
|
||||
options_yes=是
|
||||
options_no=否
|
||||
required=必填
|
||||
password_format_is_incorrect=有效密码:8-30位,英文大小写字母+数字+特殊字符(可选)
|
||||
please_input_project_member=请填写该项目下的相关人员ID
|
||||
test_case_report_template_repeat=同一工作空间下不能存在同名模版
|
||||
plan_name_already_exists=测试计划名称已存在
|
||||
test_case_already_exists_excel=文件中存在多条相同用例
|
||||
test_case_module_already_exists=同层级下已存在该模块名称
|
||||
api_test_name_already_exists=测试名称已经存在
|
||||
functional_method_tip=功能测试不支持自动方式
|
||||
custom_num_is_exist=用例自定义ID已存在
|
||||
custom_num_is_not_exist=用例自定义ID不存在
|
||||
id_required=ID必填
|
||||
id_repeat_in_table=表格内ID重复
|
||||
step_model_tip=步骤描述填写 STEP,文本描述请填写 TEXT (非必填)
|
||||
case_status_not_exist=用例状态必须为未开始(Prepare)、进行中(Underway)、已完成(Completed)
|
||||
issue_project_not_exist=ID不存在或其它错误
|
||||
tapd_project_not_exist=关联的TAPD项目ID不存在
|
||||
zentao_get_project_builds_fail=获取影响版本错误
|
||||
zentao_project_id_not_exist=关联的禅道ID不存在或其它错误
|
||||
test_case_node_level=\u5C42
|
||||
test_case_node_level_tip=\u6A21\u5757\u6811\u6700\u5927\u6DF1\u5EA6\u4E3A
|
||||
test_case_module_not_null=\u6240\u5C5E\u6A21\u5757\u4E0D\u80FD\u4E3A\u7A7A
|
||||
test_case_create_module_fail=\u521B\u5EFA\u6A21\u5757\u5931\u8D25
|
||||
test_case_import_template_name=\u6D4B\u8BD5\u7528\u4F8B\u6A21\u7248
|
||||
test_case_import_template_sheet=\u6A21\u7248
|
||||
module_not_null=\u6240\u5C5E\u6A21\u5757\u4E0D\u80FD\u4E3A\u7A7A\u683C
|
||||
user_not_exists=\u8BE5\u9879\u76EE\u4E0B\u65E0\u8BE5\u7528\u6237
|
||||
test_case_already_exists=\u8BE5\u9879\u76EE\u4E0B\u5DF2\u5B58\u5728\u8BE5\u6D4B\u8BD5\u7528\u4F8B
|
||||
parse_data_error=\u89E3\u6790\u6570\u636E\u51FA\u9519
|
||||
missing_header_information=\u7F3A\u5C11\u5934\u90E8\u4FE1\u606F
|
||||
test_case_exist=\u8BE5\u9879\u76EE\u4E0B\u5DF2\u5B58\u5728\u7528\u4F8B\uFF1A
|
||||
node_deep_limit=\u8282\u70B9\u6DF1\u5EA6\u4E0D\u8D85\u8FC78\u5C42\uFF01
|
||||
before_delete_plan=\u8BE5\u8BA1\u5212\u4E0B\u5B58\u5728\u5173\u8054\u6D4B\u8BD5\u7528\u4F8B\uFF0C\u8BF7\u5148\u53D6\u6D88\u5173\u8054\uFF01
|
||||
incorrect_format=\u683C\u5F0F\u9519\u8BEF
|
||||
test_case_step_model_validate=\u5FC5\u987B\u4E3ATEXT\u3001STEP
|
||||
test_case_priority_validate=\u5FC5\u987B\u4E3AP0\u3001P1\u3001P2\u3001P3
|
||||
test_case_method_validate=\u5FC5\u987B\u4E3Amanual\u3001auto
|
||||
test_case_name=\u7528\u4F8B\u540D\u79F0
|
||||
test_case_type=\u7528\u4F8B\u7C7B\u578B
|
||||
test_case_maintainer=\u7EF4\u62A4\u4EBA
|
||||
test_case_priority=\u7528\u4F8B\u7B49\u7EA7
|
||||
test_case_method=\u6D4B\u8BD5\u65B9\u5F0F
|
||||
test_case_prerequisite=\u524D\u7F6E\u6761\u4EF6
|
||||
test_case_remark=\u5907\u6CE8
|
||||
test_case_step_desc=\u6B65\u9AA4\u63CF\u8FF0
|
||||
test_case_step_result=\u9884\u671F\u7ED3\u679C
|
||||
test_case_module=\u6240\u5C5E\u6A21\u5757
|
||||
test_case=\u529F\u80FD\u7528\u4F8B
|
||||
user=\u7528\u6237
|
||||
user_import_template_name=\u7528\u6237\u5BFC\u5165\u6A21\u677F
|
||||
user_import_template_sheet=\u6A21\u7248
|
||||
user_import_format_wrong=\u683C\u5F0F\u9519\u8BEF
|
||||
user_import_id_is_repeat=ID\u91CD\u590D
|
||||
user_import_email_is_repeat=E-mail\u91CD\u590D
|
||||
user_import_password_format_wrong=\u5BC6\u7801\u683C\u5F0F\u9519\u8BEF
|
||||
user_import_phone_format_wrong=\u624B\u673A\u53F7\u7801\u683C\u5F0F\u9519\u8BEF
|
||||
user_import_email_format_wrong=\u7535\u5B50\u90AE\u7BB1\u683C\u5F0F\u9519\u8BEF
|
||||
user_import_organization_not_fond=\u7EC4\u7EC7\u672A\u627E\u5230
|
||||
org_admin=\u7EC4\u7EC7\u7BA1\u7406\u5458
|
||||
org_member=\u7EC4\u7EC7\u6210\u5458
|
||||
test_manager=\u6D4B\u8BD5\u7ECF\u7406
|
||||
tester=\u6D4B\u8BD5\u6210\u5458
|
||||
read_only_user=\u53EA\u8BFB\u7528\u6237
|
||||
module=\u6A21\u5757
|
||||
num_needed_modify_testcase=\u4FEE\u6539\u7528\u4F8B\u65F6ID\u5FC5\u586B
|
||||
num_needless_create_testcase=\u521B\u5EFA\u7528\u4F8B\u65F6\u65E0\u9700ID
|
||||
tag_tip_pattern=\u6807\u7B7E\u4E4B\u95F4\u4EE5\u5206\u53F7\u6216\u8005\u9017\u53F7\u9694\u5F00
|
||||
preconditions_optional=\u524D\u7F6E\u6761\u4EF6\u9009\u586B
|
||||
remark_optional=\u5907\u6CE8\u9009\u586B
|
||||
do_not_modify_header_order=\u8BF7\u52FF\u4FEE\u6539\u8868\u5934\u987A\u5E8F
|
||||
module_created_automatically=\u82E5\u65E0\u8BE5\u6A21\u5757\u5C06\u81EA\u52A8\u521B\u5EFA
|
||||
options=\u9009\u9879
|
||||
options_yes=\u662F
|
||||
options_no=\u5426
|
||||
required=\u5FC5\u586B
|
||||
password_format_is_incorrect=\u6709\u6548\u5BC6\u7801\uFF1A8-30\u4F4D\uFF0C\u82F1\u6587\u5927\u5C0F\u5199\u5B57\u6BCD+\u6570\u5B57+\u7279\u6B8A\u5B57\u7B26\uFF08\u53EF\u9009\uFF09
|
||||
please_input_project_member=\u8BF7\u586B\u5199\u8BE5\u9879\u76EE\u4E0B\u7684\u76F8\u5173\u4EBA\u5458ID
|
||||
test_case_report_template_repeat=\u540C\u4E00\u7EC4\u7EC7\u4E0B\u4E0D\u80FD\u5B58\u5728\u540C\u540D\u6A21\u7248
|
||||
plan_name_already_exists=\u6D4B\u8BD5\u8BA1\u5212\u540D\u79F0\u5DF2\u5B58\u5728
|
||||
test_case_already_exists_excel=\u6587\u4EF6\u4E2D\u5B58\u5728\u591A\u6761\u76F8\u540C\u7528\u4F8B
|
||||
test_case_module_already_exists=\u540C\u5C42\u7EA7\u4E0B\u5DF2\u5B58\u5728\u8BE5\u6A21\u5757\u540D\u79F0
|
||||
api_test_name_already_exists=\u6D4B\u8BD5\u540D\u79F0\u5DF2\u7ECF\u5B58\u5728
|
||||
functional_method_tip=\u529F\u80FD\u6D4B\u8BD5\u4E0D\u652F\u6301\u81EA\u52A8\u65B9\u5F0F
|
||||
custom_num_is_exist=\u7528\u4F8B\u81EA\u5B9A\u4E49ID\u5DF2\u5B58\u5728
|
||||
custom_num_is_not_exist=\u7528\u4F8B\u81EA\u5B9A\u4E49ID\u4E0D\u5B58\u5728
|
||||
id_required=ID\u5FC5\u586B
|
||||
id_repeat_in_table=\u8868\u683C\u5185ID\u91CD\u590D
|
||||
step_model_tip=\u6B65\u9AA4\u63CF\u8FF0\u586B\u5199 STEP,\u6587\u672C\u63CF\u8FF0\u8BF7\u586B\u5199 TEXT (\u975E\u5FC5\u586B)
|
||||
case_status_not_exist=\u7528\u4F8B\u72B6\u6001\u5FC5\u987B\u4E3A\u672A\u5F00\u59CB(Prepare)\u3001\u8FDB\u884C\u4E2D(Underway)\u3001\u5DF2\u5B8C\u6210(Completed)
|
||||
issue_project_not_exist=ID\u4E0D\u5B58\u5728\u6216\u5176\u5B83\u9519\u8BEF
|
||||
tapd_project_not_exist=\u5173\u8054\u7684TAPD\u9879\u76EEID\u4E0D\u5B58\u5728
|
||||
zentao_get_project_builds_fail=\u83B7\u53D6\u5F71\u54CD\u7248\u672C\u9519\u8BEF
|
||||
zentao_project_id_not_exist=\u5173\u8054\u7684\u7985\u9053ID\u4E0D\u5B58\u5728\u6216\u5176\u5B83\u9519\u8BEF
|
||||
#ldap
|
||||
ldap_url_is_null=LDAP地址为空
|
||||
ldap_dn_is_null=LDAP绑定DN为空
|
||||
ldap_ou_is_null=LDAP参数OU为空
|
||||
ldap_password_is_null=LDAP密码为空
|
||||
ldap_connect_fail=连接LDAP失败
|
||||
ldap_connect_fail_user=连接LDAP失败,绑定的DN或密码错误
|
||||
ldap_user_filter_is_null=LDAP用户过滤器为空
|
||||
ldap_user_mapping_is_null=LDAP用户属性映射为空
|
||||
authentication_failed=用户认证失败,用户名或密码错误
|
||||
user_not_found_or_not_unique=用户不存在或者不唯一
|
||||
find_more_user=查找到多个用户
|
||||
ldap_authentication_not_enabled=LDAP认证未启用
|
||||
login_fail_email_null=登录失败,用户邮箱为空
|
||||
login_fail_ou_error=登录失败,请检查用户OU
|
||||
login_fail_filter_error=登录失败,请检查用户过滤器
|
||||
check_ldap_mapping=检查LDAP属性映射
|
||||
ldap_mapping_value_null=LDAP用户属性映射字段为空值
|
||||
oauth_mapping_config_error=OAuth2属性映射配置错误
|
||||
oauth_mapping_value_null=OAuth2用户属性映射字段为空值
|
||||
ldap_url_is_null=LDAP\u5730\u5740\u4E3A\u7A7A
|
||||
ldap_dn_is_null=LDAP\u7ED1\u5B9ADN\u4E3A\u7A7A
|
||||
ldap_ou_is_null=LDAP\u53C2\u6570OU\u4E3A\u7A7A
|
||||
ldap_password_is_null=LDAP\u5BC6\u7801\u4E3A\u7A7A
|
||||
ldap_connect_fail=\u8FDE\u63A5LDAP\u5931\u8D25
|
||||
ldap_connect_fail_user=\u8FDE\u63A5LDAP\u5931\u8D25\uFF0C\u7ED1\u5B9A\u7684DN\u6216\u5BC6\u7801\u9519\u8BEF
|
||||
ldap_user_filter_is_null=LDAP\u7528\u6237\u8FC7\u6EE4\u5668\u4E3A\u7A7A
|
||||
ldap_user_mapping_is_null=LDAP\u7528\u6237\u5C5E\u6027\u6620\u5C04\u4E3A\u7A7A
|
||||
authentication_failed=\u7528\u6237\u8BA4\u8BC1\u5931\u8D25,\u7528\u6237\u540D\u6216\u5BC6\u7801\u9519\u8BEF
|
||||
user_not_found_or_not_unique=\u7528\u6237\u4E0D\u5B58\u5728\u6216\u8005\u4E0D\u552F\u4E00
|
||||
find_more_user=\u67E5\u627E\u5230\u591A\u4E2A\u7528\u6237
|
||||
ldap_authentication_not_enabled=LDAP\u8BA4\u8BC1\u672A\u542F\u7528
|
||||
login_fail_email_null=\u767B\u5F55\u5931\u8D25\uFF0C\u7528\u6237\u90AE\u7BB1\u4E3A\u7A7A
|
||||
login_fail_ou_error=\u767B\u5F55\u5931\u8D25\uFF0C\u8BF7\u68C0\u67E5\u7528\u6237OU
|
||||
login_fail_filter_error=\u767B\u5F55\u5931\u8D25\uFF0C\u8BF7\u68C0\u67E5\u7528\u6237\u8FC7\u6EE4\u5668
|
||||
check_ldap_mapping=\u68C0\u67E5LDAP\u5C5E\u6027\u6620\u5C04
|
||||
ldap_mapping_value_null=LDAP\u7528\u6237\u5C5E\u6027\u6620\u5C04\u5B57\u6BB5\u4E3A\u7A7A\u503C
|
||||
oauth_mapping_config_error=OAuth2\u5C5E\u6027\u6620\u5C04\u914D\u7F6E\u9519\u8BEF
|
||||
oauth_mapping_value_null=OAuth2\u7528\u6237\u5C5E\u6027\u6620\u5C04\u5B57\u6BB5\u4E3A\u7A7A\u503C
|
||||
#quota
|
||||
quota_project_excess_ws_api=项目的接口测试数量总和不能超过工作空间的配额
|
||||
quota_project_excess_ws_performance=项目的性能测试数量总和不能超过工作空间的配额
|
||||
quota_project_excess_ws_max_threads=项目的最大并发数不能超过工作空间的配额
|
||||
quota_project_excess_ws_max_duration=项目的压测时长不能超过工作空间的配额
|
||||
quota_project_excess_ws_resource_pool=项目的资源池不能超过工作空间的资源池范围
|
||||
quota_project_excess_ws_vum_total=项目的总vum数量总和不能超过工作空间配额
|
||||
quota_vum_used_gt_vum_total=总vum数量不能小于已消耗的vum数量
|
||||
quota_api_excess_organization=接口测试数量超过工作空间限额
|
||||
quota_api_excess_project=接口测试数量超过项目限额
|
||||
quota_performance_excess_organization=性能测试数量超过工作空间限额
|
||||
quota_performance_excess_project=性能测试数量超过项目限额
|
||||
quota_max_threads_excess_organization=最大并发数超过工作空间限额
|
||||
quota_max_threads_excess_project=最大并发数超过项目限额
|
||||
quota_duration_excess_organization=压测时长超过工作空间限额
|
||||
quota_duration_excess_project=压测时长超过项目限额
|
||||
quota_member_excess_organization=成员数超过工作空间配额
|
||||
quota_member_excess_project=成员数超过项目配额
|
||||
quota_project_excess_project=项目数超过工作空间配额
|
||||
quota_vum_used_excess_organization=消耗的vum数量超过工作空间配额
|
||||
quota_vum_used_excess_project=消耗的vum数量超过项目配额
|
||||
import_xmind_count_error=思维导图导入用例数量不能超过 800 条
|
||||
license_valid_license_error=授权认证失败
|
||||
import_xmind_not_found=未找到测试用例
|
||||
test_review_task_notice=测试评审任务通知
|
||||
swagger_url_scheduled_import_notification=swagger_url定时导入通知
|
||||
test_track.length_less_than=标题过长,字数必须小于
|
||||
quota_project_excess_ws_api=\u9879\u76EE\u7684\u63A5\u53E3\u6D4B\u8BD5\u6570\u91CF\u603B\u548C\u4E0D\u80FD\u8D85\u8FC7\u7EC4\u7EC7\u7684\u914D\u989D
|
||||
quota_project_excess_ws_performance=\u9879\u76EE\u7684\u6027\u80FD\u6D4B\u8BD5\u6570\u91CF\u603B\u548C\u4E0D\u80FD\u8D85\u8FC7\u7EC4\u7EC7\u7684\u914D\u989D
|
||||
quota_project_excess_ws_max_threads=\u9879\u76EE\u7684\u6700\u5927\u5E76\u53D1\u6570\u4E0D\u80FD\u8D85\u8FC7\u7EC4\u7EC7\u7684\u914D\u989D
|
||||
quota_project_excess_ws_max_duration=\u9879\u76EE\u7684\u538B\u6D4B\u65F6\u957F\u4E0D\u80FD\u8D85\u8FC7\u7EC4\u7EC7\u7684\u914D\u989D
|
||||
quota_project_excess_ws_resource_pool=\u9879\u76EE\u7684\u8D44\u6E90\u6C60\u4E0D\u80FD\u8D85\u8FC7\u7EC4\u7EC7\u7684\u8D44\u6E90\u6C60\u8303\u56F4
|
||||
quota_project_excess_ws_vum_total=\u9879\u76EE\u7684\u603Bvum\u6570\u91CF\u603B\u548C\u4E0D\u80FD\u8D85\u8FC7\u7EC4\u7EC7\u914D\u989D
|
||||
quota_vum_used_gt_vum_total=\u603Bvum\u6570\u91CF\u4E0D\u80FD\u5C0F\u4E8E\u5DF2\u6D88\u8017\u7684vum\u6570\u91CF
|
||||
quota_api_excess_organization=\u63A5\u53E3\u6D4B\u8BD5\u6570\u91CF\u8D85\u8FC7\u7EC4\u7EC7\u9650\u989D
|
||||
quota_api_excess_project=\u63A5\u53E3\u6D4B\u8BD5\u6570\u91CF\u8D85\u8FC7\u9879\u76EE\u9650\u989D
|
||||
quota_performance_excess_organization=\u6027\u80FD\u6D4B\u8BD5\u6570\u91CF\u8D85\u8FC7\u7EC4\u7EC7\u9650\u989D
|
||||
quota_performance_excess_project=\u6027\u80FD\u6D4B\u8BD5\u6570\u91CF\u8D85\u8FC7\u9879\u76EE\u9650\u989D
|
||||
quota_max_threads_excess_organization=\u6700\u5927\u5E76\u53D1\u6570\u8D85\u8FC7\u7EC4\u7EC7\u9650\u989D
|
||||
quota_max_threads_excess_project=\u6700\u5927\u5E76\u53D1\u6570\u8D85\u8FC7\u9879\u76EE\u9650\u989D
|
||||
quota_duration_excess_organization=\u538B\u6D4B\u65F6\u957F\u8D85\u8FC7\u7EC4\u7EC7\u9650\u989D
|
||||
quota_duration_excess_project=\u538B\u6D4B\u65F6\u957F\u8D85\u8FC7\u9879\u76EE\u9650\u989D
|
||||
quota_member_excess_organization=\u6210\u5458\u6570\u8D85\u8FC7\u7EC4\u7EC7\u914D\u989D
|
||||
quota_member_excess_project=\u6210\u5458\u6570\u8D85\u8FC7\u9879\u76EE\u914D\u989D
|
||||
quota_project_excess_project=\u9879\u76EE\u6570\u8D85\u8FC7\u7EC4\u7EC7\u914D\u989D
|
||||
quota_vum_used_excess_organization=\u6D88\u8017\u7684vum\u6570\u91CF\u8D85\u8FC7\u7EC4\u7EC7\u914D\u989D
|
||||
quota_vum_used_excess_project=\u6D88\u8017\u7684vum\u6570\u91CF\u8D85\u8FC7\u9879\u76EE\u914D\u989D
|
||||
import_xmind_count_error=\u601D\u7EF4\u5BFC\u56FE\u5BFC\u5165\u7528\u4F8B\u6570\u91CF\u4E0D\u80FD\u8D85\u8FC7 800 \u6761
|
||||
license_valid_license_error=\u6388\u6743\u8BA4\u8BC1\u5931\u8D25
|
||||
import_xmind_not_found=\u672A\u627E\u5230\u6D4B\u8BD5\u7528\u4F8B
|
||||
test_review_task_notice=\u6D4B\u8BD5\u8BC4\u5BA1\u4EFB\u52A1\u901A\u77E5
|
||||
swagger_url_scheduled_import_notification=swagger_url\u5B9A\u65F6\u5BFC\u5165\u901A\u77E5
|
||||
test_track.length_less_than=\u6807\u9898\u8FC7\u957F\uFF0C\u5B57\u6570\u5FC5\u987B\u5C0F\u4E8E
|
||||
# check owner
|
||||
check_owner_project=当前用户没有操作此项目的权限
|
||||
check_owner_test=当前用户没有操作此测试的权限
|
||||
check_owner_case=当前用户没有操作此用例的权限
|
||||
check_owner_plan=当前用户没有操作此计划的权限
|
||||
check_owner_review=当前用户没有操作此评审的权限
|
||||
check_owner_comment=当前用户没有操作此评论的权限
|
||||
check_owner_organization=当前用户没有操作此工作空间的权限
|
||||
upload_content_is_null=导入内容为空
|
||||
test_plan_notification=测试计划通知
|
||||
task_defect_notification=缺陷任务通知
|
||||
task_notification_=定时任务结果通知
|
||||
api_definition_url_not_repeating=接口请求地址已经存在
|
||||
api_definition_name_not_repeating=相同的名称-url组合已存在
|
||||
task_notification_jenkins=jenkins任务通知
|
||||
task_notification=任务通知
|
||||
message_task_already_exists=任务接收人已经存在
|
||||
check_owner_project=\u5F53\u524D\u7528\u6237\u6CA1\u6709\u64CD\u4F5C\u6B64\u9879\u76EE\u7684\u6743\u9650
|
||||
check_owner_test=\u5F53\u524D\u7528\u6237\u6CA1\u6709\u64CD\u4F5C\u6B64\u6D4B\u8BD5\u7684\u6743\u9650
|
||||
check_owner_case=\u5F53\u524D\u7528\u6237\u6CA1\u6709\u64CD\u4F5C\u6B64\u7528\u4F8B\u7684\u6743\u9650
|
||||
check_owner_plan=\u5F53\u524D\u7528\u6237\u6CA1\u6709\u64CD\u4F5C\u6B64\u8BA1\u5212\u7684\u6743\u9650
|
||||
check_owner_review=\u5F53\u524D\u7528\u6237\u6CA1\u6709\u64CD\u4F5C\u6B64\u8BC4\u5BA1\u7684\u6743\u9650
|
||||
check_owner_comment=\u5F53\u524D\u7528\u6237\u6CA1\u6709\u64CD\u4F5C\u6B64\u8BC4\u8BBA\u7684\u6743\u9650
|
||||
check_owner_organization=\u5F53\u524D\u7528\u6237\u6CA1\u6709\u64CD\u4F5C\u6B64\u7EC4\u7EC7\u7684\u6743\u9650
|
||||
upload_content_is_null=\u5BFC\u5165\u5185\u5BB9\u4E3A\u7A7A
|
||||
test_plan_notification=\u6D4B\u8BD5\u8BA1\u5212\u901A\u77E5
|
||||
task_defect_notification=\u7F3A\u9677\u4EFB\u52A1\u901A\u77E5
|
||||
task_notification_=\u5B9A\u65F6\u4EFB\u52A1\u7ED3\u679C\u901A\u77E5
|
||||
api_definition_url_not_repeating=\u63A5\u53E3\u8BF7\u6C42\u5730\u5740\u5DF2\u7ECF\u5B58\u5728
|
||||
api_definition_name_not_repeating=\u76F8\u540C\u7684\u540D\u79F0-url\u7EC4\u5408\u5DF2\u5B58\u5728
|
||||
task_notification_jenkins=jenkins\u4EFB\u52A1\u901A\u77E5
|
||||
task_notification=\u4EFB\u52A1\u901A\u77E5
|
||||
message_task_already_exists=\u4EFB\u52A1\u63A5\u6536\u4EBA\u5DF2\u7ECF\u5B58\u5728
|
||||
#automation
|
||||
automation_name_already_exists=同一个项目的同一模块下,场景名称不能重复
|
||||
automation_exec_info=没有测试步骤,无法执行
|
||||
delete_check_reference_by=被场景引用
|
||||
not_execute=未执行
|
||||
execute_not_pass=未通过
|
||||
execute_pass=通过
|
||||
import_fail_custom_num_exists=导入失败,自定义ID已存在
|
||||
automation_name_already_exists=\u540C\u4E00\u4E2A\u9879\u76EE\u7684\u540C\u4E00\u6A21\u5757\u4E0B\uFF0C\u573A\u666F\u540D\u79F0\u4E0D\u80FD\u91CD\u590D
|
||||
automation_exec_info=\u6CA1\u6709\u6D4B\u8BD5\u6B65\u9AA4\uFF0C\u65E0\u6CD5\u6267\u884C
|
||||
delete_check_reference_by=\u88AB\u573A\u666F\u5F15\u7528
|
||||
not_execute=\u672A\u6267\u884C
|
||||
execute_not_pass=\u672A\u901A\u8FC7
|
||||
execute_pass=\u901A\u8FC7
|
||||
import_fail_custom_num_exists=\u5BFC\u5165\u5931\u8D25\uFF0C\u81EA\u5B9A\u4E49ID\u5DF2\u5B58\u5728
|
||||
#authsource
|
||||
authsource_name_already_exists=认证源名称已经存在
|
||||
authsource_name_is_null=认证源名称不能为空
|
||||
authsource_configuration_is_null=认证源配置不能为空
|
||||
custom_field_already=工作空间下已存在该字段:
|
||||
template_already=工作空间下已存在该模板:
|
||||
expect_name_exists=预期名称已存在
|
||||
ssl_password_error=认证密码错误,请重新输入密码
|
||||
ssl_file_error=认证文件加载失败,请检查认证文件
|
||||
authsource_name_already_exists=\u8BA4\u8BC1\u6E90\u540D\u79F0\u5DF2\u7ECF\u5B58\u5728
|
||||
authsource_name_is_null=\u8BA4\u8BC1\u6E90\u540D\u79F0\u4E0D\u80FD\u4E3A\u7A7A
|
||||
authsource_configuration_is_null=\u8BA4\u8BC1\u6E90\u914D\u7F6E\u4E0D\u80FD\u4E3A\u7A7A
|
||||
custom_field_already=\u7EC4\u7EC7\u4E0B\u5DF2\u5B58\u5728\u8BE5\u5B57\u6BB5\uFF1A
|
||||
template_already=\u7EC4\u7EC7\u4E0B\u5DF2\u5B58\u5728\u8BE5\u6A21\u677F\uFF1A
|
||||
expect_name_exists=\u9884\u671F\u540D\u79F0\u5DF2\u5B58\u5728
|
||||
ssl_password_error=\u8BA4\u8BC1\u5BC6\u7801\u9519\u8BEF\uFF0C\u8BF7\u91CD\u65B0\u8F93\u5165\u5BC6\u7801
|
||||
ssl_file_error=\u8BA4\u8BC1\u6587\u4EF6\u52A0\u8F7D\u5931\u8D25\uFF0C\u8BF7\u68C0\u67E5\u8BA4\u8BC1\u6587\u4EF6
|
||||
#log
|
||||
api_definition=接口定义
|
||||
api_definition_case=接口定义用例
|
||||
api_automation=接口自动化
|
||||
api_automation_schedule=接口自动化-定时任务
|
||||
api_automation_report=测试报告
|
||||
track_test_case=测试用例
|
||||
track_test_case_review=用例评审
|
||||
track_test_plan=测试计划
|
||||
track_test_plan_schedule=测试计划-定时任务
|
||||
track_bug=缺陷管理
|
||||
track_report=报告
|
||||
performance_test=性能测试
|
||||
performance_test_report=性能测试报告
|
||||
system_user=系统-用户
|
||||
system_organization=系统-组织
|
||||
system_organization=工作空间
|
||||
system_test_resource=系统-测试资源池
|
||||
system_parameter_setting=系统-系统参数设置
|
||||
system_quota_management=系统-配额管理
|
||||
system_authorization_management=系统-授权管理
|
||||
organization_member=组织-成员
|
||||
organization_organization=组织-工作空间
|
||||
organization_service_integration=工作空间-服务集成
|
||||
organization_message_settings=工作空间-消息设置
|
||||
organization_member=工作空间-成员
|
||||
organization_template_settings_field=工作空间-模版设置-自定义字段
|
||||
organization_template_settings_case=工作空间-模版设置-用例模版
|
||||
organization_template_settings_bug=工作空间-模版设置-缺陷模版
|
||||
project_project_manager=项目-项目管理
|
||||
project_project_member=项目-成员
|
||||
project_project_jar=項目-JAR包管理
|
||||
project_environment_setting=项目-环境设置
|
||||
project_file_management=项目-文件管理
|
||||
personal_information_personal_settings=个人信息-个人设置
|
||||
personal_information_apikeys=个人信息-API Keys
|
||||
auth_title=系统认证
|
||||
group_permission=用户组与权限
|
||||
test_case_status_prepare=未开始
|
||||
test_case_status_again=重新提审
|
||||
test_case_status_running=进行中
|
||||
test_case_status_finished=已完成
|
||||
connection_expired=连接已失效,请重新获取
|
||||
api_definition=\u63A5\u53E3\u5B9A\u4E49
|
||||
api_definition_case=\u63A5\u53E3\u5B9A\u4E49\u7528\u4F8B
|
||||
api_automation=\u63A5\u53E3\u81EA\u52A8\u5316
|
||||
api_automation_schedule=\u63A5\u53E3\u81EA\u52A8\u5316-\u5B9A\u65F6\u4EFB\u52A1
|
||||
api_automation_report=\u6D4B\u8BD5\u62A5\u544A
|
||||
track_test_case=\u6D4B\u8BD5\u7528\u4F8B
|
||||
track_test_case_review=\u7528\u4F8B\u8BC4\u5BA1
|
||||
track_test_plan=\u6D4B\u8BD5\u8BA1\u5212
|
||||
track_test_plan_schedule=\u6D4B\u8BD5\u8BA1\u5212-\u5B9A\u65F6\u4EFB\u52A1
|
||||
track_bug=\u7F3A\u9677\u7BA1\u7406
|
||||
track_report=\u62A5\u544A
|
||||
performance_test=\u6027\u80FD\u6D4B\u8BD5
|
||||
performance_test_report=\u6027\u80FD\u6D4B\u8BD5\u62A5\u544A
|
||||
system_user=\u7CFB\u7EDF-\u7528\u6237
|
||||
system_organization=\u7CFB\u7EDF-\u7EC4\u7EC7
|
||||
system_test_resource=\u7CFB\u7EDF-\u6D4B\u8BD5\u8D44\u6E90\u6C60
|
||||
system_parameter_setting=\u7CFB\u7EDF-\u7CFB\u7EDF\u53C2\u6570\u8BBE\u7F6E
|
||||
system_quota_management=\u7CFB\u7EDF-\u914D\u989D\u7BA1\u7406
|
||||
system_authorization_management=\u7CFB\u7EDF-\u6388\u6743\u7BA1\u7406
|
||||
organization_member=\u7EC4\u7EC7-\u6210\u5458
|
||||
organization_service_integration=\u7EC4\u7EC7-\u670D\u52A1\u96C6\u6210
|
||||
organization_message_settings=\u7EC4\u7EC7-\u6D88\u606F\u8BBE\u7F6E
|
||||
organization_template_settings_field=\u7EC4\u7EC7-\u6A21\u7248\u8BBE\u7F6E-\u81EA\u5B9A\u4E49\u5B57\u6BB5
|
||||
organization_template_settings_case=\u7EC4\u7EC7-\u6A21\u7248\u8BBE\u7F6E-\u7528\u4F8B\u6A21\u7248
|
||||
organization_template_settings_bug=\u7EC4\u7EC7-\u6A21\u7248\u8BBE\u7F6E-\u7F3A\u9677\u6A21\u7248
|
||||
project_project_manager=\u9879\u76EE-\u9879\u76EE\u7BA1\u7406
|
||||
project_project_member=\u9879\u76EE-\u6210\u5458
|
||||
project_project_jar=\u9805\u76EE-JAR\u5305\u7BA1\u7406
|
||||
project_environment_setting=\u9879\u76EE-\u73AF\u5883\u8BBE\u7F6E
|
||||
project_file_management=\u9879\u76EE-\u6587\u4EF6\u7BA1\u7406
|
||||
personal_information_personal_settings=\u4E2A\u4EBA\u4FE1\u606F-\u4E2A\u4EBA\u8BBE\u7F6E
|
||||
personal_information_apikeys=\u4E2A\u4EBA\u4FE1\u606F-API Keys
|
||||
auth_title=\u7CFB\u7EDF\u8BA4\u8BC1
|
||||
group_permission=\u7528\u6237\u7EC4\u4E0E\u6743\u9650
|
||||
test_case_status_prepare=\u672A\u5F00\u59CB
|
||||
test_case_status_again=\u91CD\u65B0\u63D0\u5BA1
|
||||
test_case_status_running=\u8FDB\u884C\u4E2D
|
||||
test_case_status_finished=\u5DF2\u5B8C\u6210
|
||||
connection_expired=\u8FDE\u63A5\u5DF2\u5931\u6548\uFF0C\u8BF7\u91CD\u65B0\u83B7\u53D6
|
||||
# track home
|
||||
api_case=接口用例
|
||||
performance_case=性能用例
|
||||
scenario_case=场景用例
|
||||
scenario_name_is_null=场景名称不能为空
|
||||
test_case_status_error=失败
|
||||
test_case_status_success=成功
|
||||
test_case_status_trash=废弃
|
||||
test_case_status_saved=已保存
|
||||
create_user=创建人
|
||||
test_case_status=用例状态
|
||||
id_not_rightful=ID 不合法
|
||||
project_reference_multiple_plateform=项目指向多个第三方平台
|
||||
api_case=\u63A5\u53E3\u7528\u4F8B
|
||||
performance_case=\u6027\u80FD\u7528\u4F8B
|
||||
scenario_case=\u573A\u666F\u7528\u4F8B
|
||||
scenario_name_is_null=\u573A\u666F\u540D\u79F0\u4E0D\u80FD\u4E3A\u7A7A
|
||||
test_case_status_error=\u5931\u8D25
|
||||
test_case_status_success=\u6210\u529F
|
||||
test_case_status_trash=\u5E9F\u5F03
|
||||
test_case_status_saved=\u5DF2\u4FDD\u5B58
|
||||
create_user=\u521B\u5EFA\u4EBA
|
||||
test_case_status=\u7528\u4F8B\u72B6\u6001
|
||||
id_not_rightful=ID \u4E0D\u5408\u6CD5
|
||||
project_reference_multiple_plateform=\u9879\u76EE\u6307\u5411\u591A\u4E2A\u7B2C\u4E09\u65B9\u5E73\u53F0
|
||||
# mock
|
||||
mock_warning=未找到匹配的Mock期望
|
||||
zentao_test_type_error=无效的 Zentao 请求
|
||||
#项目报告
|
||||
enterprise_test_report=项目报告
|
||||
count=统计
|
||||
cannot_find_project=未找到测试项目
|
||||
project_repeatable_is_false=项目未配置URL可重复
|
||||
#环境组
|
||||
null_environment_group_name=环境组名称不存在
|
||||
environment_group_name=环境组名称
|
||||
environment_group_exist=已存在
|
||||
environment_group_has_duplicate_project=每个项目只能选择一个环境!
|
||||
#误报库
|
||||
error_report_library=误报库
|
||||
bug_jira_info_error=请检查服务集成信息或Jira项目ID
|
||||
error_code_is_unique=错误代码不可重复
|
||||
no_version_exists=不存在版本!请先创建项目的版本
|
||||
jira_auth_error=账号名或密码(Token)错误
|
||||
jira_auth_url_error=测试连接失败,请检查Jira地址是否正确
|
||||
#ui 指令校验
|
||||
param_error=参数校验失败!请检查
|
||||
is_null=不能为空
|
||||
url_is_null=URL 参数不能为空
|
||||
frame_index_is_null=网页索引号不能为空
|
||||
element_is_null=元素对象已经被删除
|
||||
locator_is_null=元素定位参数不能有空
|
||||
coord=坐标
|
||||
input_content=输入内容
|
||||
subitem_type=子选项类型
|
||||
subitem=子选项值
|
||||
varname=变量名
|
||||
varname_or_value=变量名或变量值
|
||||
attributeName=属性名
|
||||
webtitle_varname=网页标题变量名
|
||||
webhandle_varname=网页窗口 handle变量名
|
||||
cant_be_negative=不能为负数
|
||||
expression=表达式
|
||||
times=循环次数
|
||||
command=步骤
|
||||
extract_type=提取信息类型
|
||||
cmdValidation=断言
|
||||
cmdValidateValue=断言值
|
||||
cmdValidateText=弹窗文本
|
||||
cmdValidateDropdown=下拉框
|
||||
cmdValidateElement=元素断言
|
||||
cmdValidateTitle=网页标题
|
||||
cmdOpen=打开网页
|
||||
cmdSelectWindow=切换窗口
|
||||
cmdSetWindowSize=设置窗口大小
|
||||
cmdSelectFrame=选择内嵌网页
|
||||
cmdDialog=弹窗操作
|
||||
cmdDropdownBox=下拉框操作
|
||||
submit=提交表单
|
||||
cmdSetItem=设置选项
|
||||
cmdWaitElement=等待元素
|
||||
cmdInput=输入操作
|
||||
cmdMouseClick=鼠标点击
|
||||
cmdMouseMove=鼠标移动
|
||||
cmdMouseDrag=鼠标拖拽
|
||||
cmdTimes=次数循环
|
||||
cmdForEach=ForEach 循环
|
||||
cmdWhile=While 循环
|
||||
mock_warning=\u672A\u627E\u5230\u5339\u914D\u7684Mock\u671F\u671B
|
||||
zentao_test_type_error=\u65E0\u6548\u7684 Zentao \u8BF7\u6C42
|
||||
#\u9879\u76EE\u62A5\u544A
|
||||
enterprise_test_report=\u9879\u76EE\u62A5\u544A
|
||||
count=\u7EDF\u8BA1
|
||||
cannot_find_project=\u672A\u627E\u5230\u6D4B\u8BD5\u9879\u76EE
|
||||
project_repeatable_is_false=\u9879\u76EE\u672A\u914D\u7F6EURL\u53EF\u91CD\u590D
|
||||
#\u73AF\u5883\u7EC4
|
||||
null_environment_group_name=\u73AF\u5883\u7EC4\u540D\u79F0\u4E0D\u5B58\u5728
|
||||
environment_group_name=\u73AF\u5883\u7EC4\u540D\u79F0
|
||||
environment_group_exist=\u5DF2\u5B58\u5728
|
||||
environment_group_has_duplicate_project=\u6BCF\u4E2A\u9879\u76EE\u53EA\u80FD\u9009\u62E9\u4E00\u4E2A\u73AF\u5883\uFF01
|
||||
#\u8BEF\u62A5\u5E93
|
||||
error_report_library=\u8BEF\u62A5\u5E93
|
||||
bug_jira_info_error=\u8BF7\u68C0\u67E5\u670D\u52A1\u96C6\u6210\u4FE1\u606F\u6216Jira\u9879\u76EEID
|
||||
error_code_is_unique=\u9519\u8BEF\u4EE3\u7801\u4E0D\u53EF\u91CD\u590D
|
||||
no_version_exists=\u4E0D\u5B58\u5728\u7248\u672C\uFF01\u8BF7\u5148\u521B\u5EFA\u9879\u76EE\u7684\u7248\u672C
|
||||
jira_auth_error=\u8D26\u53F7\u540D\u6216\u5BC6\u7801(Token)\u9519\u8BEF
|
||||
jira_auth_url_error=\u6D4B\u8BD5\u8FDE\u63A5\u5931\u8D25\uFF0C\u8BF7\u68C0\u67E5Jira\u5730\u5740\u662F\u5426\u6B63\u786E
|
||||
#ui \u6307\u4EE4\u6821\u9A8C
|
||||
param_error=\u53C2\u6570\u6821\u9A8C\u5931\u8D25\uFF01\u8BF7\u68C0\u67E5
|
||||
is_null=\u4E0D\u80FD\u4E3A\u7A7A
|
||||
url_is_null=URL \u53C2\u6570\u4E0D\u80FD\u4E3A\u7A7A
|
||||
frame_index_is_null=\u7F51\u9875\u7D22\u5F15\u53F7\u4E0D\u80FD\u4E3A\u7A7A
|
||||
element_is_null=\u5143\u7D20\u5BF9\u8C61\u5DF2\u7ECF\u88AB\u5220\u9664
|
||||
locator_is_null=\u5143\u7D20\u5B9A\u4F4D\u53C2\u6570\u4E0D\u80FD\u6709\u7A7A
|
||||
coord=\u5750\u6807
|
||||
input_content=\u8F93\u5165\u5185\u5BB9
|
||||
subitem_type=\u5B50\u9009\u9879\u7C7B\u578B
|
||||
subitem=\u5B50\u9009\u9879\u503C
|
||||
varname=\u53D8\u91CF\u540D
|
||||
varname_or_value=\u53D8\u91CF\u540D\u6216\u53D8\u91CF\u503C
|
||||
attributeName=\u5C5E\u6027\u540D
|
||||
webtitle_varname=\u7F51\u9875\u6807\u9898\u53D8\u91CF\u540D
|
||||
webhandle_varname=\u7F51\u9875\u7A97\u53E3 handle\u53D8\u91CF\u540D
|
||||
cant_be_negative=\u4E0D\u80FD\u4E3A\u8D1F\u6570
|
||||
expression=\u8868\u8FBE\u5F0F
|
||||
times=\u5FAA\u73AF\u6B21\u6570
|
||||
command=\u6B65\u9AA4
|
||||
extract_type=\u63D0\u53D6\u4FE1\u606F\u7C7B\u578B
|
||||
cmdValidation=\u65AD\u8A00
|
||||
cmdValidateValue=\u65AD\u8A00\u503C
|
||||
cmdValidateText=\u5F39\u7A97\u6587\u672C
|
||||
cmdValidateDropdown=\u4E0B\u62C9\u6846
|
||||
cmdValidateElement=\u5143\u7D20\u65AD\u8A00
|
||||
cmdValidateTitle=\u7F51\u9875\u6807\u9898
|
||||
cmdOpen=\u6253\u5F00\u7F51\u9875
|
||||
cmdSelectWindow=\u5207\u6362\u7A97\u53E3
|
||||
cmdSetWindowSize=\u8BBE\u7F6E\u7A97\u53E3\u5927\u5C0F
|
||||
cmdSelectFrame=\u9009\u62E9\u5185\u5D4C\u7F51\u9875
|
||||
cmdDialog=\u5F39\u7A97\u64CD\u4F5C
|
||||
cmdDropdownBox=\u4E0B\u62C9\u6846\u64CD\u4F5C
|
||||
submit=\u63D0\u4EA4\u8868\u5355
|
||||
cmdSetItem=\u8BBE\u7F6E\u9009\u9879
|
||||
cmdWaitElement=\u7B49\u5F85\u5143\u7D20
|
||||
cmdInput=\u8F93\u5165\u64CD\u4F5C
|
||||
cmdMouseClick=\u9F20\u6807\u70B9\u51FB
|
||||
cmdMouseMove=\u9F20\u6807\u79FB\u52A8
|
||||
cmdMouseDrag=\u9F20\u6807\u62D6\u62FD
|
||||
cmdTimes=\u6B21\u6570\u5FAA\u73AF
|
||||
cmdForEach=ForEach \u5FAA\u73AF
|
||||
cmdWhile=While \u5FAA\u73AF
|
||||
cmdIf=If
|
||||
cmdElse=Else
|
||||
cmdElseIf=ElseIf
|
||||
close=关闭网页
|
||||
cmdExtraction=数据提取
|
||||
cmdExtractWindow=提取窗口信息
|
||||
cmdExtractElement=提取元素信息
|
||||
tcp_mock_not_unique=该TCP端口号已被使用
|
||||
no_tcp_mock_port=无可用的TCP端口号,请联系管理员
|
||||
name_already_exists_in_module=同层级下已经存在
|
||||
close=\u5173\u95ED\u7F51\u9875
|
||||
cmdExtraction=\u6570\u636E\u63D0\u53D6
|
||||
cmdExtractWindow=\u63D0\u53D6\u7A97\u53E3\u4FE1\u606F
|
||||
cmdExtractElement=\u63D0\u53D6\u5143\u7D20\u4FE1\u606F
|
||||
tcp_mock_not_unique=\u8BE5TCP\u7AEF\u53E3\u53F7\u5DF2\u88AB\u4F7F\u7528
|
||||
no_tcp_mock_port=\u65E0\u53EF\u7528\u7684TCP\u7AEF\u53E3\u53F7\uFF0C\u8BF7\u8054\u7CFB\u7BA1\u7406\u5458
|
||||
name_already_exists_in_module=\u540C\u5C42\u7EA7\u4E0B\u5DF2\u7ECF\u5B58\u5728
|
||||
# bug template copy
|
||||
target_bug_template_not_checked=无法复制,未选中目标项目
|
||||
source_bug_template_is_empty=复制错误,源项目为空
|
||||
target_bug_template_not_checked=\u65E0\u6CD5\u590D\u5236\uFF0C\u672A\u9009\u4E2D\u76EE\u6807\u9879\u76EE
|
||||
source_bug_template_is_empty=\u590D\u5236\u9519\u8BEF\uFF0C\u6E90\u9879\u76EE\u4E3A\u7A7A
|
||||
|
||||
#plugin
|
||||
get_plugin_instance_error=获取插件接口实现类错误!
|
||||
get_plugin_instance_error=\u83B7\u53D6\u63D2\u4EF6\u63A5\u53E3\u5B9E\u73B0\u7C7B\u9519\u8BEF\uFF01
|
||||
|
||||
#result message
|
||||
http_result_success=操作成功
|
||||
http_result_unknown_exception=系统未知异常
|
||||
http_result_validate=参数校验失败
|
||||
http_result_unauthorized=用户认证失败
|
||||
http_result_forbidden=权限认证失败
|
||||
http_result_success=\u64CD\u4F5C\u6210\u529F
|
||||
http_result_unknown_exception=\u7CFB\u7EDF\u672A\u77E5\u5F02\u5E38
|
||||
http_result_validate=\u53C2\u6570\u6821\u9A8C\u5931\u8D25
|
||||
http_result_unauthorized=\u7528\u6237\u8BA4\u8BC1\u5931\u8D25
|
||||
http_result_forbidden=\u6743\u9650\u8BA4\u8BC1\u5931\u8D25
|
|
@ -1,387 +1,383 @@
|
|||
#commons
|
||||
error_lang_invalid=語言參數錯誤
|
||||
file_cannot_be_null=文件不能為空!
|
||||
cannot_be_null=不能為空
|
||||
number=第
|
||||
row=行
|
||||
error=出錯
|
||||
delete_fail=刪除失敗
|
||||
start_engine_fail=啟動失敗
|
||||
upload_fail=文件上傳失敗
|
||||
invalid_parameter=非法的參數
|
||||
name_already_exists=該名稱已經存在
|
||||
resource_not_exist=資源不存在或已刪除
|
||||
upload_file_fail_get_file_path_fail=文件上傳失敗,獲取文件上傳路徑為空
|
||||
error_lang_invalid=\u8A9E\u8A00\u53C3\u6578\u932F\u8AA4
|
||||
file_cannot_be_null=\u6587\u4EF6\u4E0D\u80FD\u70BA\u7A7A\uFF01
|
||||
cannot_be_null=\u4E0D\u80FD\u70BA\u7A7A
|
||||
number=\u7B2C
|
||||
row=\u884C
|
||||
error=\u51FA\u932F
|
||||
delete_fail=\u522A\u9664\u5931\u6557
|
||||
start_engine_fail=\u555F\u52D5\u5931\u6557
|
||||
upload_fail=\u6587\u4EF6\u4E0A\u50B3\u5931\u6557
|
||||
invalid_parameter=\u975E\u6CD5\u7684\u53C3\u6578
|
||||
name_already_exists=\u8A72\u540D\u7A31\u5DF2\u7D93\u5B58\u5728
|
||||
resource_not_exist=\u8CC7\u6E90\u4E0D\u5B58\u5728\u6216\u5DF2\u522A\u9664
|
||||
upload_file_fail_get_file_path_fail=\u6587\u4EF6\u4E0A\u50B3\u5931\u6557\uFF0C\u7372\u53D6\u6587\u4EF6\u4E0A\u50B3\u8DEF\u5F91\u70BA\u7A7A
|
||||
#user related
|
||||
user_email_already_exists=用戶郵箱已存在
|
||||
user_id_is_null=用戶ID不能為空
|
||||
user_name_is_null=用戶名不能為空
|
||||
user_email_is_null=用戶郵箱不能為空
|
||||
password_is_null=密碼不能為空
|
||||
user_id_already_exists=用戶id已存在
|
||||
password_modification_failed=舊密碼輸入錯誤,請重新輸入
|
||||
cannot_delete_current_user=無法刪除當前登錄用戶
|
||||
connection_failed=連接失敗
|
||||
connection_timeout=連接超時
|
||||
user_already_exists=該用戶已存在於當前成員列表中
|
||||
cannot_remove_current=無法移除當前登錄用戶
|
||||
login_fail=登錄失敗
|
||||
password_is_incorrect=用戶名或密碼不正確
|
||||
user_not_exist=用戶不存在:
|
||||
user_has_been_disabled=用戶已被禁用
|
||||
excessive_attempts=操作頻繁
|
||||
user_locked=用戶被鎖定
|
||||
user_expires=用戶過期
|
||||
not_authorized=未經授權
|
||||
user_apikey_limit=最多能有5個Api key
|
||||
please_logout_current_user=請先登出當前用戶
|
||||
user_email_already_exists=\u7528\u6236\u90F5\u7BB1\u5DF2\u5B58\u5728
|
||||
user_id_is_null=\u7528\u6236ID\u4E0D\u80FD\u70BA\u7A7A
|
||||
user_name_is_null=\u7528\u6236\u540D\u4E0D\u80FD\u70BA\u7A7A
|
||||
user_email_is_null=\u7528\u6236\u90F5\u7BB1\u4E0D\u80FD\u70BA\u7A7A
|
||||
password_is_null=\u5BC6\u78BC\u4E0D\u80FD\u70BA\u7A7A
|
||||
user_id_already_exists=\u7528\u6236id\u5DF2\u5B58\u5728
|
||||
password_modification_failed=\u820A\u5BC6\u78BC\u8F38\u5165\u932F\u8AA4\uFF0C\u8ACB\u91CD\u65B0\u8F38\u5165
|
||||
cannot_delete_current_user=\u7121\u6CD5\u522A\u9664\u7576\u524D\u767B\u9304\u7528\u6236
|
||||
connection_failed=\u9023\u63A5\u5931\u6557
|
||||
connection_timeout=\u9023\u63A5\u8D85\u6642
|
||||
user_already_exists=\u8A72\u7528\u6236\u5DF2\u5B58\u5728\u65BC\u7576\u524D\u6210\u54E1\u5217\u8868\u4E2D
|
||||
cannot_remove_current=\u7121\u6CD5\u79FB\u9664\u7576\u524D\u767B\u9304\u7528\u6236
|
||||
login_fail=\u767B\u9304\u5931\u6557
|
||||
password_is_incorrect=\u7528\u6236\u540D\u6216\u5BC6\u78BC\u4E0D\u6B63\u78BA
|
||||
user_not_exist=\u7528\u6236\u4E0D\u5B58\u5728\uFF1A
|
||||
user_has_been_disabled=\u7528\u6236\u5DF2\u88AB\u7981\u7528
|
||||
excessive_attempts=\u64CD\u4F5C\u983B\u7E41
|
||||
user_locked=\u7528\u6236\u88AB\u9396\u5B9A
|
||||
user_expires=\u7528\u6236\u904E\u671F
|
||||
not_authorized=\u672A\u7D93\u6388\u6B0A
|
||||
user_apikey_limit=\u6700\u591A\u80FD\u67095\u500BApi key
|
||||
please_logout_current_user=\u8ACB\u5148\u767B\u51FA\u7576\u524D\u7528\u6236
|
||||
#load test
|
||||
edit_load_test_not_found=無法編輯測試,未找到測試:
|
||||
run_load_test_not_found=無法運行測試,未找到測試:
|
||||
run_load_test_file_not_found=無法運行測試,無法獲取測試文件元信息,測試ID:
|
||||
run_load_test_file_content_not_found=無法運行測試,無法獲取測試文件內容,測試ID:
|
||||
run_load_test_file_init_error=無法運行測試,請前往 [系統設置-系統-系統參數設置] 檢查當前站點配置,詳情見 https://metersphere.io/docs/v2.x/faq/load_test/#url
|
||||
load_test_is_running=測試正在運行, 請等待
|
||||
load_test_kafka_invalid=Kafka 不可用,請檢查配置
|
||||
cannot_edit_load_test_running=不能修改正在運行的測試
|
||||
test_not_found=測試不存在:
|
||||
test_not_running=測試未運行
|
||||
load_test_already_exists=測試名稱不能重復
|
||||
load_test_name_length=測試名稱長度超過限製
|
||||
no_nodes_message=沒有節點信息
|
||||
duplicate_node_ip=節點 IP 重復
|
||||
duplicate_node_port=節點 Port 重復
|
||||
duplicate_node_ip_port=節點 IP、Port 重復
|
||||
max_thread_insufficient=並發用戶數超額
|
||||
related_case_del_fail_prefix=已關聯到
|
||||
related_case_del_fail_suffix=測試用例,請先解除關聯
|
||||
jmx_content_valid=JMX 內容無效,請檢查
|
||||
container_delete_fail=容器由於網絡原因停止失敗,請重試
|
||||
load_test_report_file_not_exist=當前報告沒有JTL文件,請等待或重新執行以便獲取
|
||||
edit_load_test_not_found=\u7121\u6CD5\u7DE8\u8F2F\u6E2C\u8A66\uFF0C\u672A\u627E\u5230\u6E2C\u8A66\uFF1A
|
||||
run_load_test_not_found=\u7121\u6CD5\u904B\u884C\u6E2C\u8A66\uFF0C\u672A\u627E\u5230\u6E2C\u8A66\uFF1A
|
||||
run_load_test_file_not_found=\u7121\u6CD5\u904B\u884C\u6E2C\u8A66\uFF0C\u7121\u6CD5\u7372\u53D6\u6E2C\u8A66\u6587\u4EF6\u5143\u4FE1\u606F\uFF0C\u6E2C\u8A66ID\uFF1A
|
||||
run_load_test_file_content_not_found=\u7121\u6CD5\u904B\u884C\u6E2C\u8A66\uFF0C\u7121\u6CD5\u7372\u53D6\u6E2C\u8A66\u6587\u4EF6\u5167\u5BB9\uFF0C\u6E2C\u8A66ID\uFF1A
|
||||
run_load_test_file_init_error=\u7121\u6CD5\u904B\u884C\u6E2C\u8A66\uFF0C\u8ACB\u524D\u5F80 [\u7CFB\u7D71\u8A2D\u7F6E-\u7CFB\u7D71-\u7CFB\u7D71\u53C3\u6578\u8A2D\u7F6E] \u6AA2\u67E5\u7576\u524D\u7AD9\u9EDE\u914D\u7F6E\uFF0C\u8A73\u60C5\u898B https://metersphere.io/docs/v2.x/faq/load_test/#url
|
||||
load_test_is_running=\u6E2C\u8A66\u6B63\u5728\u904B\u884C, \u8ACB\u7B49\u5F85
|
||||
load_test_kafka_invalid=Kafka \u4E0D\u53EF\u7528\uFF0C\u8ACB\u6AA2\u67E5\u914D\u7F6E
|
||||
cannot_edit_load_test_running=\u4E0D\u80FD\u4FEE\u6539\u6B63\u5728\u904B\u884C\u7684\u6E2C\u8A66
|
||||
test_not_found=\u6E2C\u8A66\u4E0D\u5B58\u5728:
|
||||
test_not_running=\u6E2C\u8A66\u672A\u904B\u884C
|
||||
load_test_already_exists=\u6E2C\u8A66\u540D\u7A31\u4E0D\u80FD\u91CD\u5FA9
|
||||
load_test_name_length=\u6E2C\u8A66\u540D\u7A31\u9577\u5EA6\u8D85\u904E\u9650\u88FD
|
||||
no_nodes_message=\u6C92\u6709\u7BC0\u9EDE\u4FE1\u606F
|
||||
duplicate_node_ip=\u7BC0\u9EDE IP \u91CD\u5FA9
|
||||
duplicate_node_port=\u7BC0\u9EDE Port \u91CD\u5FA9
|
||||
duplicate_node_ip_port=\u7BC0\u9EDE IP\u3001Port \u91CD\u5FA9
|
||||
max_thread_insufficient=\u4E26\u767C\u7528\u6236\u6578\u8D85\u984D
|
||||
related_case_del_fail_prefix=\u5DF2\u95DC\u806F\u5230
|
||||
related_case_del_fail_suffix=\u6E2C\u8A66\u7528\u4F8B\uFF0C\u8ACB\u5148\u89E3\u9664\u95DC\u806F
|
||||
jmx_content_valid=JMX \u5167\u5BB9\u7121\u6548\uFF0C\u8ACB\u6AA2\u67E5
|
||||
container_delete_fail=\u5BB9\u5668\u7531\u65BC\u7DB2\u7D61\u539F\u56E0\u505C\u6B62\u5931\u6557\uFF0C\u8ACB\u91CD\u8A66
|
||||
load_test_report_file_not_exist=\u7576\u524D\u5831\u544A\u6C92\u6709JTL\u6587\u4EF6\uFF0C\u8ACB\u7B49\u5F85\u6216\u91CD\u65B0\u57F7\u884C\u4EE5\u4FBF\u7372\u53D6
|
||||
#organization
|
||||
organization_not_exists=工作空間不存在
|
||||
organization_not_exists=\u7D44\u7E54\u4E0D\u5B58\u5728
|
||||
#test resource pool
|
||||
test_resource_pool_id_is_null=資源池ID不能為空
|
||||
test_resource_pool_name_is_null=資源池名稱不能為空
|
||||
test_resource_pool_name_already_exists=資源池名稱已存在
|
||||
test_resource_pool_type_is_null=資源池類型不能為空
|
||||
load_test=性能測試
|
||||
test_resource_pool_is_use=正在使用此資源池,無法刪除
|
||||
only_one_k8s=只能添加一個 K8S
|
||||
test_resource_pool_not_exists=測試資源池不存在
|
||||
test_resource_pool_invalid=當前測試使用的資源池處於禁用狀態
|
||||
test_resource_pool_id_is_null=\u8CC7\u6E90\u6C60ID\u4E0D\u80FD\u70BA\u7A7A
|
||||
test_resource_pool_name_is_null=\u8CC7\u6E90\u6C60\u540D\u7A31\u4E0D\u80FD\u70BA\u7A7A
|
||||
test_resource_pool_name_already_exists=\u8CC7\u6E90\u6C60\u540D\u7A31\u5DF2\u5B58\u5728
|
||||
test_resource_pool_type_is_null=\u8CC7\u6E90\u6C60\u985E\u578B\u4E0D\u80FD\u70BA\u7A7A
|
||||
load_test=\u6027\u80FD\u6E2C\u8A66
|
||||
test_resource_pool_is_use=\u6B63\u5728\u4F7F\u7528\u6B64\u8CC7\u6E90\u6C60\uFF0C\u7121\u6CD5\u522A\u9664
|
||||
only_one_k8s=\u53EA\u80FD\u6DFB\u52A0\u4E00\u500B K8S
|
||||
test_resource_pool_not_exists=\u6E2C\u8A66\u8CC7\u6E90\u6C60\u4E0D\u5B58\u5728
|
||||
test_resource_pool_invalid=\u7576\u524D\u6E2C\u8A66\u4F7F\u7528\u7684\u8CC7\u6E90\u6C60\u8655\u65BC\u7981\u7528\u72C0\u614B
|
||||
#project
|
||||
project_name_is_null=項目名稱不能為空
|
||||
project_name_already_exists=項目名稱已存在
|
||||
project_file_already_exists=項目下該文件已經存在
|
||||
project_file_in_use=占用文件,無法刪除。
|
||||
project_name_is_null=\u9805\u76EE\u540D\u7A31\u4E0D\u80FD\u70BA\u7A7A
|
||||
project_name_already_exists=\u9805\u76EE\u540D\u7A31\u5DF2\u5B58\u5728
|
||||
project_file_already_exists=\u9805\u76EE\u4E0B\u8A72\u6587\u4EF6\u5DF2\u7D93\u5B58\u5728
|
||||
project_file_in_use=\u5360\u7528\u6587\u4EF6\uFF0C\u7121\u6CD5\u522A\u9664\u3002
|
||||
#organization
|
||||
organization_name_is_null=組織名不能為空
|
||||
organization_name_already_exists=組織名已存在
|
||||
organization_does_not_belong_to_user=當前組織不屬於當前用戶
|
||||
organization_id_is_null=組織 ID 不能為空
|
||||
organization_default_not_exists=默認組織不存在
|
||||
organization_name_is_null=\u7D44\u7E54\u540D\u4E0D\u80FD\u70BA\u7A7A
|
||||
organization_name_already_exists=\u7D44\u7E54\u540D\u5DF2\u5B58\u5728
|
||||
organization_does_not_belong_to_user=\u7576\u524D\u7D44\u7E54\u4E0D\u5C6C\u65BC\u7576\u524D\u7528\u6236
|
||||
organization_id_is_null=\u7D44\u7E54 ID \u4E0D\u80FD\u70BA\u7A7A
|
||||
organization_default_not_exists=\u9ED8\u8A8D\u7D44\u7E54\u4E0D\u5B58\u5728
|
||||
#api
|
||||
api_load_script_error=讀取腳本失敗
|
||||
illegal_xml_format=不合法的 XML 格式
|
||||
api_report_is_null="測試報告是未生成,無法更新"
|
||||
api_test_environment_already_exists="已存在該名稱的環境配置"
|
||||
api_test=接口測試
|
||||
api_load_script_error=\u8B80\u53D6\u8173\u672C\u5931\u6557
|
||||
illegal_xml_format=\u4E0D\u5408\u6CD5\u7684 XML \u683C\u5F0F
|
||||
api_report_is_null="\u6E2C\u8A66\u5831\u544A\u662F\u672A\u751F\u6210\uFF0C\u7121\u6CD5\u66F4\u65B0"
|
||||
api_test_environment_already_exists="\u5DF2\u5B58\u5728\u8A72\u540D\u7A31\u7684\u74B0\u5883\u914D\u7F6E"
|
||||
api_test=\u63A5\u53E3\u6E2C\u8A66
|
||||
#test case
|
||||
test_case_node_level=層
|
||||
test_case_node_level_tip=模塊樹最大深度為
|
||||
test_case_module_not_null=所屬模塊不能為空
|
||||
test_case_create_module_fail=創建模塊失敗
|
||||
test_case_import_template_name=測試用例模版
|
||||
test_case_import_template_sheet=模版
|
||||
module_not_null=所屬模塊不能為空格
|
||||
user_not_exists=該項目下無該用戶
|
||||
test_case_already_exists=該項目下已存在該測試用例
|
||||
parse_data_error=解析數據出錯
|
||||
missing_header_information=缺少頭部信息
|
||||
test_case_exist=該項目下已存在用例:
|
||||
node_deep_limit=節點深度不超過8層!
|
||||
before_delete_plan=該計劃下存在關聯測試用例,請先取消關聯!
|
||||
incorrect_format=格式錯誤
|
||||
test_case_step_model_validate=必須為TEXT、STEP
|
||||
test_case_priority_validate=必須為P0、P1、P2、P3
|
||||
test_case_method_validate=必須為manual、auto
|
||||
test_case_name=用例名稱
|
||||
test_case_type=用例類型
|
||||
test_case_maintainer=維護人
|
||||
test_case_priority=用例等級
|
||||
test_case_method=測試方式
|
||||
test_case_prerequisite=前置條件
|
||||
test_case_remark=備註
|
||||
test_case_step_desc=步驟描述
|
||||
test_case_step_result=預期結果
|
||||
test_case_module=所屬模塊
|
||||
test_case=功能用例
|
||||
user=用戶
|
||||
user_import_template_name=用戶導入模板
|
||||
user_import_template_sheet=模版
|
||||
user_import_format_wrong=格式錯誤
|
||||
user_import_id_is_repeat=ID重復
|
||||
user_import_email_is_repeat=E-mail重復
|
||||
user_import_password_format_wrong=密碼格式錯誤
|
||||
user_import_phone_format_wrong=手機號碼格式錯誤
|
||||
user_import_email_format_wrong=電子郵箱格式錯誤
|
||||
user_import_organization_not_fond=組織未找到
|
||||
user_import_organization_not_fond=工作空間未找到
|
||||
org_admin=組織管理員
|
||||
org_member=組織成員
|
||||
test_manager=測試經理
|
||||
tester=測試成員
|
||||
read_only_user=只讀用戶
|
||||
module=模塊
|
||||
num_needed_modify_testcase=修改用例時ID必填
|
||||
num_needless_create_testcase=創建用例時無需ID
|
||||
tag_tip_pattern=標簽之間以分號或者逗號隔開
|
||||
preconditions_optional=前置條件選填
|
||||
remark_optional=備註選填
|
||||
do_not_modify_header_order=請勿修改表頭順序
|
||||
module_created_automatically=若無該模塊將自動創建
|
||||
options=選項
|
||||
options_yes=是
|
||||
options_no=否
|
||||
required=必填
|
||||
password_format_is_incorrect=有效密碼:8-30位,英文大小寫字母+數字+特殊字符(可選)
|
||||
please_input_project_member=請填寫該項目下的相關人員ID
|
||||
test_case_report_template_repeat=同一工作空間下不能存在同名模版
|
||||
plan_name_already_exists=測試計劃名稱已存在
|
||||
test_case_already_exists_excel=文件中存在多條相同用例
|
||||
test_case_module_already_exists=同層級下已存在該模塊名稱
|
||||
api_test_name_already_exists=測試名稱已經存在
|
||||
functional_method_tip=功能測試不支持自動方式
|
||||
custom_num_is_exist=用例自定義ID已存在
|
||||
custom_num_is_not_exist=用例自定義ID不存在
|
||||
id_required=ID必填
|
||||
id_repeat_in_table=表格內ID重復
|
||||
step_model_tip=步驟描述填寫 STEP,文本描述請填寫 TEXT (非必填)
|
||||
case_status_not_exist=用例狀態必須為未開始(Prepare)、進行中(Underway)、已完成(Completed)
|
||||
issue_project_not_exist=ID不存在或其它錯誤
|
||||
tapd_project_not_exist=關聯的TAPD項目ID不存在
|
||||
zentao_get_project_builds_fail=獲取影響版本錯誤
|
||||
zentao_project_id_not_exist=關聯的禪道ID不存在或其它錯誤
|
||||
test_case_node_level=\u5C64
|
||||
test_case_node_level_tip=\u6A21\u584A\u6A39\u6700\u5927\u6DF1\u5EA6\u70BA
|
||||
test_case_module_not_null=\u6240\u5C6C\u6A21\u584A\u4E0D\u80FD\u70BA\u7A7A
|
||||
test_case_create_module_fail=\u5275\u5EFA\u6A21\u584A\u5931\u6557
|
||||
test_case_import_template_name=\u6E2C\u8A66\u7528\u4F8B\u6A21\u7248
|
||||
test_case_import_template_sheet=\u6A21\u7248
|
||||
module_not_null=\u6240\u5C6C\u6A21\u584A\u4E0D\u80FD\u70BA\u7A7A\u683C
|
||||
user_not_exists=\u8A72\u9805\u76EE\u4E0B\u7121\u8A72\u7528\u6236
|
||||
test_case_already_exists=\u8A72\u9805\u76EE\u4E0B\u5DF2\u5B58\u5728\u8A72\u6E2C\u8A66\u7528\u4F8B
|
||||
parse_data_error=\u89E3\u6790\u6578\u64DA\u51FA\u932F
|
||||
missing_header_information=\u7F3A\u5C11\u982D\u90E8\u4FE1\u606F
|
||||
test_case_exist=\u8A72\u9805\u76EE\u4E0B\u5DF2\u5B58\u5728\u7528\u4F8B\uFF1A
|
||||
node_deep_limit=\u7BC0\u9EDE\u6DF1\u5EA6\u4E0D\u8D85\u904E8\u5C64\uFF01
|
||||
before_delete_plan=\u8A72\u8A08\u5283\u4E0B\u5B58\u5728\u95DC\u806F\u6E2C\u8A66\u7528\u4F8B\uFF0C\u8ACB\u5148\u53D6\u6D88\u95DC\u806F\uFF01
|
||||
incorrect_format=\u683C\u5F0F\u932F\u8AA4
|
||||
test_case_step_model_validate=\u5FC5\u9808\u70BATEXT\u3001STEP
|
||||
test_case_priority_validate=\u5FC5\u9808\u70BAP0\u3001P1\u3001P2\u3001P3
|
||||
test_case_method_validate=\u5FC5\u9808\u70BAmanual\u3001auto
|
||||
test_case_name=\u7528\u4F8B\u540D\u7A31
|
||||
test_case_type=\u7528\u4F8B\u985E\u578B
|
||||
test_case_maintainer=\u7DAD\u8B77\u4EBA
|
||||
test_case_priority=\u7528\u4F8B\u7B49\u7D1A
|
||||
test_case_method=\u6E2C\u8A66\u65B9\u5F0F
|
||||
test_case_prerequisite=\u524D\u7F6E\u689D\u4EF6
|
||||
test_case_remark=\u5099\u8A3B
|
||||
test_case_step_desc=\u6B65\u9A5F\u63CF\u8FF0
|
||||
test_case_step_result=\u9810\u671F\u7D50\u679C
|
||||
test_case_module=\u6240\u5C6C\u6A21\u584A
|
||||
test_case=\u529F\u80FD\u7528\u4F8B
|
||||
user=\u7528\u6236
|
||||
user_import_template_name=\u7528\u6236\u5C0E\u5165\u6A21\u677F
|
||||
user_import_template_sheet=\u6A21\u7248
|
||||
user_import_format_wrong=\u683C\u5F0F\u932F\u8AA4
|
||||
user_import_id_is_repeat=ID\u91CD\u5FA9
|
||||
user_import_email_is_repeat=E-mail\u91CD\u5FA9
|
||||
user_import_password_format_wrong=\u5BC6\u78BC\u683C\u5F0F\u932F\u8AA4
|
||||
user_import_phone_format_wrong=\u624B\u6A5F\u865F\u78BC\u683C\u5F0F\u932F\u8AA4
|
||||
user_import_email_format_wrong=\u96FB\u5B50\u90F5\u7BB1\u683C\u5F0F\u932F\u8AA4
|
||||
user_import_organization_not_fond=\u7D44\u7E54\u672A\u627E\u5230
|
||||
org_admin=\u7D44\u7E54\u7BA1\u7406\u54E1
|
||||
org_member=\u7D44\u7E54\u6210\u54E1
|
||||
test_manager=\u6E2C\u8A66\u7D93\u7406
|
||||
tester=\u6E2C\u8A66\u6210\u54E1
|
||||
read_only_user=\u53EA\u8B80\u7528\u6236
|
||||
module=\u6A21\u584A
|
||||
num_needed_modify_testcase=\u4FEE\u6539\u7528\u4F8B\u6642ID\u5FC5\u586B
|
||||
num_needless_create_testcase=\u5275\u5EFA\u7528\u4F8B\u6642\u7121\u9700ID
|
||||
tag_tip_pattern=\u6A19\u7C3D\u4E4B\u9593\u4EE5\u5206\u865F\u6216\u8005\u9017\u865F\u9694\u958B
|
||||
preconditions_optional=\u524D\u7F6E\u689D\u4EF6\u9078\u586B
|
||||
remark_optional=\u5099\u8A3B\u9078\u586B
|
||||
do_not_modify_header_order=\u8ACB\u52FF\u4FEE\u6539\u8868\u982D\u9806\u5E8F
|
||||
module_created_automatically=\u82E5\u7121\u8A72\u6A21\u584A\u5C07\u81EA\u52D5\u5275\u5EFA
|
||||
options=\u9078\u9805
|
||||
options_yes=\u662F
|
||||
options_no=\u5426
|
||||
required=\u5FC5\u586B
|
||||
password_format_is_incorrect=\u6709\u6548\u5BC6\u78BC\uFF1A8-30\u4F4D\uFF0C\u82F1\u6587\u5927\u5C0F\u5BEB\u5B57\u6BCD+\u6578\u5B57+\u7279\u6B8A\u5B57\u7B26\uFF08\u53EF\u9078\uFF09
|
||||
please_input_project_member=\u8ACB\u586B\u5BEB\u8A72\u9805\u76EE\u4E0B\u7684\u76F8\u95DC\u4EBA\u54E1ID
|
||||
test_case_report_template_repeat=\u540C\u4E00\u7D44\u7E54\u4E0B\u4E0D\u80FD\u5B58\u5728\u540C\u540D\u6A21\u7248
|
||||
plan_name_already_exists=\u6E2C\u8A66\u8A08\u5283\u540D\u7A31\u5DF2\u5B58\u5728
|
||||
test_case_already_exists_excel=\u6587\u4EF6\u4E2D\u5B58\u5728\u591A\u689D\u76F8\u540C\u7528\u4F8B
|
||||
test_case_module_already_exists=\u540C\u5C64\u7D1A\u4E0B\u5DF2\u5B58\u5728\u8A72\u6A21\u584A\u540D\u7A31
|
||||
api_test_name_already_exists=\u6E2C\u8A66\u540D\u7A31\u5DF2\u7D93\u5B58\u5728
|
||||
functional_method_tip=\u529F\u80FD\u6E2C\u8A66\u4E0D\u652F\u6301\u81EA\u52D5\u65B9\u5F0F
|
||||
custom_num_is_exist=\u7528\u4F8B\u81EA\u5B9A\u7FA9ID\u5DF2\u5B58\u5728
|
||||
custom_num_is_not_exist=\u7528\u4F8B\u81EA\u5B9A\u7FA9ID\u4E0D\u5B58\u5728
|
||||
id_required=ID\u5FC5\u586B
|
||||
id_repeat_in_table=\u8868\u683C\u5167ID\u91CD\u5FA9
|
||||
step_model_tip=\u6B65\u9A5F\u63CF\u8FF0\u586B\u5BEB STEP,\u6587\u672C\u63CF\u8FF0\u8ACB\u586B\u5BEB TEXT (\u975E\u5FC5\u586B)
|
||||
case_status_not_exist=\u7528\u4F8B\u72C0\u614B\u5FC5\u9808\u70BA\u672A\u958B\u59CB\uFF08Prepare\uFF09\u3001\u9032\u884C\u4E2D\uFF08Underway\uFF09\u3001\u5DF2\u5B8C\u6210\uFF08Completed\uFF09
|
||||
issue_project_not_exist=ID\u4E0D\u5B58\u5728\u6216\u5176\u5B83\u932F\u8AA4
|
||||
tapd_project_not_exist=\u95DC\u806F\u7684TAPD\u9805\u76EEID\u4E0D\u5B58\u5728
|
||||
zentao_get_project_builds_fail=\u7372\u53D6\u5F71\u97FF\u7248\u672C\u932F\u8AA4
|
||||
zentao_project_id_not_exist=\u95DC\u806F\u7684\u79AA\u9053ID\u4E0D\u5B58\u5728\u6216\u5176\u5B83\u932F\u8AA4
|
||||
#ldap
|
||||
ldap_url_is_null=LDAP地址為空
|
||||
ldap_dn_is_null=LDAP綁定DN為空
|
||||
ldap_ou_is_null=LDAP參數OU為空
|
||||
ldap_password_is_null=LDAP密碼為空
|
||||
ldap_connect_fail=連接LDAP失敗
|
||||
ldap_connect_fail_user=連接LDAP失敗,綁定的DN或密碼錯誤
|
||||
ldap_user_filter_is_null=LDAP用戶過濾器為空
|
||||
ldap_user_mapping_is_null=LDAP用戶屬性映射為空
|
||||
authentication_failed=用戶認證失敗,用戶名或密碼錯誤
|
||||
user_not_found_or_not_unique=用戶不存在或者不唯一
|
||||
find_more_user=查找到多個用戶
|
||||
ldap_authentication_not_enabled=LDAP認證未啟用
|
||||
login_fail_email_null=登錄失敗,用戶郵箱為空
|
||||
login_fail_ou_error=登錄失敗,請檢查用戶OU
|
||||
login_fail_filter_error=登錄失敗,請檢查用戶過濾器
|
||||
check_ldap_mapping=檢查LDAP屬性映射
|
||||
ldap_mapping_value_null=LDAP用戶屬性映射字段為空值
|
||||
oauth_mapping_config_error=OAuth2屬性映射配置錯誤
|
||||
oauth_mapping_value_null=OAuth2用戶屬性映射字段為空值
|
||||
ldap_url_is_null=LDAP\u5730\u5740\u70BA\u7A7A
|
||||
ldap_dn_is_null=LDAP\u7D81\u5B9ADN\u70BA\u7A7A
|
||||
ldap_ou_is_null=LDAP\u53C3\u6578OU\u70BA\u7A7A
|
||||
ldap_password_is_null=LDAP\u5BC6\u78BC\u70BA\u7A7A
|
||||
ldap_connect_fail=\u9023\u63A5LDAP\u5931\u6557
|
||||
ldap_connect_fail_user=\u9023\u63A5LDAP\u5931\u6557\uFF0C\u7D81\u5B9A\u7684DN\u6216\u5BC6\u78BC\u932F\u8AA4
|
||||
ldap_user_filter_is_null=LDAP\u7528\u6236\u904E\u6FFE\u5668\u70BA\u7A7A
|
||||
ldap_user_mapping_is_null=LDAP\u7528\u6236\u5C6C\u6027\u6620\u5C04\u70BA\u7A7A
|
||||
authentication_failed=\u7528\u6236\u8A8D\u8B49\u5931\u6557,\u7528\u6236\u540D\u6216\u5BC6\u78BC\u932F\u8AA4
|
||||
user_not_found_or_not_unique=\u7528\u6236\u4E0D\u5B58\u5728\u6216\u8005\u4E0D\u552F\u4E00
|
||||
find_more_user=\u67E5\u627E\u5230\u591A\u500B\u7528\u6236
|
||||
ldap_authentication_not_enabled=LDAP\u8A8D\u8B49\u672A\u555F\u7528
|
||||
login_fail_email_null=\u767B\u9304\u5931\u6557\uFF0C\u7528\u6236\u90F5\u7BB1\u70BA\u7A7A
|
||||
login_fail_ou_error=\u767B\u9304\u5931\u6557\uFF0C\u8ACB\u6AA2\u67E5\u7528\u6236OU
|
||||
login_fail_filter_error=\u767B\u9304\u5931\u6557\uFF0C\u8ACB\u6AA2\u67E5\u7528\u6236\u904E\u6FFE\u5668
|
||||
check_ldap_mapping=\u6AA2\u67E5LDAP\u5C6C\u6027\u6620\u5C04
|
||||
ldap_mapping_value_null=LDAP\u7528\u6236\u5C6C\u6027\u6620\u5C04\u5B57\u6BB5\u70BA\u7A7A\u503C
|
||||
oauth_mapping_config_error=OAuth2\u5C6C\u6027\u6620\u5C04\u914D\u7F6E\u932F\u8AA4
|
||||
oauth_mapping_value_null=OAuth2\u7528\u6236\u5C6C\u6027\u6620\u5C04\u5B57\u6BB5\u70BA\u7A7A\u503C
|
||||
#quota
|
||||
quota_project_excess_ws_api=項目的接口測試數量總和不能超過工作空間的配額
|
||||
quota_project_excess_ws_performance=項目的性能測試數量總和不能超過工作空間的配額
|
||||
quota_project_excess_ws_max_threads=項目的最大並發數不能超過工作空間的配額
|
||||
quota_project_excess_ws_max_duration=項目的壓測時長不能超過工作空間的配額
|
||||
quota_project_excess_ws_resource_pool=項目的資源池不能超過工作空間的資源池範圍
|
||||
quota_project_excess_ws_vum_total=項目的總vum數量總和不能超過工作空間配額
|
||||
quota_api_excess_organization=接口測試數量超過工作空間限額
|
||||
quota_vum_used_gt_vum_total=總vum數量不能小於已消耗的vum數量
|
||||
quota_api_excess_project=接口測試數量超過項目限額
|
||||
quota_performance_excess_organization=性能測試數量超過工作空間限額
|
||||
quota_performance_excess_project=性能測試數量超過項目限額
|
||||
quota_max_threads_excess_organization=最大並發數超過工作空間限額
|
||||
quota_max_threads_excess_project=最大並發數超過項目限額
|
||||
quota_duration_excess_project=壓測時長超過項目限額
|
||||
quota_member_excess_organization=成員數超過工作空間配額
|
||||
quota_member_excess_project=成員數超過項目配額
|
||||
quota_project_excess_project=項目數超過工作空間配額
|
||||
quota_vum_used_excess_organization=消耗的vum數量超過工作空間配額
|
||||
quota_vum_used_excess_project=消耗的vum數量超過項目配額
|
||||
import_xmind_count_error=思維導圖導入用例數量不能超過 800 條
|
||||
license_valid_license_error=授權認證失敗
|
||||
import_xmind_not_found=未找到測試用例
|
||||
test_review_task_notice=測試評審任務通知
|
||||
swagger_url_scheduled_import_notification=swagger_url定時導入通知
|
||||
test_track.length_less_than=標題過長,字數必須小於
|
||||
quota_project_excess_ws_api=\u9805\u76EE\u7684\u63A5\u53E3\u6E2C\u8A66\u6578\u91CF\u7E3D\u548C\u4E0D\u80FD\u8D85\u904E\u7D44\u7E54\u7684\u914D\u984D
|
||||
quota_project_excess_ws_performance=\u9805\u76EE\u7684\u6027\u80FD\u6E2C\u8A66\u6578\u91CF\u7E3D\u548C\u4E0D\u80FD\u8D85\u904E\u7D44\u7E54\u7684\u914D\u984D
|
||||
quota_project_excess_ws_max_threads=\u9805\u76EE\u7684\u6700\u5927\u4E26\u767C\u6578\u4E0D\u80FD\u8D85\u904E\u7D44\u7E54\u7684\u914D\u984D
|
||||
quota_project_excess_ws_max_duration=\u9805\u76EE\u7684\u58D3\u6E2C\u6642\u9577\u4E0D\u80FD\u8D85\u904E\u7D44\u7E54\u7684\u914D\u984D
|
||||
quota_project_excess_ws_resource_pool=\u9805\u76EE\u7684\u8CC7\u6E90\u6C60\u4E0D\u80FD\u8D85\u904E\u7D44\u7E54\u7684\u8CC7\u6E90\u6C60\u7BC4\u570D
|
||||
quota_project_excess_ws_vum_total=\u9805\u76EE\u7684\u7E3Dvum\u6578\u91CF\u7E3D\u548C\u4E0D\u80FD\u8D85\u904E\u7D44\u7E54\u914D\u984D
|
||||
quota_api_excess_organization=\u63A5\u53E3\u6E2C\u8A66\u6578\u91CF\u8D85\u904E\u7D44\u7E54\u9650\u984D
|
||||
quota_vum_used_gt_vum_total=\u7E3Dvum\u6578\u91CF\u4E0D\u80FD\u5C0F\u65BC\u5DF2\u6D88\u8017\u7684vum\u6578\u91CF
|
||||
quota_api_excess_project=\u63A5\u53E3\u6E2C\u8A66\u6578\u91CF\u8D85\u904E\u9805\u76EE\u9650\u984D
|
||||
quota_performance_excess_organization=\u6027\u80FD\u6E2C\u8A66\u6578\u91CF\u8D85\u904E\u7D44\u7E54\u9650\u984D
|
||||
quota_performance_excess_project=\u6027\u80FD\u6E2C\u8A66\u6578\u91CF\u8D85\u904E\u9805\u76EE\u9650\u984D
|
||||
quota_max_threads_excess_organization=\u6700\u5927\u4E26\u767C\u6578\u8D85\u904E\u7D44\u7E54\u9650\u984D
|
||||
quota_max_threads_excess_project=\u6700\u5927\u4E26\u767C\u6578\u8D85\u904E\u9805\u76EE\u9650\u984D
|
||||
quota_duration_excess_project=\u58D3\u6E2C\u6642\u9577\u8D85\u904E\u9805\u76EE\u9650\u984D
|
||||
quota_member_excess_organization=\u6210\u54E1\u6578\u8D85\u904E\u7D44\u7E54\u914D\u984D
|
||||
quota_member_excess_project=\u6210\u54E1\u6578\u8D85\u904E\u9805\u76EE\u914D\u984D
|
||||
quota_project_excess_project=\u9805\u76EE\u6578\u8D85\u904E\u7D44\u7E54\u914D\u984D
|
||||
quota_vum_used_excess_organization=\u6D88\u8017\u7684vum\u6578\u91CF\u8D85\u904E\u7D44\u7E54\u914D\u984D
|
||||
quota_vum_used_excess_project=\u6D88\u8017\u7684vum\u6578\u91CF\u8D85\u904E\u9805\u76EE\u914D\u984D
|
||||
import_xmind_count_error=\u601D\u7DAD\u5C0E\u5716\u5C0E\u5165\u7528\u4F8B\u6578\u91CF\u4E0D\u80FD\u8D85\u904E 800 \u689D
|
||||
license_valid_license_error=\u6388\u6B0A\u8A8D\u8B49\u5931\u6557
|
||||
import_xmind_not_found=\u672A\u627E\u5230\u6E2C\u8A66\u7528\u4F8B
|
||||
test_review_task_notice=\u6E2C\u8A66\u8A55\u5BE9\u4EFB\u52D9\u901A\u77E5
|
||||
swagger_url_scheduled_import_notification=swagger_url\u5B9A\u6642\u5C0E\u5165\u901A\u77E5
|
||||
test_track.length_less_than=\u6A19\u984C\u904E\u9577\uFF0C\u5B57\u6578\u5FC5\u9808\u5C0F\u65BC
|
||||
# check owner
|
||||
check_owner_project=當前用戶沒有操作此項目的權限
|
||||
check_owner_test=當前用戶沒有操作此測試的權限
|
||||
check_owner_case=當前用戶沒有操作此用例的權限
|
||||
check_owner_plan=當前用戶沒有操作此計劃的權限
|
||||
check_owner_review=當前用戶沒有操作此評審的權限
|
||||
check_owner_comment=當前用戶沒有操作此評論的權限
|
||||
check_owner_organization=當前用戶沒有操作此工作空間的權限
|
||||
upload_content_is_null=導入內容為空
|
||||
test_plan_notification=測試計劃通知
|
||||
task_defect_notification=缺陷任務通知
|
||||
task_notification_=定時任務結果通知
|
||||
api_definition_url_not_repeating=接口請求地址已經存在
|
||||
api_definition_name_not_repeating=相同的名稱-url組合已存在
|
||||
task_notification_jenkins=jenkins任務通知
|
||||
task_notification=任務通知
|
||||
message_task_already_exists=任務接收人已經存在
|
||||
check_owner_project=\u7576\u524D\u7528\u6236\u6C92\u6709\u64CD\u4F5C\u6B64\u9805\u76EE\u7684\u6B0A\u9650
|
||||
check_owner_test=\u7576\u524D\u7528\u6236\u6C92\u6709\u64CD\u4F5C\u6B64\u6E2C\u8A66\u7684\u6B0A\u9650
|
||||
check_owner_case=\u7576\u524D\u7528\u6236\u6C92\u6709\u64CD\u4F5C\u6B64\u7528\u4F8B\u7684\u6B0A\u9650
|
||||
check_owner_plan=\u7576\u524D\u7528\u6236\u6C92\u6709\u64CD\u4F5C\u6B64\u8A08\u5283\u7684\u6B0A\u9650
|
||||
check_owner_review=\u7576\u524D\u7528\u6236\u6C92\u6709\u64CD\u4F5C\u6B64\u8A55\u5BE9\u7684\u6B0A\u9650
|
||||
check_owner_comment=\u7576\u524D\u7528\u6236\u6C92\u6709\u64CD\u4F5C\u6B64\u8A55\u8AD6\u7684\u6B0A\u9650
|
||||
check_owner_organization=\u7576\u524D\u7528\u6236\u6C92\u6709\u64CD\u4F5C\u6B64\u7D44\u7E54\u7684\u6B0A\u9650
|
||||
upload_content_is_null=\u5C0E\u5165\u5167\u5BB9\u70BA\u7A7A
|
||||
test_plan_notification=\u6E2C\u8A66\u8A08\u5283\u901A\u77E5
|
||||
task_defect_notification=\u7F3A\u9677\u4EFB\u52D9\u901A\u77E5
|
||||
task_notification_=\u5B9A\u6642\u4EFB\u52D9\u7D50\u679C\u901A\u77E5
|
||||
api_definition_url_not_repeating=\u63A5\u53E3\u8ACB\u6C42\u5730\u5740\u5DF2\u7D93\u5B58\u5728
|
||||
api_definition_name_not_repeating=\u76F8\u540C\u7684\u540D\u7A31-url\u7D44\u5408\u5DF2\u5B58\u5728
|
||||
task_notification_jenkins=jenkins\u4EFB\u52D9\u901A\u77E5
|
||||
task_notification=\u4EFB\u52D9\u901A\u77E5
|
||||
message_task_already_exists=\u4EFB\u52D9\u63A5\u6536\u4EBA\u5DF2\u7D93\u5B58\u5728
|
||||
#automation
|
||||
automation_name_already_exists=同一個項目同一模塊下,場景名稱不能重復
|
||||
automation_exec_info=沒有測試步驟,無法執行
|
||||
delete_check_reference_by=被場景引用
|
||||
not_execute=未執行
|
||||
execute_not_pass=未通過
|
||||
execute_pass=通過
|
||||
import_fail_custom_num_exists=導入失敗,自定義ID已存在
|
||||
automation_name_already_exists=\u540C\u4E00\u500B\u9805\u76EE\u540C\u4E00\u6A21\u584A\u4E0B\uFF0C\u5834\u666F\u540D\u7A31\u4E0D\u80FD\u91CD\u5FA9
|
||||
automation_exec_info=\u6C92\u6709\u6E2C\u8A66\u6B65\u9A5F\uFF0C\u7121\u6CD5\u57F7\u884C
|
||||
delete_check_reference_by=\u88AB\u5834\u666F\u5F15\u7528
|
||||
not_execute=\u672A\u57F7\u884C
|
||||
execute_not_pass=\u672A\u901A\u904E
|
||||
execute_pass=\u901A\u904E
|
||||
import_fail_custom_num_exists=\u5C0E\u5165\u5931\u6557\uFF0C\u81EA\u5B9A\u7FA9ID\u5DF2\u5B58\u5728
|
||||
#authsource
|
||||
authsource_name_already_exists=認證源名稱已經存在
|
||||
authsource_name_is_null=認證源名稱不能為空
|
||||
authsource_configuration_is_null=認證源配置不能為空
|
||||
custom_field_already=工作空間下已存在該字段:
|
||||
template_already=工作空間下已存在該模板:
|
||||
expect_name_exists=預期名稱已存在
|
||||
ssl_password_error=認證密碼錯誤,請重新輸入密碼
|
||||
ssl_file_error=認證文件加載失敗,請檢查認證文件
|
||||
authsource_name_already_exists=\u8A8D\u8B49\u6E90\u540D\u7A31\u5DF2\u7D93\u5B58\u5728
|
||||
authsource_name_is_null=\u8A8D\u8B49\u6E90\u540D\u7A31\u4E0D\u80FD\u70BA\u7A7A
|
||||
authsource_configuration_is_null=\u8A8D\u8B49\u6E90\u914D\u7F6E\u4E0D\u80FD\u70BA\u7A7A
|
||||
custom_field_already=\u7D44\u7E54\u4E0B\u5DF2\u5B58\u5728\u8A72\u5B57\u6BB5\uFF1A
|
||||
template_already=\u7D44\u7E54\u4E0B\u5DF2\u5B58\u5728\u8A72\u6A21\u677F\uFF1A
|
||||
expect_name_exists=\u9810\u671F\u540D\u7A31\u5DF2\u5B58\u5728
|
||||
ssl_password_error=\u8A8D\u8B49\u5BC6\u78BC\u932F\u8AA4\uFF0C\u8ACB\u91CD\u65B0\u8F38\u5165\u5BC6\u78BC
|
||||
ssl_file_error=\u8A8D\u8B49\u6587\u4EF6\u52A0\u8F09\u5931\u6557\uFF0C\u8ACB\u6AA2\u67E5\u8A8D\u8B49\u6587\u4EF6
|
||||
#log
|
||||
api_definition=接口定義
|
||||
api_definition_case=接口定義用例
|
||||
api_automation=接口自動化
|
||||
api_automation_schedule=接口自動化-定時任務
|
||||
api_automation_report=測試報告
|
||||
track_test_case=測試用例
|
||||
track_test_case_review=用例評審
|
||||
track_test_plan=測試計劃
|
||||
track_test_plan_schedule=測試計劃-定時任務
|
||||
track_bug=缺陷管理
|
||||
track_report=報告
|
||||
performance_test=性能測試
|
||||
performance_test_report=性能測試報告
|
||||
system_user=系統-用戶
|
||||
system_organization=系統-組織
|
||||
system_organization=工作空間
|
||||
system_test_resource=系統-測試資源池
|
||||
system_parameter_setting=系統-系統參數設置
|
||||
system_quota_management=系統-配額管理
|
||||
system_authorization_management=系統-授權管理
|
||||
organization_member=組織-成員
|
||||
organization_organization=組織-工作空間
|
||||
organization_service_integration=工作空間-服務集成
|
||||
organization_message_settings=工作空間-消息設置
|
||||
organization_member=工作空間-成員
|
||||
organization_template_settings_field=工作空間-模版設置-自定義字段
|
||||
organization_template_settings_case=工作空間-模版設置-用例模版
|
||||
organization_template_settings_bug=工作空間-模版設置-缺陷模版
|
||||
project_project_manager=項目-項目管理
|
||||
project_project_member=項目-成員
|
||||
project_project_jar=項目-JAR包管理
|
||||
project_environment_setting=項目-環境設置
|
||||
project_file_management=項目-文件管理
|
||||
personal_information_personal_settings=個人信息-個人設置
|
||||
personal_information_apikeys=個人信息-API Keys
|
||||
auth_title=系統認證
|
||||
group_permission=用戶組與權限
|
||||
test_case_status_prepare=未開始
|
||||
test_case_status_again=重新提審
|
||||
test_case_status_running=進行中
|
||||
test_case_status_finished=已完成
|
||||
connection_expired=連接已失效,請重新獲取
|
||||
api_definition=\u63A5\u53E3\u5B9A\u7FA9
|
||||
api_definition_case=\u63A5\u53E3\u5B9A\u7FA9\u7528\u4F8B
|
||||
api_automation=\u63A5\u53E3\u81EA\u52D5\u5316
|
||||
api_automation_schedule=\u63A5\u53E3\u81EA\u52D5\u5316-\u5B9A\u6642\u4EFB\u52D9
|
||||
api_automation_report=\u6E2C\u8A66\u5831\u544A
|
||||
track_test_case=\u6E2C\u8A66\u7528\u4F8B
|
||||
track_test_case_review=\u7528\u4F8B\u8A55\u5BE9
|
||||
track_test_plan=\u6E2C\u8A66\u8A08\u5283
|
||||
track_test_plan_schedule=\u6E2C\u8A66\u8A08\u5283-\u5B9A\u6642\u4EFB\u52D9
|
||||
track_bug=\u7F3A\u9677\u7BA1\u7406
|
||||
track_report=\u5831\u544A
|
||||
performance_test=\u6027\u80FD\u6E2C\u8A66
|
||||
performance_test_report=\u6027\u80FD\u6E2C\u8A66\u5831\u544A
|
||||
system_user=\u7CFB\u7D71-\u7528\u6236
|
||||
system_organization=\u7CFB\u7D71-\u7D44\u7E54
|
||||
system_test_resource=\u7CFB\u7D71-\u6E2C\u8A66\u8CC7\u6E90\u6C60
|
||||
system_parameter_setting=\u7CFB\u7D71-\u7CFB\u7D71\u53C3\u6578\u8A2D\u7F6E
|
||||
system_quota_management=\u7CFB\u7D71-\u914D\u984D\u7BA1\u7406
|
||||
system_authorization_management=\u7CFB\u7D71-\u6388\u6B0A\u7BA1\u7406
|
||||
organization_member=\u7D44\u7E54-\u6210\u54E1
|
||||
organization_service_integration=\u7D44\u7E54-\u670D\u52D9\u96C6\u6210
|
||||
organization_message_settings=\u7D44\u7E54-\u6D88\u606F\u8A2D\u7F6E
|
||||
organization_template_settings_field=\u7D44\u7E54-\u6A21\u7248\u8A2D\u7F6E-\u81EA\u5B9A\u7FA9\u5B57\u6BB5
|
||||
organization_template_settings_case=\u7D44\u7E54-\u6A21\u7248\u8A2D\u7F6E-\u7528\u4F8B\u6A21\u7248
|
||||
organization_template_settings_bug=\u7D44\u7E54-\u6A21\u7248\u8A2D\u7F6E-\u7F3A\u9677\u6A21\u7248
|
||||
project_project_manager=\u9805\u76EE-\u9805\u76EE\u7BA1\u7406
|
||||
project_project_member=\u9805\u76EE-\u6210\u54E1
|
||||
project_project_jar=\u9805\u76EE-JAR\u5305\u7BA1\u7406
|
||||
project_environment_setting=\u9805\u76EE-\u74B0\u5883\u8A2D\u7F6E
|
||||
project_file_management=\u9805\u76EE-\u6587\u4EF6\u7BA1\u7406
|
||||
personal_information_personal_settings=\u500B\u4EBA\u4FE1\u606F-\u500B\u4EBA\u8A2D\u7F6E
|
||||
personal_information_apikeys=\u500B\u4EBA\u4FE1\u606F-API Keys
|
||||
auth_title=\u7CFB\u7D71\u8A8D\u8B49
|
||||
group_permission=\u7528\u6236\u7D44\u8207\u6B0A\u9650
|
||||
test_case_status_prepare=\u672A\u958B\u59CB
|
||||
test_case_status_again=\u91CD\u65B0\u63D0\u5BE9
|
||||
test_case_status_running=\u9032\u884C\u4E2D
|
||||
test_case_status_finished=\u5DF2\u5B8C\u6210
|
||||
connection_expired=\u9023\u63A5\u5DF2\u5931\u6548\uFF0C\u8ACB\u91CD\u65B0\u7372\u53D6
|
||||
# track home
|
||||
api_case=接口用例
|
||||
performance_case=性能用例
|
||||
scenario_case=場景用例
|
||||
scenario_name_is_null=場景名稱不能為空
|
||||
test_case_status_error=失敗
|
||||
test_case_status_success=成功
|
||||
test_case_status_trash=廢棄
|
||||
test_case_status_saved=已保存
|
||||
create_user=創建人
|
||||
test_case_status=用例狀態
|
||||
id_not_rightful=ID 不合法
|
||||
project_reference_multiple_plateform=項目指向多個第三方平臺
|
||||
api_case=\u63A5\u53E3\u7528\u4F8B
|
||||
performance_case=\u6027\u80FD\u7528\u4F8B
|
||||
scenario_case=\u5834\u666F\u7528\u4F8B
|
||||
scenario_name_is_null=\u5834\u666F\u540D\u7A31\u4E0D\u80FD\u70BA\u7A7A
|
||||
test_case_status_error=\u5931\u6557
|
||||
test_case_status_success=\u6210\u529F
|
||||
test_case_status_trash=\u5EE2\u68C4
|
||||
test_case_status_saved=\u5DF2\u4FDD\u5B58
|
||||
create_user=\u5275\u5EFA\u4EBA
|
||||
test_case_status=\u7528\u4F8B\u72C0\u614B
|
||||
id_not_rightful=ID \u4E0D\u5408\u6CD5
|
||||
project_reference_multiple_plateform=\u9805\u76EE\u6307\u5411\u591A\u500B\u7B2C\u4E09\u65B9\u5E73\u81FA
|
||||
# mock
|
||||
mock_warning=未找到匹配的Mock期望
|
||||
zentao_test_type_error=請求方式錯誤
|
||||
#项目报告
|
||||
enterprise_test_report=項目報告
|
||||
count=統計
|
||||
cannot_find_project=未找到測試項目
|
||||
project_repeatable_is_false=項目未配置URL可重複
|
||||
#环境组
|
||||
null_environment_group_name=環境組名稱不存在
|
||||
environment_group_name=環境組名稱
|
||||
environment_group_exist=已存在
|
||||
environment_group_has_duplicate_project=每個項目只能選擇一個環境!
|
||||
#误报库
|
||||
error_report_library=誤報庫
|
||||
bug_jira_info_error=請檢查服務集成信息或Jira項目ID
|
||||
error_code_is_unique=錯誤代碼不可重複
|
||||
no_version_exists=不存在版本!請先創建項目的版本
|
||||
jira_auth_error=賬號名或密碼(Token)錯誤
|
||||
jira_auth_url_error=測試連接失敗,請檢查Jira地址是否正確
|
||||
#ui 指令校驗
|
||||
param_error=參數校驗失敗!請檢查
|
||||
is_null=不能為空
|
||||
url_is_null=URL 參數不能為空
|
||||
frame_index_is_null=網頁索引號不能為空
|
||||
element_is_null=元素對象已經被刪除
|
||||
locator_is_null=元素定位參數不能有空
|
||||
coord=坐標
|
||||
input_content=輸入內容
|
||||
subitem_type=子選項類型
|
||||
subitem=子選項值
|
||||
varname=變量名
|
||||
varname_or_value=變量名或變量值
|
||||
attributeName=屬性名
|
||||
webtitle_varname=網頁標題變量名
|
||||
webhandle_varname=網頁窗口 handle變量名
|
||||
cant_be_negative=不能為負數
|
||||
expression=表達式
|
||||
times=循環次數
|
||||
command=步驟
|
||||
extract_type=提取信息類型
|
||||
cmdValidation=斷言
|
||||
cmdValidateValue=斷言值
|
||||
cmdValidateText=彈窗文本
|
||||
cmdValidateDropdown=下拉框
|
||||
cmdValidateElement=元素斷言
|
||||
cmdValidateTitle=網頁標題
|
||||
cmdOpen=打開網頁
|
||||
cmdSelectWindow=切換窗口
|
||||
cmdSetWindowSize=設置窗口大小
|
||||
cmdSelectFrame=選擇內嵌網頁
|
||||
cmdDialog=彈窗操作
|
||||
cmdDropdownBox=下拉框操作
|
||||
submit=提交表單
|
||||
cmdSetItem=設置選項
|
||||
cmdWaitElement=等待元素
|
||||
cmdInput=輸入操作
|
||||
cmdMouseClick=鼠標點擊
|
||||
cmdMouseMove=鼠標移動
|
||||
cmdMouseDrag=鼠標拖拽
|
||||
cmdTimes=次數循環
|
||||
cmdForEach=ForEach 循環
|
||||
cmdWhile=While 循環
|
||||
mock_warning=\u672A\u627E\u5230\u5339\u914D\u7684Mock\u671F\u671B
|
||||
zentao_test_type_error=\u8ACB\u6C42\u65B9\u5F0F\u932F\u8AA4
|
||||
#\u9879\u76EE\u62A5\u544A
|
||||
enterprise_test_report=\u9805\u76EE\u5831\u544A
|
||||
count=\u7D71\u8A08
|
||||
cannot_find_project=\u672A\u627E\u5230\u6E2C\u8A66\u9805\u76EE
|
||||
project_repeatable_is_false=\u9805\u76EE\u672A\u914D\u7F6EURL\u53EF\u91CD\u8907
|
||||
#\u73AF\u5883\u7EC4
|
||||
null_environment_group_name=\u74B0\u5883\u7D44\u540D\u7A31\u4E0D\u5B58\u5728
|
||||
environment_group_name=\u74B0\u5883\u7D44\u540D\u7A31
|
||||
environment_group_exist=\u5DF2\u5B58\u5728
|
||||
environment_group_has_duplicate_project=\u6BCF\u500B\u9805\u76EE\u53EA\u80FD\u9078\u64C7\u4E00\u500B\u74B0\u5883\uFF01
|
||||
#\u8BEF\u62A5\u5E93
|
||||
error_report_library=\u8AA4\u5831\u5EAB
|
||||
bug_jira_info_error=\u8ACB\u6AA2\u67E5\u670D\u52D9\u96C6\u6210\u4FE1\u606F\u6216Jira\u9805\u76EEID
|
||||
error_code_is_unique=\u932F\u8AA4\u4EE3\u78BC\u4E0D\u53EF\u91CD\u8907
|
||||
no_version_exists=\u4E0D\u5B58\u5728\u7248\u672C\uFF01\u8ACB\u5148\u5275\u5EFA\u9805\u76EE\u7684\u7248\u672C
|
||||
jira_auth_error=\u8CEC\u865F\u540D\u6216\u5BC6\u78BC(Token)\u932F\u8AA4
|
||||
jira_auth_url_error=\u6E2C\u8A66\u9023\u63A5\u5931\u6557\uFF0C\u8ACB\u6AA2\u67E5Jira\u5730\u5740\u662F\u5426\u6B63\u78BA
|
||||
#ui \u6307\u4EE4\u6821\u9A57
|
||||
param_error=\u53C3\u6578\u6821\u9A57\u5931\u6557\uFF01\u8ACB\u6AA2\u67E5
|
||||
is_null=\u4E0D\u80FD\u70BA\u7A7A
|
||||
url_is_null=URL \u53C3\u6578\u4E0D\u80FD\u70BA\u7A7A
|
||||
frame_index_is_null=\u7DB2\u9801\u7D22\u5F15\u865F\u4E0D\u80FD\u70BA\u7A7A
|
||||
element_is_null=\u5143\u7D20\u5C0D\u8C61\u5DF2\u7D93\u88AB\u522A\u9664
|
||||
locator_is_null=\u5143\u7D20\u5B9A\u4F4D\u53C3\u6578\u4E0D\u80FD\u6709\u7A7A
|
||||
coord=\u5750\u6A19
|
||||
input_content=\u8F38\u5165\u5167\u5BB9
|
||||
subitem_type=\u5B50\u9078\u9805\u985E\u578B
|
||||
subitem=\u5B50\u9078\u9805\u503C
|
||||
varname=\u8B8A\u91CF\u540D
|
||||
varname_or_value=\u8B8A\u91CF\u540D\u6216\u8B8A\u91CF\u503C
|
||||
attributeName=\u5C6C\u6027\u540D
|
||||
webtitle_varname=\u7DB2\u9801\u6A19\u984C\u8B8A\u91CF\u540D
|
||||
webhandle_varname=\u7DB2\u9801\u7A97\u53E3 handle\u8B8A\u91CF\u540D
|
||||
cant_be_negative=\u4E0D\u80FD\u70BA\u8CA0\u6578
|
||||
expression=\u8868\u9054\u5F0F
|
||||
times=\u5FAA\u74B0\u6B21\u6578
|
||||
command=\u6B65\u9A5F
|
||||
extract_type=\u63D0\u53D6\u4FE1\u606F\u985E\u578B
|
||||
cmdValidation=\u65B7\u8A00
|
||||
cmdValidateValue=\u65B7\u8A00\u503C
|
||||
cmdValidateText=\u5F48\u7A97\u6587\u672C
|
||||
cmdValidateDropdown=\u4E0B\u62C9\u6846
|
||||
cmdValidateElement=\u5143\u7D20\u65B7\u8A00
|
||||
cmdValidateTitle=\u7DB2\u9801\u6A19\u984C
|
||||
cmdOpen=\u6253\u958B\u7DB2\u9801
|
||||
cmdSelectWindow=\u5207\u63DB\u7A97\u53E3
|
||||
cmdSetWindowSize=\u8A2D\u7F6E\u7A97\u53E3\u5927\u5C0F
|
||||
cmdSelectFrame=\u9078\u64C7\u5167\u5D4C\u7DB2\u9801
|
||||
cmdDialog=\u5F48\u7A97\u64CD\u4F5C
|
||||
cmdDropdownBox=\u4E0B\u62C9\u6846\u64CD\u4F5C
|
||||
submit=\u63D0\u4EA4\u8868\u55AE
|
||||
cmdSetItem=\u8A2D\u7F6E\u9078\u9805
|
||||
cmdWaitElement=\u7B49\u5F85\u5143\u7D20
|
||||
cmdInput=\u8F38\u5165\u64CD\u4F5C
|
||||
cmdMouseClick=\u9F20\u6A19\u9EDE\u64CA
|
||||
cmdMouseMove=\u9F20\u6A19\u79FB\u52D5
|
||||
cmdMouseDrag=\u9F20\u6A19\u62D6\u62FD
|
||||
cmdTimes=\u6B21\u6578\u5FAA\u74B0
|
||||
cmdForEach=ForEach \u5FAA\u74B0
|
||||
cmdWhile=While \u5FAA\u74B0
|
||||
cmdIf=If
|
||||
cmdElse=Else
|
||||
cmdElseIf=ElseIf
|
||||
close=關閉網頁
|
||||
cmdExtraction=數據提取
|
||||
cmdExtractWindow=提取窗口信息
|
||||
cmdExtractElement=提取元素信息
|
||||
tcp_mock_not_unique=該TCP端口號已被使用
|
||||
no_tcp_mock_port=無可用的TCP端口號,請聯繫管理員
|
||||
name_already_exists_in_module=同層級下已存在
|
||||
close=\u95DC\u9589\u7DB2\u9801
|
||||
cmdExtraction=\u6578\u64DA\u63D0\u53D6
|
||||
cmdExtractWindow=\u63D0\u53D6\u7A97\u53E3\u4FE1\u606F
|
||||
cmdExtractElement=\u63D0\u53D6\u5143\u7D20\u4FE1\u606F
|
||||
tcp_mock_not_unique=\u8A72TCP\u7AEF\u53E3\u865F\u5DF2\u88AB\u4F7F\u7528
|
||||
no_tcp_mock_port=\u7121\u53EF\u7528\u7684TCP\u7AEF\u53E3\u865F\uFF0C\u8ACB\u806F\u7E6B\u7BA1\u7406\u54E1
|
||||
name_already_exists_in_module=\u540C\u5C64\u7D1A\u4E0B\u5DF2\u5B58\u5728
|
||||
# bug template copy
|
||||
target_bug_template_not_checked=無法複製,未選中目標項目
|
||||
source_bug_template_is_empty=複製錯誤,源項目為空
|
||||
target_bug_template_not_checked=\u7121\u6CD5\u8907\u88FD\uFF0C\u672A\u9078\u4E2D\u76EE\u6A19\u9805\u76EE
|
||||
source_bug_template_is_empty=\u8907\u88FD\u932F\u8AA4\uFF0C\u6E90\u9805\u76EE\u70BA\u7A7A
|
||||
|
||||
#plugin
|
||||
get_plugin_instance_error=獲取插件接口實現類錯誤!
|
||||
get_plugin_instance_error=\u7372\u53D6\u63D2\u4EF6\u63A5\u53E3\u5BE6\u73FE\u985E\u932F\u8AA4\uFF01
|
||||
|
||||
#result message
|
||||
http_result_success=操作成功
|
||||
http_result_unknown_exception=系統未知異常
|
||||
http_result_validate=參數校驗失敗
|
||||
http_result_unauthorized=用戶認證失敗
|
||||
http_result_forbidden=權限認證失敗
|
||||
http_result_success=\u64CD\u4F5C\u6210\u529F
|
||||
http_result_unknown_exception=\u7CFB\u7D71\u672A\u77E5\u7570\u5E38
|
||||
http_result_validate=\u53C3\u6578\u6821\u9A57\u5931\u6557
|
||||
http_result_unauthorized=\u7528\u6236\u8A8D\u8B49\u5931\u6557
|
||||
http_result_forbidden=\u6B0A\u9650\u8A8D\u8B49\u5931\u6557
|
|
@ -147,8 +147,7 @@ organization.name.not_blank=Organization name must not be blank
|
|||
organization.name.length_range=Organization name must be between {min} and {max} characters long
|
||||
organization.create_user.not_blank=Organization create user must not be blank
|
||||
organization.create_user.length_range=Organization create user must be between {min} and {max} characters long
|
||||
|
||||
|
||||
member.id.not_empty=member cannot be empty
|
||||
|
||||
|
||||
|
||||
|
|
|
@ -1,149 +1,150 @@
|
|||
role.not.global.system=角色不是全局系统角色
|
||||
role.not.contains.member=角色不包含系统成员角色
|
||||
user.not.login=未获取到登录用户
|
||||
auth_source.id.not_blank=认证源ID不能为空
|
||||
auth_source.status.length_range=认证源状态长度必须在{min}和{max}之间
|
||||
auth_source.status.not_blank=认证源状态不能为空
|
||||
license.id.not_blank=License ID不能为空
|
||||
message_task.id.not_blank=消息通知任务ID不能为空
|
||||
message_task.type.not_blank=消息通知任务类型不能为空
|
||||
message_task.type.length_range=消息通知任务类型长度必须在{min}和{max}之间
|
||||
message_task.event.not_blank=消息通知任务事件不能为空
|
||||
message_task.event.length_range=消息通知任务事件长度必须在{min}和{max}之间
|
||||
message_task.receiver.not_blank=消息通知任务接收者不能为空
|
||||
message_task.receiver.length_range=消息通知任务接收者长度必须在{min}和{max}之间
|
||||
message_task.task_type.not_blank=消息通知任务任务类型不能为空
|
||||
message_task.task_type.length_range=消息通知任务任务类型长度必须在{min}和{max}之间
|
||||
message_task.test_id.not_blank=消息通知任务测试ID不能为空
|
||||
message_task.test_id.length_range=消息通知任务测试ID长度必须在{min}和{max}之间
|
||||
message_task.project_id.not_blank=消息通知任务项目ID不能为空
|
||||
message_task.project_id.length_range=消息通知任务项目ID长度必须在{min}和{max}之间
|
||||
message_task_blob.id.not_blank=消息通知任务ID不能为空
|
||||
notification.id.not_blank=消息通知ID不能为空
|
||||
notification.type.not_blank=消息通知类型不能为空
|
||||
notification.type.length_range=消息通知类型长度必须在{min}和{max}之间
|
||||
notification.receiver.not_blank=消息通知接收者不能为空
|
||||
notification.receiver.length_range=消息通知接收者长度必须在{min}和{max}之间
|
||||
notification.title.not_blank=消息通知标题不能为空
|
||||
notification.title.length_range=消息通知标题长度必须在{min}和{max}之间
|
||||
notification.status.not_blank=消息通知状态不能为空
|
||||
notification.status.length_range=消息通知状态长度必须在{min}和{max}之间
|
||||
notification.operator.not_blank=消息通知操作者不能为空
|
||||
notification.operator.length_range=消息通知操作者长度必须在{min}和{max}之间
|
||||
notification.operation.not_blank=消息通知操作不能为空
|
||||
notification.operation.length_range=消息通知操作长度必须在{min}和{max}之间
|
||||
notification.resource_id.not_blank=消息通知资源ID不能为空
|
||||
notification.resource_id.length_range=消息通知资源ID长度必须在{min}和{max}之间
|
||||
notification.resource_type.not_blank=消息通知资源类型不能为空
|
||||
notification.resource_type.length_range=消息通知资源类型长度必须在{min}和{max}之间
|
||||
notification.resource_name.not_blank=消息通知资源名称不能为空
|
||||
notification.resource_name.length_range=消息通知资源名称长度必须在{min}和{max}之间
|
||||
novice_statistics.id.not_blank=新手村ID不能为空
|
||||
novice_statistics.guide_step.not_blank=新手村步骤不能为空
|
||||
novice_statistics.guide_step.length_range=新手村步骤长度必须在{min}和{max}之间
|
||||
operating_log.id.not_blank=操作日志ID不能为空
|
||||
operating_log.project_id.not_blank=操作日志项目ID不能为空
|
||||
operating_log.project_id.length_range=操作日志项目ID长度必须在{min}和{max}之间
|
||||
operating_log_resource.id.not_blank=操作日志资源ID不能为空
|
||||
operating_log_resource.operating_log_id.not_blank=操作日志资源操作日志ID不能为空
|
||||
operating_log_resource.operating_log_id.length_range=操作日志资源操作日志ID长度必须在{min}和{max}之间
|
||||
operating_log_resource.source_id.not_blank=操作日志资源来源ID不能为空
|
||||
operating_log_resource.source_id.length_range=操作日志资源来源ID长度必须在{min}和{max}之间
|
||||
plugin.id.not_blank=插件主键不能为空
|
||||
plugin.plugin_id.not_blank=插件ID不能为空
|
||||
plugin.plugin_id.length_range=插件ID长度必须在{min}和{max}之间
|
||||
plugin.script_id.not_blank=插件脚本ID不能为空
|
||||
plugin.script_id.length_range=插件脚本ID长度必须在{min}和{max}之间
|
||||
plugin.clazz_name.not_blank=插件类名不能为空
|
||||
plugin.clazz_name.length_range=插件类名长度必须在{min}和{max}之间
|
||||
plugin.jmeter_clazz.not_blank=插件jmeter类名不能为空
|
||||
plugin.jmeter_clazz.length_range=插件jmeter类名长度必须在{min}和{max}之间
|
||||
plugin.source_path.not_blank=插件源路径不能为空
|
||||
plugin.source_path.length_range=插件源路径长度必须在{min}和{max}之间
|
||||
plugin.source_name.not_blank=插件源名称不能为空
|
||||
plugin.source_name.length_range=插件源名称长度必须在{min}和{max}之间
|
||||
plugin.scenario.not_blank=插件场景不能为空
|
||||
plugin.scenario.length_range=插件场景长度必须在{min}和{max}之间
|
||||
plugin_blob.id.not_blank=插件ID不能为空
|
||||
quota.id.not_blank=配额ID不能为空
|
||||
schedule.id.not_blank=定时任务ID不能为空
|
||||
schedule.type.not_blank=定时任务类型不能为空
|
||||
schedule.type.length_range=定时任务类型长度必须在{min}和{max}之间
|
||||
schedule.value.not_blank=定时任务值不能为空
|
||||
schedule.value.length_range=定时任务值长度必须在{min}和{max}之间
|
||||
schedule.job.not_blank=定时任务不能为空
|
||||
schedule.job.length_range=定时任务长度必须在{min}和{max}之间
|
||||
schedule.create_user.not_blank=定时任务创建人不能为空
|
||||
schedule.create_user.length_range=定时任务创建人长度必须在{min}和{max}之间
|
||||
service_integration.id.not_blank=服务集成ID不能为空
|
||||
service_integration.platform.not_blank=服务集成平台不能为空
|
||||
service_integration.platform.length_range=服务集成平台长度必须在{min}和{max}之间
|
||||
system_parameter.param_key.not_blank=系统参数Key不能为空
|
||||
system_parameter.type.not_blank=系统参数类型不能为空
|
||||
system_parameter.type.length_range=系统参数类型长度必须在{min}和{max}之间
|
||||
test_resource.id.not_blank=资源池节点ID不能为空
|
||||
test_resource.test_resource_pool_id.not_blank=资源池ID不能为空
|
||||
test_resource.test_resource_pool_id.length_range=资源池ID长度必须在{min}和{max}之间
|
||||
test_resource.status.not_blank=资源池节点状态不能为空
|
||||
test_resource.status.length_range=资源池节点状态长度必须在{min}和{max}之间
|
||||
test_resource_pool.id.not_blank=资源池ID不能为空
|
||||
test_resource_pool.name.not_blank=资源池名称不能为空
|
||||
test_resource_pool.name.length_range=资源池名称长度必须在{min}和{max}之间
|
||||
test_resource_pool.type.not_blank=资源池类型不能为空
|
||||
test_resource_pool.type.length_range=资源池类型长度必须在{min}和{max}之间
|
||||
test_resource_pool.status.not_blank=资源池状态不能为空
|
||||
test_resource_pool.status.length_range=资源池状态长度必须在{min}和{max}之间
|
||||
user.id.not_blank=用户ID不能为空
|
||||
user.name.not_blank=用户名称不能为空
|
||||
user.name.length_range=用户名称长度必须在{min}和{max}之间
|
||||
user.email.not_blank=用户email不能为空
|
||||
user.email.length_range=用户email长度必须在{min}和{max}之间
|
||||
user.email.repeat=用户email已存在
|
||||
user.email.invalid=用户email格式不正确
|
||||
user.status.not_blank=用户状态不能为空
|
||||
user.status.length_range=用户状态长度必须在{min}和{max}之间
|
||||
user.source.not_blank=用户来源不能为空
|
||||
user.source.length_range=用户来源长度必须在{min}和{max}之间
|
||||
user.create_user.not_blank=用户创建人不能为空
|
||||
user.create_user.length_range=用户创建人长度必须在{min}和{max}之间
|
||||
user_extend.id.not_blank=用户ID不能为空
|
||||
user_key.id.not_blank=用户ApiKey ID不能为空
|
||||
user_key.create_user.not_blank=用户ApiKey创建人不能为空
|
||||
user_key.create_user.length_range=用户ApiKey创建人长度必须在{min}和{max}之间
|
||||
user_key.access_key.not_blank=用户ApiKey access key不能为空
|
||||
user_key.access_key.length_range=用户ApiKey access key长度必须在{min}和{max}之间
|
||||
user_key.secret_key.not_blank=用户ApiKey secret key不能为空
|
||||
user_key.secret_key.length_range=用户ApiKey secret key长度必须在{min}和{max}之间
|
||||
user.info.not_empty=用户信息不能为空
|
||||
user.organizationId.not_blank=用户组织不能为空
|
||||
user.projectId.not_blank=用户项目不能为空
|
||||
user_role.id.not_blank=用户组ID不能为空
|
||||
user_role.name.not_blank=用户组名称不能为空
|
||||
user_role.name.length_range=用户组名称长度必须在{min}和{max}之间
|
||||
user_role.system.not_blank=是否是系统用户组不能为空
|
||||
user_role.system.length_range=是否是系统用户组长度必须在{min}和{max}之间
|
||||
user_role.type.not_blank=用户组类型不能为空
|
||||
user_role.type.length_range=用户组类型长度必须在{min}和{max}之间
|
||||
user_role.create_user.not_blank=用户组创建人不能为空
|
||||
user_role.create_user.length_range=用户组创建人长度必须在{min}和{max}之间
|
||||
user_role.scope_id.not_blank=用户组应用范围不能为空
|
||||
user_role.scope_id.length_range=用户组应用范围长度必须在{min}和{max}之间
|
||||
user_role_permission.id.not_blank=用户组权限ID不能为空
|
||||
user_role_permission.role_id.not_blank=用户组权限用户组ID不能为空
|
||||
user_role_permission.role_id.length_range=用户组权限用户组ID长度必须在{min}和{max}之间
|
||||
user_role_permission.permission_id.not_blank=用户组权限权限ID不能为空
|
||||
user_role_permission.permission_id.length_range=用户组权限权限ID长度必须在{min}和{max}之间
|
||||
user_role_permission.module_id.not_blank=用户组权限模块ID不能为空
|
||||
user_role_permission.module_id.length_range=用户组权限模块ID长度必须在{min}和{max}之间
|
||||
user_role_relation.id.not_blank=用户组关系ID不能为空
|
||||
user_role_relation.user_id.not_blank=用户组关系用户ID不能为空
|
||||
user_role_relation.user_id.length_range=用户组关系用户ID长度必须在{min}和{max}之间
|
||||
user_role_relation.role_id.not_blank=用户组关系用户组ID不能为空
|
||||
user_role_relation.role_id.length_range=用户组关系用户组ID长度必须在{min}和{max}之间
|
||||
user_role_relation.source_id.not_blank=用户组关系来源ID不能为空
|
||||
user_role_relation.source_id.length_range=用户组关系来源ID长度必须在{min}和{max}之间
|
||||
organization.id.not_blank=工作空间ID不能为空
|
||||
organization.name.not_blank=工作空间名称不能为空
|
||||
organization.name.length_range=工作空间名称长度必须在{min}和{max}之间
|
||||
organization.create_user.not_blank=工作空间创建人不能为空
|
||||
organization.create_user.length_range=工作空间创建人长度必须在{min}和{max}之间
|
||||
role.not.global.system=\u89D2\u8272\u4E0D\u662F\u5168\u5C40\u7CFB\u7EDF\u89D2\u8272
|
||||
role.not.contains.member=\u89D2\u8272\u4E0D\u5305\u542B\u7CFB\u7EDF\u6210\u5458\u89D2\u8272
|
||||
user.not.login=\u672A\u83B7\u53D6\u5230\u767B\u5F55\u7528\u6237
|
||||
auth_source.id.not_blank=\u8BA4\u8BC1\u6E90ID\u4E0D\u80FD\u4E3A\u7A7A
|
||||
auth_source.status.length_range=\u8BA4\u8BC1\u6E90\u72B6\u6001\u957F\u5EA6\u5FC5\u987B\u5728{min}\u548C{max}\u4E4B\u95F4
|
||||
auth_source.status.not_blank=\u8BA4\u8BC1\u6E90\u72B6\u6001\u4E0D\u80FD\u4E3A\u7A7A
|
||||
license.id.not_blank=License ID\u4E0D\u80FD\u4E3A\u7A7A
|
||||
message_task.id.not_blank=\u6D88\u606F\u901A\u77E5\u4EFB\u52A1ID\u4E0D\u80FD\u4E3A\u7A7A
|
||||
message_task.type.not_blank=\u6D88\u606F\u901A\u77E5\u4EFB\u52A1\u7C7B\u578B\u4E0D\u80FD\u4E3A\u7A7A
|
||||
message_task.type.length_range=\u6D88\u606F\u901A\u77E5\u4EFB\u52A1\u7C7B\u578B\u957F\u5EA6\u5FC5\u987B\u5728{min}\u548C{max}\u4E4B\u95F4
|
||||
message_task.event.not_blank=\u6D88\u606F\u901A\u77E5\u4EFB\u52A1\u4E8B\u4EF6\u4E0D\u80FD\u4E3A\u7A7A
|
||||
message_task.event.length_range=\u6D88\u606F\u901A\u77E5\u4EFB\u52A1\u4E8B\u4EF6\u957F\u5EA6\u5FC5\u987B\u5728{min}\u548C{max}\u4E4B\u95F4
|
||||
message_task.receiver.not_blank=\u6D88\u606F\u901A\u77E5\u4EFB\u52A1\u63A5\u6536\u8005\u4E0D\u80FD\u4E3A\u7A7A
|
||||
message_task.receiver.length_range=\u6D88\u606F\u901A\u77E5\u4EFB\u52A1\u63A5\u6536\u8005\u957F\u5EA6\u5FC5\u987B\u5728{min}\u548C{max}\u4E4B\u95F4
|
||||
message_task.task_type.not_blank=\u6D88\u606F\u901A\u77E5\u4EFB\u52A1\u4EFB\u52A1\u7C7B\u578B\u4E0D\u80FD\u4E3A\u7A7A
|
||||
message_task.task_type.length_range=\u6D88\u606F\u901A\u77E5\u4EFB\u52A1\u4EFB\u52A1\u7C7B\u578B\u957F\u5EA6\u5FC5\u987B\u5728{min}\u548C{max}\u4E4B\u95F4
|
||||
message_task.test_id.not_blank=\u6D88\u606F\u901A\u77E5\u4EFB\u52A1\u6D4B\u8BD5ID\u4E0D\u80FD\u4E3A\u7A7A
|
||||
message_task.test_id.length_range=\u6D88\u606F\u901A\u77E5\u4EFB\u52A1\u6D4B\u8BD5ID\u957F\u5EA6\u5FC5\u987B\u5728{min}\u548C{max}\u4E4B\u95F4
|
||||
message_task.project_id.not_blank=\u6D88\u606F\u901A\u77E5\u4EFB\u52A1\u9879\u76EEID\u4E0D\u80FD\u4E3A\u7A7A
|
||||
message_task.project_id.length_range=\u6D88\u606F\u901A\u77E5\u4EFB\u52A1\u9879\u76EEID\u957F\u5EA6\u5FC5\u987B\u5728{min}\u548C{max}\u4E4B\u95F4
|
||||
message_task_blob.id.not_blank=\u6D88\u606F\u901A\u77E5\u4EFB\u52A1ID\u4E0D\u80FD\u4E3A\u7A7A
|
||||
notification.id.not_blank=\u6D88\u606F\u901A\u77E5ID\u4E0D\u80FD\u4E3A\u7A7A
|
||||
notification.type.not_blank=\u6D88\u606F\u901A\u77E5\u7C7B\u578B\u4E0D\u80FD\u4E3A\u7A7A
|
||||
notification.type.length_range=\u6D88\u606F\u901A\u77E5\u7C7B\u578B\u957F\u5EA6\u5FC5\u987B\u5728{min}\u548C{max}\u4E4B\u95F4
|
||||
notification.receiver.not_blank=\u6D88\u606F\u901A\u77E5\u63A5\u6536\u8005\u4E0D\u80FD\u4E3A\u7A7A
|
||||
notification.receiver.length_range=\u6D88\u606F\u901A\u77E5\u63A5\u6536\u8005\u957F\u5EA6\u5FC5\u987B\u5728{min}\u548C{max}\u4E4B\u95F4
|
||||
notification.title.not_blank=\u6D88\u606F\u901A\u77E5\u6807\u9898\u4E0D\u80FD\u4E3A\u7A7A
|
||||
notification.title.length_range=\u6D88\u606F\u901A\u77E5\u6807\u9898\u957F\u5EA6\u5FC5\u987B\u5728{min}\u548C{max}\u4E4B\u95F4
|
||||
notification.status.not_blank=\u6D88\u606F\u901A\u77E5\u72B6\u6001\u4E0D\u80FD\u4E3A\u7A7A
|
||||
notification.status.length_range=\u6D88\u606F\u901A\u77E5\u72B6\u6001\u957F\u5EA6\u5FC5\u987B\u5728{min}\u548C{max}\u4E4B\u95F4
|
||||
notification.operator.not_blank=\u6D88\u606F\u901A\u77E5\u64CD\u4F5C\u8005\u4E0D\u80FD\u4E3A\u7A7A
|
||||
notification.operator.length_range=\u6D88\u606F\u901A\u77E5\u64CD\u4F5C\u8005\u957F\u5EA6\u5FC5\u987B\u5728{min}\u548C{max}\u4E4B\u95F4
|
||||
notification.operation.not_blank=\u6D88\u606F\u901A\u77E5\u64CD\u4F5C\u4E0D\u80FD\u4E3A\u7A7A
|
||||
notification.operation.length_range=\u6D88\u606F\u901A\u77E5\u64CD\u4F5C\u957F\u5EA6\u5FC5\u987B\u5728{min}\u548C{max}\u4E4B\u95F4
|
||||
notification.resource_id.not_blank=\u6D88\u606F\u901A\u77E5\u8D44\u6E90ID\u4E0D\u80FD\u4E3A\u7A7A
|
||||
notification.resource_id.length_range=\u6D88\u606F\u901A\u77E5\u8D44\u6E90ID\u957F\u5EA6\u5FC5\u987B\u5728{min}\u548C{max}\u4E4B\u95F4
|
||||
notification.resource_type.not_blank=\u6D88\u606F\u901A\u77E5\u8D44\u6E90\u7C7B\u578B\u4E0D\u80FD\u4E3A\u7A7A
|
||||
notification.resource_type.length_range=\u6D88\u606F\u901A\u77E5\u8D44\u6E90\u7C7B\u578B\u957F\u5EA6\u5FC5\u987B\u5728{min}\u548C{max}\u4E4B\u95F4
|
||||
notification.resource_name.not_blank=\u6D88\u606F\u901A\u77E5\u8D44\u6E90\u540D\u79F0\u4E0D\u80FD\u4E3A\u7A7A
|
||||
notification.resource_name.length_range=\u6D88\u606F\u901A\u77E5\u8D44\u6E90\u540D\u79F0\u957F\u5EA6\u5FC5\u987B\u5728{min}\u548C{max}\u4E4B\u95F4
|
||||
novice_statistics.id.not_blank=\u65B0\u624B\u6751ID\u4E0D\u80FD\u4E3A\u7A7A
|
||||
novice_statistics.guide_step.not_blank=\u65B0\u624B\u6751\u6B65\u9AA4\u4E0D\u80FD\u4E3A\u7A7A
|
||||
novice_statistics.guide_step.length_range=\u65B0\u624B\u6751\u6B65\u9AA4\u957F\u5EA6\u5FC5\u987B\u5728{min}\u548C{max}\u4E4B\u95F4
|
||||
operating_log.id.not_blank=\u64CD\u4F5C\u65E5\u5FD7ID\u4E0D\u80FD\u4E3A\u7A7A
|
||||
operating_log.project_id.not_blank=\u64CD\u4F5C\u65E5\u5FD7\u9879\u76EEID\u4E0D\u80FD\u4E3A\u7A7A
|
||||
operating_log.project_id.length_range=\u64CD\u4F5C\u65E5\u5FD7\u9879\u76EEID\u957F\u5EA6\u5FC5\u987B\u5728{min}\u548C{max}\u4E4B\u95F4
|
||||
operating_log_resource.id.not_blank=\u64CD\u4F5C\u65E5\u5FD7\u8D44\u6E90ID\u4E0D\u80FD\u4E3A\u7A7A
|
||||
operating_log_resource.operating_log_id.not_blank=\u64CD\u4F5C\u65E5\u5FD7\u8D44\u6E90\u64CD\u4F5C\u65E5\u5FD7ID\u4E0D\u80FD\u4E3A\u7A7A
|
||||
operating_log_resource.operating_log_id.length_range=\u64CD\u4F5C\u65E5\u5FD7\u8D44\u6E90\u64CD\u4F5C\u65E5\u5FD7ID\u957F\u5EA6\u5FC5\u987B\u5728{min}\u548C{max}\u4E4B\u95F4
|
||||
operating_log_resource.source_id.not_blank=\u64CD\u4F5C\u65E5\u5FD7\u8D44\u6E90\u6765\u6E90ID\u4E0D\u80FD\u4E3A\u7A7A
|
||||
operating_log_resource.source_id.length_range=\u64CD\u4F5C\u65E5\u5FD7\u8D44\u6E90\u6765\u6E90ID\u957F\u5EA6\u5FC5\u987B\u5728{min}\u548C{max}\u4E4B\u95F4
|
||||
plugin.id.not_blank=\u63D2\u4EF6\u4E3B\u952E\u4E0D\u80FD\u4E3A\u7A7A
|
||||
plugin.plugin_id.not_blank=\u63D2\u4EF6ID\u4E0D\u80FD\u4E3A\u7A7A
|
||||
plugin.plugin_id.length_range=\u63D2\u4EF6ID\u957F\u5EA6\u5FC5\u987B\u5728{min}\u548C{max}\u4E4B\u95F4
|
||||
plugin.script_id.not_blank=\u63D2\u4EF6\u811A\u672CID\u4E0D\u80FD\u4E3A\u7A7A
|
||||
plugin.script_id.length_range=\u63D2\u4EF6\u811A\u672CID\u957F\u5EA6\u5FC5\u987B\u5728{min}\u548C{max}\u4E4B\u95F4
|
||||
plugin.clazz_name.not_blank=\u63D2\u4EF6\u7C7B\u540D\u4E0D\u80FD\u4E3A\u7A7A
|
||||
plugin.clazz_name.length_range=\u63D2\u4EF6\u7C7B\u540D\u957F\u5EA6\u5FC5\u987B\u5728{min}\u548C{max}\u4E4B\u95F4
|
||||
plugin.jmeter_clazz.not_blank=\u63D2\u4EF6jmeter\u7C7B\u540D\u4E0D\u80FD\u4E3A\u7A7A
|
||||
plugin.jmeter_clazz.length_range=\u63D2\u4EF6jmeter\u7C7B\u540D\u957F\u5EA6\u5FC5\u987B\u5728{min}\u548C{max}\u4E4B\u95F4
|
||||
plugin.source_path.not_blank=\u63D2\u4EF6\u6E90\u8DEF\u5F84\u4E0D\u80FD\u4E3A\u7A7A
|
||||
plugin.source_path.length_range=\u63D2\u4EF6\u6E90\u8DEF\u5F84\u957F\u5EA6\u5FC5\u987B\u5728{min}\u548C{max}\u4E4B\u95F4
|
||||
plugin.source_name.not_blank=\u63D2\u4EF6\u6E90\u540D\u79F0\u4E0D\u80FD\u4E3A\u7A7A
|
||||
plugin.source_name.length_range=\u63D2\u4EF6\u6E90\u540D\u79F0\u957F\u5EA6\u5FC5\u987B\u5728{min}\u548C{max}\u4E4B\u95F4
|
||||
plugin.scenario.not_blank=\u63D2\u4EF6\u573A\u666F\u4E0D\u80FD\u4E3A\u7A7A
|
||||
plugin.scenario.length_range=\u63D2\u4EF6\u573A\u666F\u957F\u5EA6\u5FC5\u987B\u5728{min}\u548C{max}\u4E4B\u95F4
|
||||
plugin_blob.id.not_blank=\u63D2\u4EF6ID\u4E0D\u80FD\u4E3A\u7A7A
|
||||
quota.id.not_blank=\u914D\u989DID\u4E0D\u80FD\u4E3A\u7A7A
|
||||
schedule.id.not_blank=\u5B9A\u65F6\u4EFB\u52A1ID\u4E0D\u80FD\u4E3A\u7A7A
|
||||
schedule.type.not_blank=\u5B9A\u65F6\u4EFB\u52A1\u7C7B\u578B\u4E0D\u80FD\u4E3A\u7A7A
|
||||
schedule.type.length_range=\u5B9A\u65F6\u4EFB\u52A1\u7C7B\u578B\u957F\u5EA6\u5FC5\u987B\u5728{min}\u548C{max}\u4E4B\u95F4
|
||||
schedule.value.not_blank=\u5B9A\u65F6\u4EFB\u52A1\u503C\u4E0D\u80FD\u4E3A\u7A7A
|
||||
schedule.value.length_range=\u5B9A\u65F6\u4EFB\u52A1\u503C\u957F\u5EA6\u5FC5\u987B\u5728{min}\u548C{max}\u4E4B\u95F4
|
||||
schedule.job.not_blank=\u5B9A\u65F6\u4EFB\u52A1\u4E0D\u80FD\u4E3A\u7A7A
|
||||
schedule.job.length_range=\u5B9A\u65F6\u4EFB\u52A1\u957F\u5EA6\u5FC5\u987B\u5728{min}\u548C{max}\u4E4B\u95F4
|
||||
schedule.create_user.not_blank=\u5B9A\u65F6\u4EFB\u52A1\u521B\u5EFA\u4EBA\u4E0D\u80FD\u4E3A\u7A7A
|
||||
schedule.create_user.length_range=\u5B9A\u65F6\u4EFB\u52A1\u521B\u5EFA\u4EBA\u957F\u5EA6\u5FC5\u987B\u5728{min}\u548C{max}\u4E4B\u95F4
|
||||
service_integration.id.not_blank=\u670D\u52A1\u96C6\u6210ID\u4E0D\u80FD\u4E3A\u7A7A
|
||||
service_integration.platform.not_blank=\u670D\u52A1\u96C6\u6210\u5E73\u53F0\u4E0D\u80FD\u4E3A\u7A7A
|
||||
service_integration.platform.length_range=\u670D\u52A1\u96C6\u6210\u5E73\u53F0\u957F\u5EA6\u5FC5\u987B\u5728{min}\u548C{max}\u4E4B\u95F4
|
||||
system_parameter.param_key.not_blank=\u7CFB\u7EDF\u53C2\u6570Key\u4E0D\u80FD\u4E3A\u7A7A
|
||||
system_parameter.type.not_blank=\u7CFB\u7EDF\u53C2\u6570\u7C7B\u578B\u4E0D\u80FD\u4E3A\u7A7A
|
||||
system_parameter.type.length_range=\u7CFB\u7EDF\u53C2\u6570\u7C7B\u578B\u957F\u5EA6\u5FC5\u987B\u5728{min}\u548C{max}\u4E4B\u95F4
|
||||
test_resource.id.not_blank=\u8D44\u6E90\u6C60\u8282\u70B9ID\u4E0D\u80FD\u4E3A\u7A7A
|
||||
test_resource.test_resource_pool_id.not_blank=\u8D44\u6E90\u6C60ID\u4E0D\u80FD\u4E3A\u7A7A
|
||||
test_resource.test_resource_pool_id.length_range=\u8D44\u6E90\u6C60ID\u957F\u5EA6\u5FC5\u987B\u5728{min}\u548C{max}\u4E4B\u95F4
|
||||
test_resource.status.not_blank=\u8D44\u6E90\u6C60\u8282\u70B9\u72B6\u6001\u4E0D\u80FD\u4E3A\u7A7A
|
||||
test_resource.status.length_range=\u8D44\u6E90\u6C60\u8282\u70B9\u72B6\u6001\u957F\u5EA6\u5FC5\u987B\u5728{min}\u548C{max}\u4E4B\u95F4
|
||||
test_resource_pool.id.not_blank=\u8D44\u6E90\u6C60ID\u4E0D\u80FD\u4E3A\u7A7A
|
||||
test_resource_pool.name.not_blank=\u8D44\u6E90\u6C60\u540D\u79F0\u4E0D\u80FD\u4E3A\u7A7A
|
||||
test_resource_pool.name.length_range=\u8D44\u6E90\u6C60\u540D\u79F0\u957F\u5EA6\u5FC5\u987B\u5728{min}\u548C{max}\u4E4B\u95F4
|
||||
test_resource_pool.type.not_blank=\u8D44\u6E90\u6C60\u7C7B\u578B\u4E0D\u80FD\u4E3A\u7A7A
|
||||
test_resource_pool.type.length_range=\u8D44\u6E90\u6C60\u7C7B\u578B\u957F\u5EA6\u5FC5\u987B\u5728{min}\u548C{max}\u4E4B\u95F4
|
||||
test_resource_pool.status.not_blank=\u8D44\u6E90\u6C60\u72B6\u6001\u4E0D\u80FD\u4E3A\u7A7A
|
||||
test_resource_pool.status.length_range=\u8D44\u6E90\u6C60\u72B6\u6001\u957F\u5EA6\u5FC5\u987B\u5728{min}\u548C{max}\u4E4B\u95F4
|
||||
user.id.not_blank=\u7528\u6237ID\u4E0D\u80FD\u4E3A\u7A7A
|
||||
user.name.not_blank=\u7528\u6237\u540D\u79F0\u4E0D\u80FD\u4E3A\u7A7A
|
||||
user.name.length_range=\u7528\u6237\u540D\u79F0\u957F\u5EA6\u5FC5\u987B\u5728{min}\u548C{max}\u4E4B\u95F4
|
||||
user.email.not_blank=\u7528\u6237email\u4E0D\u80FD\u4E3A\u7A7A
|
||||
user.email.length_range=\u7528\u6237email\u957F\u5EA6\u5FC5\u987B\u5728{min}\u548C{max}\u4E4B\u95F4
|
||||
user.email.repeat=\u7528\u6237email\u5DF2\u5B58\u5728
|
||||
user.email.invalid=\u7528\u6237email\u683C\u5F0F\u4E0D\u6B63\u786E
|
||||
user.status.not_blank=\u7528\u6237\u72B6\u6001\u4E0D\u80FD\u4E3A\u7A7A
|
||||
user.status.length_range=\u7528\u6237\u72B6\u6001\u957F\u5EA6\u5FC5\u987B\u5728{min}\u548C{max}\u4E4B\u95F4
|
||||
user.source.not_blank=\u7528\u6237\u6765\u6E90\u4E0D\u80FD\u4E3A\u7A7A
|
||||
user.source.length_range=\u7528\u6237\u6765\u6E90\u957F\u5EA6\u5FC5\u987B\u5728{min}\u548C{max}\u4E4B\u95F4
|
||||
user.create_user.not_blank=\u7528\u6237\u521B\u5EFA\u4EBA\u4E0D\u80FD\u4E3A\u7A7A
|
||||
user.create_user.length_range=\u7528\u6237\u521B\u5EFA\u4EBA\u957F\u5EA6\u5FC5\u987B\u5728{min}\u548C{max}\u4E4B\u95F4
|
||||
user_extend.id.not_blank=\u7528\u6237ID\u4E0D\u80FD\u4E3A\u7A7A
|
||||
user_key.id.not_blank=\u7528\u6237ApiKey ID\u4E0D\u80FD\u4E3A\u7A7A
|
||||
user_key.create_user.not_blank=\u7528\u6237ApiKey\u521B\u5EFA\u4EBA\u4E0D\u80FD\u4E3A\u7A7A
|
||||
user_key.create_user.length_range=\u7528\u6237ApiKey\u521B\u5EFA\u4EBA\u957F\u5EA6\u5FC5\u987B\u5728{min}\u548C{max}\u4E4B\u95F4
|
||||
user_key.access_key.not_blank=\u7528\u6237ApiKey access key\u4E0D\u80FD\u4E3A\u7A7A
|
||||
user_key.access_key.length_range=\u7528\u6237ApiKey access key\u957F\u5EA6\u5FC5\u987B\u5728{min}\u548C{max}\u4E4B\u95F4
|
||||
user_key.secret_key.not_blank=\u7528\u6237ApiKey secret key\u4E0D\u80FD\u4E3A\u7A7A
|
||||
user_key.secret_key.length_range=\u7528\u6237ApiKey secret key\u957F\u5EA6\u5FC5\u987B\u5728{min}\u548C{max}\u4E4B\u95F4
|
||||
user.info.not_empty=\u7528\u6237\u4FE1\u606F\u4E0D\u80FD\u4E3A\u7A7A
|
||||
user.organizationId.not_blank=\u7528\u6237\u7EC4\u7EC7\u4E0D\u80FD\u4E3A\u7A7A
|
||||
user.projectId.not_blank=\u7528\u6237\u9879\u76EE\u4E0D\u80FD\u4E3A\u7A7A
|
||||
user_role.id.not_blank=\u7528\u6237\u7EC4ID\u4E0D\u80FD\u4E3A\u7A7A
|
||||
user_role.name.not_blank=\u7528\u6237\u7EC4\u540D\u79F0\u4E0D\u80FD\u4E3A\u7A7A
|
||||
user_role.name.length_range=\u7528\u6237\u7EC4\u540D\u79F0\u957F\u5EA6\u5FC5\u987B\u5728{min}\u548C{max}\u4E4B\u95F4
|
||||
user_role.system.not_blank=\u662F\u5426\u662F\u7CFB\u7EDF\u7528\u6237\u7EC4\u4E0D\u80FD\u4E3A\u7A7A
|
||||
user_role.system.length_range=\u662F\u5426\u662F\u7CFB\u7EDF\u7528\u6237\u7EC4\u957F\u5EA6\u5FC5\u987B\u5728{min}\u548C{max}\u4E4B\u95F4
|
||||
user_role.type.not_blank=\u7528\u6237\u7EC4\u7C7B\u578B\u4E0D\u80FD\u4E3A\u7A7A
|
||||
user_role.type.length_range=\u7528\u6237\u7EC4\u7C7B\u578B\u957F\u5EA6\u5FC5\u987B\u5728{min}\u548C{max}\u4E4B\u95F4
|
||||
user_role.create_user.not_blank=\u7528\u6237\u7EC4\u521B\u5EFA\u4EBA\u4E0D\u80FD\u4E3A\u7A7A
|
||||
user_role.create_user.length_range=\u7528\u6237\u7EC4\u521B\u5EFA\u4EBA\u957F\u5EA6\u5FC5\u987B\u5728{min}\u548C{max}\u4E4B\u95F4
|
||||
user_role.scope_id.not_blank=\u7528\u6237\u7EC4\u5E94\u7528\u8303\u56F4\u4E0D\u80FD\u4E3A\u7A7A
|
||||
user_role.scope_id.length_range=\u7528\u6237\u7EC4\u5E94\u7528\u8303\u56F4\u957F\u5EA6\u5FC5\u987B\u5728{min}\u548C{max}\u4E4B\u95F4
|
||||
user_role_permission.id.not_blank=\u7528\u6237\u7EC4\u6743\u9650ID\u4E0D\u80FD\u4E3A\u7A7A
|
||||
user_role_permission.role_id.not_blank=\u7528\u6237\u7EC4\u6743\u9650\u7528\u6237\u7EC4ID\u4E0D\u80FD\u4E3A\u7A7A
|
||||
user_role_permission.role_id.length_range=\u7528\u6237\u7EC4\u6743\u9650\u7528\u6237\u7EC4ID\u957F\u5EA6\u5FC5\u987B\u5728{min}\u548C{max}\u4E4B\u95F4
|
||||
user_role_permission.permission_id.not_blank=\u7528\u6237\u7EC4\u6743\u9650\u6743\u9650ID\u4E0D\u80FD\u4E3A\u7A7A
|
||||
user_role_permission.permission_id.length_range=\u7528\u6237\u7EC4\u6743\u9650\u6743\u9650ID\u957F\u5EA6\u5FC5\u987B\u5728{min}\u548C{max}\u4E4B\u95F4
|
||||
user_role_permission.module_id.not_blank=\u7528\u6237\u7EC4\u6743\u9650\u6A21\u5757ID\u4E0D\u80FD\u4E3A\u7A7A
|
||||
user_role_permission.module_id.length_range=\u7528\u6237\u7EC4\u6743\u9650\u6A21\u5757ID\u957F\u5EA6\u5FC5\u987B\u5728{min}\u548C{max}\u4E4B\u95F4
|
||||
user_role_relation.id.not_blank=\u7528\u6237\u7EC4\u5173\u7CFBID\u4E0D\u80FD\u4E3A\u7A7A
|
||||
user_role_relation.user_id.not_blank=\u7528\u6237\u7EC4\u5173\u7CFB\u7528\u6237ID\u4E0D\u80FD\u4E3A\u7A7A
|
||||
user_role_relation.user_id.length_range=\u7528\u6237\u7EC4\u5173\u7CFB\u7528\u6237ID\u957F\u5EA6\u5FC5\u987B\u5728{min}\u548C{max}\u4E4B\u95F4
|
||||
user_role_relation.role_id.not_blank=\u7528\u6237\u7EC4\u5173\u7CFB\u7528\u6237\u7EC4ID\u4E0D\u80FD\u4E3A\u7A7A
|
||||
user_role_relation.role_id.length_range=\u7528\u6237\u7EC4\u5173\u7CFB\u7528\u6237\u7EC4ID\u957F\u5EA6\u5FC5\u987B\u5728{min}\u548C{max}\u4E4B\u95F4
|
||||
user_role_relation.source_id.not_blank=\u7528\u6237\u7EC4\u5173\u7CFB\u6765\u6E90ID\u4E0D\u80FD\u4E3A\u7A7A
|
||||
user_role_relation.source_id.length_range=\u7528\u6237\u7EC4\u5173\u7CFB\u6765\u6E90ID\u957F\u5EA6\u5FC5\u987B\u5728{min}\u548C{max}\u4E4B\u95F4
|
||||
organization.id.not_blank=\u5DE5\u4F5C\u7A7A\u95F4ID\u4E0D\u80FD\u4E3A\u7A7A
|
||||
organization.name.not_blank=\u5DE5\u4F5C\u7A7A\u95F4\u540D\u79F0\u4E0D\u80FD\u4E3A\u7A7A
|
||||
organization.name.length_range=\u5DE5\u4F5C\u7A7A\u95F4\u540D\u79F0\u957F\u5EA6\u5FC5\u987B\u5728{min}\u548C{max}\u4E4B\u95F4
|
||||
organization.create_user.not_blank=\u5DE5\u4F5C\u7A7A\u95F4\u521B\u5EFA\u4EBA\u4E0D\u80FD\u4E3A\u7A7A
|
||||
organization.create_user.length_range=\u5DE5\u4F5C\u7A7A\u95F4\u521B\u5EFA\u4EBA\u957F\u5EA6\u5FC5\u987B\u5728{min}\u548C{max}\u4E4B\u95F4
|
||||
member.id.not_empty=\u6210\u5458\u4E0D\u80FD\u4E3A\u7A7A
|
|
@ -1,149 +1,150 @@
|
|||
role.not.global.system=角色不是為全局系統角色
|
||||
role.not.contains.member=角色不包含系統成員角色
|
||||
user.not.login=未獲取到登錄用戶
|
||||
auth_source.id.not_blank=認證源ID不能為空
|
||||
auth_source.status.length_range=認證源狀態長度必須在{min}和{max}之間
|
||||
auth_source.status.not_blank=認證源狀態不能為空
|
||||
license.id.not_blank=License ID不能為空
|
||||
message_task.id.not_blank=消息通知任務ID不能為空
|
||||
message_task.type.not_blank=消息通知任務類型不能為空
|
||||
message_task.type.length_range=消息通知任務類型長度必須在{min}和{max}之間
|
||||
message_task.event.not_blank=消息通知任務事件不能為空
|
||||
message_task.event.length_range=消息通知任務事件長度必須在{min}和{max}之間
|
||||
message_task.receiver.not_blank=消息通知任務接收者不能為空
|
||||
message_task.receiver.length_range=消息通知任務接收者長度必須在{min}和{max}之間
|
||||
message_task.task_type.not_blank=消息通知任務任務類型不能為空
|
||||
message_task.task_type.length_range=消息通知任務任務類型長度必須在{min}和{max}之間
|
||||
message_task.test_id.not_blank=消息通知任務測試ID不能為空
|
||||
message_task.test_id.length_range=消息通知任務測試ID長度必須在{min}和{max}之間
|
||||
message_task.project_id.not_blank=消息通知任務項目ID不能為空
|
||||
message_task.project_id.length_range=消息通知任務項目ID長度必須在{min}和{max}之間
|
||||
message_task_blob.id.not_blank=消息通知任務ID不能為空
|
||||
notification.id.not_blank=消息通知ID不能為空
|
||||
notification.type.not_blank=消息通知類型不能為空
|
||||
notification.type.length_range=消息通知類型長度必須在{min}和{max}之間
|
||||
notification.receiver.not_blank=消息通知接收者不能為空
|
||||
notification.receiver.length_range=消息通知接收者長度必須在{min}和{max}之間
|
||||
notification.title.not_blank=消息通知標題不能為空
|
||||
notification.title.length_range=消息通知標題長度必須在{min}和{max}之間
|
||||
notification.status.not_blank=消息通知狀態不能為空
|
||||
notification.status.length_range=消息通知狀態長度必須在{min}和{max}之間
|
||||
notification.operator.not_blank=消息通知操作者不能為空
|
||||
notification.operator.length_range=消息通知操作者長度必須在{min}和{max}之間
|
||||
notification.operation.not_blank=消息通知操作不能為空
|
||||
notification.operation.length_range=消息通知操作長度必須在{min}和{max}之間
|
||||
notification.resource_id.not_blank=消息通知資源ID不能為空
|
||||
notification.resource_id.length_range=消息通知資源ID長度必須在{min}和{max}之間
|
||||
notification.resource_type.not_blank=消息通知資源類型不能為空
|
||||
notification.resource_type.length_range=消息通知資源類型長度必須在{min}和{max}之間
|
||||
notification.resource_name.not_blank=消息通知資源名稱不能為空
|
||||
notification.resource_name.length_range=消息通知資源名稱長度必須在{min}和{max}之間
|
||||
novice_statistics.id.not_blank=新手村ID不能為空
|
||||
novice_statistics.guide_step.not_blank=新手村步驟不能為空
|
||||
novice_statistics.guide_step.length_range=新手村步驟長度必須在{min}和{max}之間
|
||||
operating_log.id.not_blank=操作日誌ID不能為空
|
||||
operating_log.project_id.not_blank=操作日誌項目ID不能為空
|
||||
operating_log.project_id.length_range=操作日誌項目ID長度必須在{min}和{max}之間
|
||||
operating_log_resource.id.not_blank=操作日誌資源ID不能為空
|
||||
operating_log_resource.operating_log_id.not_blank=操作日誌資源操作日誌ID不能為空
|
||||
operating_log_resource.operating_log_id.length_range=操作日誌資源操作日誌ID長度必須在{min}和{max}之間
|
||||
operating_log_resource.source_id.not_blank=操作日誌資源來源ID不能為空
|
||||
operating_log_resource.source_id.length_range=操作日誌資源來源ID長度必須在{min}和{max}之間
|
||||
plugin.id.not_blank=插件主鍵不能為空
|
||||
plugin.plugin_id.not_blank=插件ID不能為空
|
||||
plugin.plugin_id.length_range=插件ID長度必須在{min}和{max}之間
|
||||
plugin.script_id.not_blank=插件腳本ID不能為空
|
||||
plugin.script_id.length_range=插件腳本ID長度必須在{min}和{max}之間
|
||||
plugin.clazz_name.not_blank=插件類名不能為空
|
||||
plugin.clazz_name.length_range=插件類名長度必須在{min}和{max}之間
|
||||
plugin.jmeter_clazz.not_blank=插件jmeter類名不能為空
|
||||
plugin.jmeter_clazz.length_range=插件jmeter類名長度必須在{min}和{max}之間
|
||||
plugin.source_path.not_blank=插件源路徑不能為空
|
||||
plugin.source_path.length_range=插件源路徑長度必須在{min}和{max}之間
|
||||
plugin.source_name.not_blank=插件源名稱不能為空
|
||||
plugin.source_name.length_range=插件源名稱長度必須在{min}和{max}之間
|
||||
plugin.scenario.not_blank=插件場景不能為空
|
||||
plugin.scenario.length_range=插件場景長度必須在{min}和{max}之間
|
||||
plugin_blob.id.not_blank=插件ID不能為空
|
||||
quota.id.not_blank=配額ID不能為空
|
||||
schedule.id.not_blank=定時任務ID不能為空
|
||||
schedule.type.not_blank=定時任務類型不能為空
|
||||
schedule.type.length_range=定時任務類型長度必須在{min}和{max}之間
|
||||
schedule.value.not_blank=定時任務值不能為空
|
||||
schedule.value.length_range=定時任務值長度必須在{min}和{max}之間
|
||||
schedule.job.not_blank=定時任務不能為空
|
||||
schedule.job.length_range=定時任務長度必須在{min}和{max}之間
|
||||
schedule.create_user.not_blank=定時任務創建人不能為空
|
||||
schedule.create_user.length_range=定時任務創建人長度必須在{min}和{max}之間
|
||||
service_integration.id.not_blank=服務集成ID不能為空
|
||||
service_integration.platform.not_blank=服務集成平台不能為空
|
||||
service_integration.platform.length_range=服務集成平台長度必須在{min}和{max}之間
|
||||
system_parameter.param_key.not_blank=系統參數Key不能為空
|
||||
system_parameter.type.not_blank=系統參數類型不能為空
|
||||
system_parameter.type.length_range=系統參數類型長度必須在{min}和{max}之間
|
||||
test_resource.id.not_blank=資源池節點ID不能為空
|
||||
test_resource.test_resource_pool_id.not_blank=資源池ID不能為空
|
||||
test_resource.test_resource_pool_id.length_range=資源池ID長度必須在{min}和{max}之間
|
||||
test_resource.status.not_blank=資源池節點狀態不能為空
|
||||
test_resource.status.length_range=資源池節點狀態長度必須在{min}和{max}之間
|
||||
test_resource_pool.id.not_blank=資源池ID不能為空
|
||||
test_resource_pool.name.not_blank=資源池名稱不能為空
|
||||
test_resource_pool.name.length_range=資源池名稱長度必須在{min}和{max}之間
|
||||
test_resource_pool.type.not_blank=資源池類型不能為空
|
||||
test_resource_pool.type.length_range=資源池類型長度必須在{min}和{max}之間
|
||||
test_resource_pool.status.not_blank=資源池狀態不能為空
|
||||
test_resource_pool.status.length_range=資源池狀態長度必須在{min}和{max}之間
|
||||
user.id.not_blank=用戶ID不能為空
|
||||
user.name.not_blank=用戶名稱不能為空
|
||||
user.name.length_range=用戶名稱長度必須在{min}和{max}之間
|
||||
user.email.not_blank=用戶email不能為空
|
||||
user.email.length_range=用戶email長度必須在{min}和{max}之間
|
||||
user.email.repeat=用戶email已存在
|
||||
user.email.invalid=用戶email格式不正確
|
||||
user.status.not_blank=用戶狀態不能為空
|
||||
user.status.length_range=用戶狀態長度必須在{min}和{max}之間
|
||||
user.source.not_blank=用戶來源不能為空
|
||||
user.source.length_range=用戶來源長度必須在{min}和{max}之間
|
||||
user.create_user.not_blank=用戶創建人不能為空
|
||||
user.create_user.length_range=用戶創建人長度必須在{min}和{max}之間
|
||||
user_extend.id.not_blank=用戶ID不能為空
|
||||
user_key.id.not_blank=用戶ApiKey ID不能為空
|
||||
user_key.create_user.not_blank=用戶ApiKey創建人不能為空
|
||||
user_key.create_user.length_range=用戶ApiKey創建人長度必須在{min}和{max}之間
|
||||
user_key.access_key.not_blank=用戶ApiKey access key不能為空
|
||||
user_key.access_key.length_range=用戶ApiKey access key長度必須在{min}和{max}之間
|
||||
user_key.secret_key.not_blank=用戶ApiKey secret key不能為空
|
||||
user_key.secret_key.length_range=用戶ApiKey secret key長度必須在{min}和{max}之間
|
||||
user.info.not_empty=用戶信息不能為空
|
||||
user.organizationId.not_blank=用戶組織不能為空
|
||||
user.projectId.not_blank=用戶項目不能為空
|
||||
user_role.id.not_blank=用戶組ID不能為空
|
||||
user_role.name.not_blank=用戶組名稱不能為空
|
||||
user_role.name.length_range=用戶組名稱長度必須在{min}和{max}之間
|
||||
user_role.system.not_blank=是否是系統用戶組不能為空
|
||||
user_role.system.length_range=是否是系統用戶組長度必須在{min}和{max}之間
|
||||
user_role.type.not_blank=用戶組類型不能為空
|
||||
user_role.type.length_range=用戶組類型長度必須在{min}和{max}之間
|
||||
user_role.create_user.not_blank=用戶組創建人不能為空
|
||||
user_role.create_user.length_range=用戶組創建人長度必須在{min}和{max}之間
|
||||
user_role.scope_id.not_blank=用戶組應用範圍不能為空
|
||||
user_role.scope_id.length_range=用戶組應用範圍長度必須在{min}和{max}之間
|
||||
user_role_permission.id.not_blank=用戶組權限ID不能為空
|
||||
user_role_permission.role_id.not_blank=用戶組權限用戶組ID不能為空
|
||||
user_role_permission.role_id.length_range=用戶組權限用戶組ID長度必須在{min}和{max}之間
|
||||
user_role_permission.permission_id.not_blank=用戶組權限權限ID不能為空
|
||||
user_role_permission.permission_id.length_range=用戶組權限權限ID長度必須在{min}和{max}之間
|
||||
user_role_permission.module_id.not_blank=用戶組權限模塊ID不能為空
|
||||
user_role_permission.module_id.length_range=用戶組權限模塊ID長度必須在{min}和{max}之間
|
||||
user_role_relation.id.not_blank=用戶組關係ID不能為空
|
||||
user_role_relation.user_id.not_blank=用戶組關係用戶ID不能為空
|
||||
user_role_relation.user_id.length_range=用戶組關係用戶ID長度必須在{min}和{max}之間
|
||||
user_role_relation.role_id.not_blank=用戶組關係用戶組ID不能為空
|
||||
user_role_relation.role_id.length_range=用戶組關係用戶組ID長度必須在{min}和{max}之間
|
||||
user_role_relation.source_id.not_blank=用戶組關係來源ID不能為空
|
||||
user_role_relation.source_id.length_range=用戶組關係來源ID長度必須在{min}和{max}之間
|
||||
organization.id.not_blank=工作空間ID不能為空
|
||||
organization.name.not_blank=工作空間名稱不能為空
|
||||
organization.name.length_range=工作空間名稱長度必須在{min}和{max}之間
|
||||
organization.create_user.not_blank=工作空間創建人不能為空
|
||||
organization.create_user.length_range=工作空間創建人長度必須在{min}和{max}之間
|
||||
role.not.global.system=\u89D2\u8272\u4E0D\u662F\u70BA\u5168\u5C40\u7CFB\u7D71\u89D2\u8272
|
||||
role.not.contains.member=\u89D2\u8272\u4E0D\u5305\u542B\u7CFB\u7D71\u6210\u54E1\u89D2\u8272
|
||||
user.not.login=\u672A\u7372\u53D6\u5230\u767B\u9304\u7528\u6236
|
||||
auth_source.id.not_blank=\u8A8D\u8B49\u6E90ID\u4E0D\u80FD\u70BA\u7A7A
|
||||
auth_source.status.length_range=\u8A8D\u8B49\u6E90\u72C0\u614B\u9577\u5EA6\u5FC5\u9808\u5728{min}\u548C{max}\u4E4B\u9593
|
||||
auth_source.status.not_blank=\u8A8D\u8B49\u6E90\u72C0\u614B\u4E0D\u80FD\u70BA\u7A7A
|
||||
license.id.not_blank=License ID\u4E0D\u80FD\u70BA\u7A7A
|
||||
message_task.id.not_blank=\u6D88\u606F\u901A\u77E5\u4EFB\u52D9ID\u4E0D\u80FD\u70BA\u7A7A
|
||||
message_task.type.not_blank=\u6D88\u606F\u901A\u77E5\u4EFB\u52D9\u985E\u578B\u4E0D\u80FD\u70BA\u7A7A
|
||||
message_task.type.length_range=\u6D88\u606F\u901A\u77E5\u4EFB\u52D9\u985E\u578B\u9577\u5EA6\u5FC5\u9808\u5728{min}\u548C{max}\u4E4B\u9593
|
||||
message_task.event.not_blank=\u6D88\u606F\u901A\u77E5\u4EFB\u52D9\u4E8B\u4EF6\u4E0D\u80FD\u70BA\u7A7A
|
||||
message_task.event.length_range=\u6D88\u606F\u901A\u77E5\u4EFB\u52D9\u4E8B\u4EF6\u9577\u5EA6\u5FC5\u9808\u5728{min}\u548C{max}\u4E4B\u9593
|
||||
message_task.receiver.not_blank=\u6D88\u606F\u901A\u77E5\u4EFB\u52D9\u63A5\u6536\u8005\u4E0D\u80FD\u70BA\u7A7A
|
||||
message_task.receiver.length_range=\u6D88\u606F\u901A\u77E5\u4EFB\u52D9\u63A5\u6536\u8005\u9577\u5EA6\u5FC5\u9808\u5728{min}\u548C{max}\u4E4B\u9593
|
||||
message_task.task_type.not_blank=\u6D88\u606F\u901A\u77E5\u4EFB\u52D9\u4EFB\u52D9\u985E\u578B\u4E0D\u80FD\u70BA\u7A7A
|
||||
message_task.task_type.length_range=\u6D88\u606F\u901A\u77E5\u4EFB\u52D9\u4EFB\u52D9\u985E\u578B\u9577\u5EA6\u5FC5\u9808\u5728{min}\u548C{max}\u4E4B\u9593
|
||||
message_task.test_id.not_blank=\u6D88\u606F\u901A\u77E5\u4EFB\u52D9\u6E2C\u8A66ID\u4E0D\u80FD\u70BA\u7A7A
|
||||
message_task.test_id.length_range=\u6D88\u606F\u901A\u77E5\u4EFB\u52D9\u6E2C\u8A66ID\u9577\u5EA6\u5FC5\u9808\u5728{min}\u548C{max}\u4E4B\u9593
|
||||
message_task.project_id.not_blank=\u6D88\u606F\u901A\u77E5\u4EFB\u52D9\u9805\u76EEID\u4E0D\u80FD\u70BA\u7A7A
|
||||
message_task.project_id.length_range=\u6D88\u606F\u901A\u77E5\u4EFB\u52D9\u9805\u76EEID\u9577\u5EA6\u5FC5\u9808\u5728{min}\u548C{max}\u4E4B\u9593
|
||||
message_task_blob.id.not_blank=\u6D88\u606F\u901A\u77E5\u4EFB\u52D9ID\u4E0D\u80FD\u70BA\u7A7A
|
||||
notification.id.not_blank=\u6D88\u606F\u901A\u77E5ID\u4E0D\u80FD\u70BA\u7A7A
|
||||
notification.type.not_blank=\u6D88\u606F\u901A\u77E5\u985E\u578B\u4E0D\u80FD\u70BA\u7A7A
|
||||
notification.type.length_range=\u6D88\u606F\u901A\u77E5\u985E\u578B\u9577\u5EA6\u5FC5\u9808\u5728{min}\u548C{max}\u4E4B\u9593
|
||||
notification.receiver.not_blank=\u6D88\u606F\u901A\u77E5\u63A5\u6536\u8005\u4E0D\u80FD\u70BA\u7A7A
|
||||
notification.receiver.length_range=\u6D88\u606F\u901A\u77E5\u63A5\u6536\u8005\u9577\u5EA6\u5FC5\u9808\u5728{min}\u548C{max}\u4E4B\u9593
|
||||
notification.title.not_blank=\u6D88\u606F\u901A\u77E5\u6A19\u984C\u4E0D\u80FD\u70BA\u7A7A
|
||||
notification.title.length_range=\u6D88\u606F\u901A\u77E5\u6A19\u984C\u9577\u5EA6\u5FC5\u9808\u5728{min}\u548C{max}\u4E4B\u9593
|
||||
notification.status.not_blank=\u6D88\u606F\u901A\u77E5\u72C0\u614B\u4E0D\u80FD\u70BA\u7A7A
|
||||
notification.status.length_range=\u6D88\u606F\u901A\u77E5\u72C0\u614B\u9577\u5EA6\u5FC5\u9808\u5728{min}\u548C{max}\u4E4B\u9593
|
||||
notification.operator.not_blank=\u6D88\u606F\u901A\u77E5\u64CD\u4F5C\u8005\u4E0D\u80FD\u70BA\u7A7A
|
||||
notification.operator.length_range=\u6D88\u606F\u901A\u77E5\u64CD\u4F5C\u8005\u9577\u5EA6\u5FC5\u9808\u5728{min}\u548C{max}\u4E4B\u9593
|
||||
notification.operation.not_blank=\u6D88\u606F\u901A\u77E5\u64CD\u4F5C\u4E0D\u80FD\u70BA\u7A7A
|
||||
notification.operation.length_range=\u6D88\u606F\u901A\u77E5\u64CD\u4F5C\u9577\u5EA6\u5FC5\u9808\u5728{min}\u548C{max}\u4E4B\u9593
|
||||
notification.resource_id.not_blank=\u6D88\u606F\u901A\u77E5\u8CC7\u6E90ID\u4E0D\u80FD\u70BA\u7A7A
|
||||
notification.resource_id.length_range=\u6D88\u606F\u901A\u77E5\u8CC7\u6E90ID\u9577\u5EA6\u5FC5\u9808\u5728{min}\u548C{max}\u4E4B\u9593
|
||||
notification.resource_type.not_blank=\u6D88\u606F\u901A\u77E5\u8CC7\u6E90\u985E\u578B\u4E0D\u80FD\u70BA\u7A7A
|
||||
notification.resource_type.length_range=\u6D88\u606F\u901A\u77E5\u8CC7\u6E90\u985E\u578B\u9577\u5EA6\u5FC5\u9808\u5728{min}\u548C{max}\u4E4B\u9593
|
||||
notification.resource_name.not_blank=\u6D88\u606F\u901A\u77E5\u8CC7\u6E90\u540D\u7A31\u4E0D\u80FD\u70BA\u7A7A
|
||||
notification.resource_name.length_range=\u6D88\u606F\u901A\u77E5\u8CC7\u6E90\u540D\u7A31\u9577\u5EA6\u5FC5\u9808\u5728{min}\u548C{max}\u4E4B\u9593
|
||||
novice_statistics.id.not_blank=\u65B0\u624B\u6751ID\u4E0D\u80FD\u70BA\u7A7A
|
||||
novice_statistics.guide_step.not_blank=\u65B0\u624B\u6751\u6B65\u9A5F\u4E0D\u80FD\u70BA\u7A7A
|
||||
novice_statistics.guide_step.length_range=\u65B0\u624B\u6751\u6B65\u9A5F\u9577\u5EA6\u5FC5\u9808\u5728{min}\u548C{max}\u4E4B\u9593
|
||||
operating_log.id.not_blank=\u64CD\u4F5C\u65E5\u8A8CID\u4E0D\u80FD\u70BA\u7A7A
|
||||
operating_log.project_id.not_blank=\u64CD\u4F5C\u65E5\u8A8C\u9805\u76EEID\u4E0D\u80FD\u70BA\u7A7A
|
||||
operating_log.project_id.length_range=\u64CD\u4F5C\u65E5\u8A8C\u9805\u76EEID\u9577\u5EA6\u5FC5\u9808\u5728{min}\u548C{max}\u4E4B\u9593
|
||||
operating_log_resource.id.not_blank=\u64CD\u4F5C\u65E5\u8A8C\u8CC7\u6E90ID\u4E0D\u80FD\u70BA\u7A7A
|
||||
operating_log_resource.operating_log_id.not_blank=\u64CD\u4F5C\u65E5\u8A8C\u8CC7\u6E90\u64CD\u4F5C\u65E5\u8A8CID\u4E0D\u80FD\u70BA\u7A7A
|
||||
operating_log_resource.operating_log_id.length_range=\u64CD\u4F5C\u65E5\u8A8C\u8CC7\u6E90\u64CD\u4F5C\u65E5\u8A8CID\u9577\u5EA6\u5FC5\u9808\u5728{min}\u548C{max}\u4E4B\u9593
|
||||
operating_log_resource.source_id.not_blank=\u64CD\u4F5C\u65E5\u8A8C\u8CC7\u6E90\u4F86\u6E90ID\u4E0D\u80FD\u70BA\u7A7A
|
||||
operating_log_resource.source_id.length_range=\u64CD\u4F5C\u65E5\u8A8C\u8CC7\u6E90\u4F86\u6E90ID\u9577\u5EA6\u5FC5\u9808\u5728{min}\u548C{max}\u4E4B\u9593
|
||||
plugin.id.not_blank=\u63D2\u4EF6\u4E3B\u9375\u4E0D\u80FD\u70BA\u7A7A
|
||||
plugin.plugin_id.not_blank=\u63D2\u4EF6ID\u4E0D\u80FD\u70BA\u7A7A
|
||||
plugin.plugin_id.length_range=\u63D2\u4EF6ID\u9577\u5EA6\u5FC5\u9808\u5728{min}\u548C{max}\u4E4B\u9593
|
||||
plugin.script_id.not_blank=\u63D2\u4EF6\u8173\u672CID\u4E0D\u80FD\u70BA\u7A7A
|
||||
plugin.script_id.length_range=\u63D2\u4EF6\u8173\u672CID\u9577\u5EA6\u5FC5\u9808\u5728{min}\u548C{max}\u4E4B\u9593
|
||||
plugin.clazz_name.not_blank=\u63D2\u4EF6\u985E\u540D\u4E0D\u80FD\u70BA\u7A7A
|
||||
plugin.clazz_name.length_range=\u63D2\u4EF6\u985E\u540D\u9577\u5EA6\u5FC5\u9808\u5728{min}\u548C{max}\u4E4B\u9593
|
||||
plugin.jmeter_clazz.not_blank=\u63D2\u4EF6jmeter\u985E\u540D\u4E0D\u80FD\u70BA\u7A7A
|
||||
plugin.jmeter_clazz.length_range=\u63D2\u4EF6jmeter\u985E\u540D\u9577\u5EA6\u5FC5\u9808\u5728{min}\u548C{max}\u4E4B\u9593
|
||||
plugin.source_path.not_blank=\u63D2\u4EF6\u6E90\u8DEF\u5F91\u4E0D\u80FD\u70BA\u7A7A
|
||||
plugin.source_path.length_range=\u63D2\u4EF6\u6E90\u8DEF\u5F91\u9577\u5EA6\u5FC5\u9808\u5728{min}\u548C{max}\u4E4B\u9593
|
||||
plugin.source_name.not_blank=\u63D2\u4EF6\u6E90\u540D\u7A31\u4E0D\u80FD\u70BA\u7A7A
|
||||
plugin.source_name.length_range=\u63D2\u4EF6\u6E90\u540D\u7A31\u9577\u5EA6\u5FC5\u9808\u5728{min}\u548C{max}\u4E4B\u9593
|
||||
plugin.scenario.not_blank=\u63D2\u4EF6\u5834\u666F\u4E0D\u80FD\u70BA\u7A7A
|
||||
plugin.scenario.length_range=\u63D2\u4EF6\u5834\u666F\u9577\u5EA6\u5FC5\u9808\u5728{min}\u548C{max}\u4E4B\u9593
|
||||
plugin_blob.id.not_blank=\u63D2\u4EF6ID\u4E0D\u80FD\u70BA\u7A7A
|
||||
quota.id.not_blank=\u914D\u984DID\u4E0D\u80FD\u70BA\u7A7A
|
||||
schedule.id.not_blank=\u5B9A\u6642\u4EFB\u52D9ID\u4E0D\u80FD\u70BA\u7A7A
|
||||
schedule.type.not_blank=\u5B9A\u6642\u4EFB\u52D9\u985E\u578B\u4E0D\u80FD\u70BA\u7A7A
|
||||
schedule.type.length_range=\u5B9A\u6642\u4EFB\u52D9\u985E\u578B\u9577\u5EA6\u5FC5\u9808\u5728{min}\u548C{max}\u4E4B\u9593
|
||||
schedule.value.not_blank=\u5B9A\u6642\u4EFB\u52D9\u503C\u4E0D\u80FD\u70BA\u7A7A
|
||||
schedule.value.length_range=\u5B9A\u6642\u4EFB\u52D9\u503C\u9577\u5EA6\u5FC5\u9808\u5728{min}\u548C{max}\u4E4B\u9593
|
||||
schedule.job.not_blank=\u5B9A\u6642\u4EFB\u52D9\u4E0D\u80FD\u70BA\u7A7A
|
||||
schedule.job.length_range=\u5B9A\u6642\u4EFB\u52D9\u9577\u5EA6\u5FC5\u9808\u5728{min}\u548C{max}\u4E4B\u9593
|
||||
schedule.create_user.not_blank=\u5B9A\u6642\u4EFB\u52D9\u5275\u5EFA\u4EBA\u4E0D\u80FD\u70BA\u7A7A
|
||||
schedule.create_user.length_range=\u5B9A\u6642\u4EFB\u52D9\u5275\u5EFA\u4EBA\u9577\u5EA6\u5FC5\u9808\u5728{min}\u548C{max}\u4E4B\u9593
|
||||
service_integration.id.not_blank=\u670D\u52D9\u96C6\u6210ID\u4E0D\u80FD\u70BA\u7A7A
|
||||
service_integration.platform.not_blank=\u670D\u52D9\u96C6\u6210\u5E73\u53F0\u4E0D\u80FD\u70BA\u7A7A
|
||||
service_integration.platform.length_range=\u670D\u52D9\u96C6\u6210\u5E73\u53F0\u9577\u5EA6\u5FC5\u9808\u5728{min}\u548C{max}\u4E4B\u9593
|
||||
system_parameter.param_key.not_blank=\u7CFB\u7D71\u53C3\u6578Key\u4E0D\u80FD\u70BA\u7A7A
|
||||
system_parameter.type.not_blank=\u7CFB\u7D71\u53C3\u6578\u985E\u578B\u4E0D\u80FD\u70BA\u7A7A
|
||||
system_parameter.type.length_range=\u7CFB\u7D71\u53C3\u6578\u985E\u578B\u9577\u5EA6\u5FC5\u9808\u5728{min}\u548C{max}\u4E4B\u9593
|
||||
test_resource.id.not_blank=\u8CC7\u6E90\u6C60\u7BC0\u9EDEID\u4E0D\u80FD\u70BA\u7A7A
|
||||
test_resource.test_resource_pool_id.not_blank=\u8CC7\u6E90\u6C60ID\u4E0D\u80FD\u70BA\u7A7A
|
||||
test_resource.test_resource_pool_id.length_range=\u8CC7\u6E90\u6C60ID\u9577\u5EA6\u5FC5\u9808\u5728{min}\u548C{max}\u4E4B\u9593
|
||||
test_resource.status.not_blank=\u8CC7\u6E90\u6C60\u7BC0\u9EDE\u72C0\u614B\u4E0D\u80FD\u70BA\u7A7A
|
||||
test_resource.status.length_range=\u8CC7\u6E90\u6C60\u7BC0\u9EDE\u72C0\u614B\u9577\u5EA6\u5FC5\u9808\u5728{min}\u548C{max}\u4E4B\u9593
|
||||
test_resource_pool.id.not_blank=\u8CC7\u6E90\u6C60ID\u4E0D\u80FD\u70BA\u7A7A
|
||||
test_resource_pool.name.not_blank=\u8CC7\u6E90\u6C60\u540D\u7A31\u4E0D\u80FD\u70BA\u7A7A
|
||||
test_resource_pool.name.length_range=\u8CC7\u6E90\u6C60\u540D\u7A31\u9577\u5EA6\u5FC5\u9808\u5728{min}\u548C{max}\u4E4B\u9593
|
||||
test_resource_pool.type.not_blank=\u8CC7\u6E90\u6C60\u985E\u578B\u4E0D\u80FD\u70BA\u7A7A
|
||||
test_resource_pool.type.length_range=\u8CC7\u6E90\u6C60\u985E\u578B\u9577\u5EA6\u5FC5\u9808\u5728{min}\u548C{max}\u4E4B\u9593
|
||||
test_resource_pool.status.not_blank=\u8CC7\u6E90\u6C60\u72C0\u614B\u4E0D\u80FD\u70BA\u7A7A
|
||||
test_resource_pool.status.length_range=\u8CC7\u6E90\u6C60\u72C0\u614B\u9577\u5EA6\u5FC5\u9808\u5728{min}\u548C{max}\u4E4B\u9593
|
||||
user.id.not_blank=\u7528\u6236ID\u4E0D\u80FD\u70BA\u7A7A
|
||||
user.name.not_blank=\u7528\u6236\u540D\u7A31\u4E0D\u80FD\u70BA\u7A7A
|
||||
user.name.length_range=\u7528\u6236\u540D\u7A31\u9577\u5EA6\u5FC5\u9808\u5728{min}\u548C{max}\u4E4B\u9593
|
||||
user.email.not_blank=\u7528\u6236email\u4E0D\u80FD\u70BA\u7A7A
|
||||
user.email.length_range=\u7528\u6236email\u9577\u5EA6\u5FC5\u9808\u5728{min}\u548C{max}\u4E4B\u9593
|
||||
user.email.repeat=\u7528\u6236email\u5DF2\u5B58\u5728
|
||||
user.email.invalid=\u7528\u6236email\u683C\u5F0F\u4E0D\u6B63\u78BA
|
||||
user.status.not_blank=\u7528\u6236\u72C0\u614B\u4E0D\u80FD\u70BA\u7A7A
|
||||
user.status.length_range=\u7528\u6236\u72C0\u614B\u9577\u5EA6\u5FC5\u9808\u5728{min}\u548C{max}\u4E4B\u9593
|
||||
user.source.not_blank=\u7528\u6236\u4F86\u6E90\u4E0D\u80FD\u70BA\u7A7A
|
||||
user.source.length_range=\u7528\u6236\u4F86\u6E90\u9577\u5EA6\u5FC5\u9808\u5728{min}\u548C{max}\u4E4B\u9593
|
||||
user.create_user.not_blank=\u7528\u6236\u5275\u5EFA\u4EBA\u4E0D\u80FD\u70BA\u7A7A
|
||||
user.create_user.length_range=\u7528\u6236\u5275\u5EFA\u4EBA\u9577\u5EA6\u5FC5\u9808\u5728{min}\u548C{max}\u4E4B\u9593
|
||||
user_extend.id.not_blank=\u7528\u6236ID\u4E0D\u80FD\u70BA\u7A7A
|
||||
user_key.id.not_blank=\u7528\u6236ApiKey ID\u4E0D\u80FD\u70BA\u7A7A
|
||||
user_key.create_user.not_blank=\u7528\u6236ApiKey\u5275\u5EFA\u4EBA\u4E0D\u80FD\u70BA\u7A7A
|
||||
user_key.create_user.length_range=\u7528\u6236ApiKey\u5275\u5EFA\u4EBA\u9577\u5EA6\u5FC5\u9808\u5728{min}\u548C{max}\u4E4B\u9593
|
||||
user_key.access_key.not_blank=\u7528\u6236ApiKey access key\u4E0D\u80FD\u70BA\u7A7A
|
||||
user_key.access_key.length_range=\u7528\u6236ApiKey access key\u9577\u5EA6\u5FC5\u9808\u5728{min}\u548C{max}\u4E4B\u9593
|
||||
user_key.secret_key.not_blank=\u7528\u6236ApiKey secret key\u4E0D\u80FD\u70BA\u7A7A
|
||||
user_key.secret_key.length_range=\u7528\u6236ApiKey secret key\u9577\u5EA6\u5FC5\u9808\u5728{min}\u548C{max}\u4E4B\u9593
|
||||
user.info.not_empty=\u7528\u6236\u4FE1\u606F\u4E0D\u80FD\u70BA\u7A7A
|
||||
user.organizationId.not_blank=\u7528\u6236\u7D44\u7E54\u4E0D\u80FD\u70BA\u7A7A
|
||||
user.projectId.not_blank=\u7528\u6236\u9805\u76EE\u4E0D\u80FD\u70BA\u7A7A
|
||||
user_role.id.not_blank=\u7528\u6236\u7D44ID\u4E0D\u80FD\u70BA\u7A7A
|
||||
user_role.name.not_blank=\u7528\u6236\u7D44\u540D\u7A31\u4E0D\u80FD\u70BA\u7A7A
|
||||
user_role.name.length_range=\u7528\u6236\u7D44\u540D\u7A31\u9577\u5EA6\u5FC5\u9808\u5728{min}\u548C{max}\u4E4B\u9593
|
||||
user_role.system.not_blank=\u662F\u5426\u662F\u7CFB\u7D71\u7528\u6236\u7D44\u4E0D\u80FD\u70BA\u7A7A
|
||||
user_role.system.length_range=\u662F\u5426\u662F\u7CFB\u7D71\u7528\u6236\u7D44\u9577\u5EA6\u5FC5\u9808\u5728{min}\u548C{max}\u4E4B\u9593
|
||||
user_role.type.not_blank=\u7528\u6236\u7D44\u985E\u578B\u4E0D\u80FD\u70BA\u7A7A
|
||||
user_role.type.length_range=\u7528\u6236\u7D44\u985E\u578B\u9577\u5EA6\u5FC5\u9808\u5728{min}\u548C{max}\u4E4B\u9593
|
||||
user_role.create_user.not_blank=\u7528\u6236\u7D44\u5275\u5EFA\u4EBA\u4E0D\u80FD\u70BA\u7A7A
|
||||
user_role.create_user.length_range=\u7528\u6236\u7D44\u5275\u5EFA\u4EBA\u9577\u5EA6\u5FC5\u9808\u5728{min}\u548C{max}\u4E4B\u9593
|
||||
user_role.scope_id.not_blank=\u7528\u6236\u7D44\u61C9\u7528\u7BC4\u570D\u4E0D\u80FD\u70BA\u7A7A
|
||||
user_role.scope_id.length_range=\u7528\u6236\u7D44\u61C9\u7528\u7BC4\u570D\u9577\u5EA6\u5FC5\u9808\u5728{min}\u548C{max}\u4E4B\u9593
|
||||
user_role_permission.id.not_blank=\u7528\u6236\u7D44\u6B0A\u9650ID\u4E0D\u80FD\u70BA\u7A7A
|
||||
user_role_permission.role_id.not_blank=\u7528\u6236\u7D44\u6B0A\u9650\u7528\u6236\u7D44ID\u4E0D\u80FD\u70BA\u7A7A
|
||||
user_role_permission.role_id.length_range=\u7528\u6236\u7D44\u6B0A\u9650\u7528\u6236\u7D44ID\u9577\u5EA6\u5FC5\u9808\u5728{min}\u548C{max}\u4E4B\u9593
|
||||
user_role_permission.permission_id.not_blank=\u7528\u6236\u7D44\u6B0A\u9650\u6B0A\u9650ID\u4E0D\u80FD\u70BA\u7A7A
|
||||
user_role_permission.permission_id.length_range=\u7528\u6236\u7D44\u6B0A\u9650\u6B0A\u9650ID\u9577\u5EA6\u5FC5\u9808\u5728{min}\u548C{max}\u4E4B\u9593
|
||||
user_role_permission.module_id.not_blank=\u7528\u6236\u7D44\u6B0A\u9650\u6A21\u584AID\u4E0D\u80FD\u70BA\u7A7A
|
||||
user_role_permission.module_id.length_range=\u7528\u6236\u7D44\u6B0A\u9650\u6A21\u584AID\u9577\u5EA6\u5FC5\u9808\u5728{min}\u548C{max}\u4E4B\u9593
|
||||
user_role_relation.id.not_blank=\u7528\u6236\u7D44\u95DC\u4FC2ID\u4E0D\u80FD\u70BA\u7A7A
|
||||
user_role_relation.user_id.not_blank=\u7528\u6236\u7D44\u95DC\u4FC2\u7528\u6236ID\u4E0D\u80FD\u70BA\u7A7A
|
||||
user_role_relation.user_id.length_range=\u7528\u6236\u7D44\u95DC\u4FC2\u7528\u6236ID\u9577\u5EA6\u5FC5\u9808\u5728{min}\u548C{max}\u4E4B\u9593
|
||||
user_role_relation.role_id.not_blank=\u7528\u6236\u7D44\u95DC\u4FC2\u7528\u6236\u7D44ID\u4E0D\u80FD\u70BA\u7A7A
|
||||
user_role_relation.role_id.length_range=\u7528\u6236\u7D44\u95DC\u4FC2\u7528\u6236\u7D44ID\u9577\u5EA6\u5FC5\u9808\u5728{min}\u548C{max}\u4E4B\u9593
|
||||
user_role_relation.source_id.not_blank=\u7528\u6236\u7D44\u95DC\u4FC2\u4F86\u6E90ID\u4E0D\u80FD\u70BA\u7A7A
|
||||
user_role_relation.source_id.length_range=\u7528\u6236\u7D44\u95DC\u4FC2\u4F86\u6E90ID\u9577\u5EA6\u5FC5\u9808\u5728{min}\u548C{max}\u4E4B\u9593
|
||||
organization.id.not_blank=\u5DE5\u4F5C\u7A7A\u9593ID\u4E0D\u80FD\u70BA\u7A7A
|
||||
organization.name.not_blank=\u5DE5\u4F5C\u7A7A\u9593\u540D\u7A31\u4E0D\u80FD\u70BA\u7A7A
|
||||
organization.name.length_range=\u5DE5\u4F5C\u7A7A\u9593\u540D\u7A31\u9577\u5EA6\u5FC5\u9808\u5728{min}\u548C{max}\u4E4B\u9593
|
||||
organization.create_user.not_blank=\u5DE5\u4F5C\u7A7A\u9593\u5275\u5EFA\u4EBA\u4E0D\u80FD\u70BA\u7A7A
|
||||
organization.create_user.length_range=\u5DE5\u4F5C\u7A7A\u9593\u5275\u5EFA\u4EBA\u9577\u5EA6\u5FC5\u9808\u5728{min}\u548C{max}\u4E4B\u9593
|
||||
member.id.not_empty=\u6210\u54E1\u4E0D\u80FD\u7232\u7A7A
|
|
@ -3,21 +3,22 @@ package io.metersphere.system.controller;
|
|||
import com.github.pagehelper.Page;
|
||||
import com.github.pagehelper.PageHelper;
|
||||
import io.metersphere.sdk.constants.PermissionConstants;
|
||||
import io.metersphere.sdk.util.CommonBeanFactory;
|
||||
import io.metersphere.sdk.dto.ProjectDTO;
|
||||
import io.metersphere.sdk.util.PageUtils;
|
||||
import io.metersphere.sdk.util.Pager;
|
||||
import io.metersphere.sdk.util.SessionUtils;
|
||||
import io.metersphere.system.dto.OrganizationDTO;
|
||||
import io.metersphere.system.request.OrganizationDeleteRequest;
|
||||
import io.metersphere.system.dto.UserExtend;
|
||||
import io.metersphere.system.request.OrganizationMemberRequest;
|
||||
import io.metersphere.system.request.OrganizationRequest;
|
||||
import io.metersphere.system.request.ProjectRequest;
|
||||
import io.metersphere.system.service.OrganizationService;
|
||||
import io.metersphere.validation.groups.Created;
|
||||
import io.metersphere.validation.groups.Updated;
|
||||
import io.metersphere.system.service.SystemProjectService;
|
||||
import jakarta.annotation.Resource;
|
||||
import org.apache.shiro.authz.annotation.RequiresPermissions;
|
||||
import org.springframework.validation.annotation.Validated;
|
||||
import org.springframework.web.bind.annotation.*;
|
||||
|
||||
import java.util.Collections;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
|
@ -27,100 +28,54 @@ import java.util.List;
|
|||
@RequestMapping("/organization")
|
||||
public class OrganizationController {
|
||||
|
||||
@Resource
|
||||
private SystemProjectService systemProjectService;
|
||||
@Resource
|
||||
private OrganizationService organizationService;
|
||||
|
||||
@PostMapping("/list")
|
||||
@RequiresPermissions(PermissionConstants.SYSTEM_ORGANIZATION_READ)
|
||||
public Pager<List<OrganizationDTO>> list(@RequestBody OrganizationRequest organizationRequest) {
|
||||
OrganizationService organizationService = CommonBeanFactory.getBean(OrganizationService.class);
|
||||
if (organizationService == null) {
|
||||
return new Pager<>();
|
||||
}
|
||||
public Pager<List<OrganizationDTO>> list(@Validated @RequestBody OrganizationRequest organizationRequest) {
|
||||
Page<Object> page = PageHelper.startPage(organizationRequest.getCurrent(), organizationRequest.getPageSize());
|
||||
return PageUtils.setPageInfo(page, organizationService.list(organizationRequest));
|
||||
}
|
||||
|
||||
@PostMapping("/list-all")
|
||||
@RequiresPermissions(PermissionConstants.SYSTEM_ORGANIZATION_READ)
|
||||
public List<OrganizationDTO> listAll(@RequestBody OrganizationRequest organizationRequest) {
|
||||
OrganizationService organizationService = CommonBeanFactory.getBean(OrganizationService.class);
|
||||
if (organizationService == null) {
|
||||
return Collections.emptyList();
|
||||
}
|
||||
public List<OrganizationDTO> listAll(@Validated @RequestBody OrganizationRequest organizationRequest) {
|
||||
return organizationService.list(organizationRequest);
|
||||
}
|
||||
|
||||
@PostMapping("/add")
|
||||
@RequiresPermissions(PermissionConstants.SYSTEM_ORGANIZATION_READ_ADD)
|
||||
public OrganizationDTO add(@Validated({Created.class}) @RequestBody OrganizationDTO organizationDTO) {
|
||||
OrganizationService organizationService = CommonBeanFactory.getBean(OrganizationService.class);
|
||||
if (organizationService == null) {
|
||||
return new OrganizationDTO();
|
||||
}
|
||||
organizationDTO.setCreateUser(SessionUtils.getUserId());
|
||||
organizationDTO.setUpdateUser(SessionUtils.getUserId());
|
||||
return organizationService.add(organizationDTO);
|
||||
@PostMapping("/list-member")
|
||||
@RequiresPermissions(PermissionConstants.SYSTEM_USER_READ)
|
||||
public Pager<List<UserExtend>> listMember(@Validated @RequestBody OrganizationRequest organizationRequest) {
|
||||
Page<Object> page = PageHelper.startPage(organizationRequest.getCurrent(), organizationRequest.getPageSize());
|
||||
return PageUtils.setPageInfo(page, organizationService.listMember(organizationRequest));
|
||||
}
|
||||
|
||||
@PostMapping("/update")
|
||||
@RequiresPermissions(PermissionConstants.SYSTEM_ORGANIZATION_READ_UPDATE)
|
||||
public void update(@Validated({Updated.class}) @RequestBody OrganizationDTO organizationDTO) {
|
||||
OrganizationService organizationService = CommonBeanFactory.getBean(OrganizationService.class);
|
||||
if (organizationService == null) {
|
||||
return;
|
||||
}
|
||||
organizationDTO.setUpdateUser(SessionUtils.getUserId());
|
||||
organizationService.update(organizationDTO);
|
||||
@PostMapping("/add-member")
|
||||
@RequiresPermissions(PermissionConstants.SYSTEM_USER_READ)
|
||||
public void addMember(@Validated @RequestBody OrganizationMemberRequest organizationMemberRequest) {
|
||||
organizationMemberRequest.setCreateUserId(SessionUtils.getUserId());
|
||||
organizationService.addMember(organizationMemberRequest);
|
||||
}
|
||||
|
||||
@GetMapping("/delete/{id}")
|
||||
@RequiresPermissions(PermissionConstants.SYSTEM_ORGANIZATION_READ_DELETE)
|
||||
public void delete(@PathVariable String id) {
|
||||
OrganizationService organizationService = CommonBeanFactory.getBean(OrganizationService.class);
|
||||
if (organizationService == null) {
|
||||
return;
|
||||
}
|
||||
OrganizationDeleteRequest organizationDeleteRequest = new OrganizationDeleteRequest();
|
||||
organizationDeleteRequest.setId(id);
|
||||
organizationDeleteRequest.setDeleteUserId(SessionUtils.getUserId());
|
||||
organizationService.delete(organizationDeleteRequest);
|
||||
@GetMapping("/remove-member/{organizationId}/{userId}")
|
||||
@RequiresPermissions(PermissionConstants.SYSTEM_USER_READ)
|
||||
public void removeMember(@PathVariable String organizationId, @PathVariable String userId) {
|
||||
organizationService.removeMember(organizationId, userId);
|
||||
}
|
||||
|
||||
@GetMapping("/undelete/{id}")
|
||||
@RequiresPermissions(PermissionConstants.SYSTEM_ORGANIZATION_READ_DELETE)
|
||||
public void undelete(@PathVariable String id) {
|
||||
OrganizationService organizationService = CommonBeanFactory.getBean(OrganizationService.class);
|
||||
if (organizationService == null) {
|
||||
return;
|
||||
}
|
||||
organizationService.undelete(id);
|
||||
}
|
||||
|
||||
@GetMapping("/enable/{id}")
|
||||
@RequiresPermissions(PermissionConstants.SYSTEM_ORGANIZATION_READ_UPDATE)
|
||||
public void enable(@PathVariable String id) {
|
||||
OrganizationService organizationService = CommonBeanFactory.getBean(OrganizationService.class);
|
||||
if (organizationService == null) {
|
||||
return;
|
||||
}
|
||||
organizationService.enable(id);
|
||||
}
|
||||
|
||||
@GetMapping("/disable/{id}")
|
||||
@RequiresPermissions(PermissionConstants.SYSTEM_ORGANIZATION_READ_UPDATE)
|
||||
public void disable(@PathVariable String id) {
|
||||
OrganizationService organizationService = CommonBeanFactory.getBean(OrganizationService.class);
|
||||
if (organizationService == null) {
|
||||
return;
|
||||
}
|
||||
organizationService.disable(id);
|
||||
}
|
||||
|
||||
@GetMapping("/getDefault")
|
||||
@GetMapping("/default")
|
||||
@RequiresPermissions(PermissionConstants.SYSTEM_ORGANIZATION_READ)
|
||||
public OrganizationDTO getDefault() {
|
||||
OrganizationService organizationService = CommonBeanFactory.getBean(OrganizationService.class);
|
||||
if (organizationService == null) {
|
||||
return new OrganizationDTO();
|
||||
}
|
||||
return organizationService.getDefault();
|
||||
}
|
||||
|
||||
@PostMapping("/list-project")
|
||||
@RequiresPermissions(PermissionConstants.SYSTEM_PROJECT_READ)
|
||||
public Pager<List<ProjectDTO>> listProject(@Validated @RequestBody ProjectRequest projectRequest) {
|
||||
Page<Object> page = PageHelper.startPage(projectRequest.getCurrent(), projectRequest.getPageSize());
|
||||
return PageUtils.setPageInfo(page, systemProjectService.getProjectList(projectRequest));
|
||||
}
|
||||
}
|
||||
|
|
|
@ -1,16 +1,38 @@
|
|||
package io.metersphere.system.dto;
|
||||
|
||||
import io.metersphere.system.domain.Organization;
|
||||
import io.metersphere.validation.groups.Created;
|
||||
import io.swagger.v3.oas.annotations.media.Schema;
|
||||
import jakarta.validation.constraints.NotEmpty;
|
||||
import lombok.Data;
|
||||
import lombok.EqualsAndHashCode;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
|
||||
/**
|
||||
* @author song-cc-rock
|
||||
*/
|
||||
@Data
|
||||
@EqualsAndHashCode(callSuper = false)
|
||||
public class OrganizationDTO extends Organization {
|
||||
|
||||
/**
|
||||
* 成员数量
|
||||
*/
|
||||
@Schema(title = "成员数量")
|
||||
private Integer memberCount;
|
||||
|
||||
/**
|
||||
* 项目数量
|
||||
*/
|
||||
@Schema(title = "项目数量" )
|
||||
private Integer projectCount;
|
||||
|
||||
/**
|
||||
* 成员ID集合
|
||||
*/
|
||||
@Schema(title = "成员ID集合")
|
||||
@NotEmpty(groups = {Created.class}, message = "{member.id.not_empty}")
|
||||
private List<String> memberIds;
|
||||
}
|
||||
|
|
|
@ -0,0 +1,18 @@
|
|||
package io.metersphere.system.dto;
|
||||
|
||||
import io.metersphere.system.domain.User;
|
||||
import lombok.Data;
|
||||
import lombok.EqualsAndHashCode;
|
||||
|
||||
/**
|
||||
* @author song-cc-rock
|
||||
*/
|
||||
@Data
|
||||
@EqualsAndHashCode(callSuper = false)
|
||||
public class UserExtend extends User {
|
||||
|
||||
/**
|
||||
* 是否管理员(组织, 项目)
|
||||
*/
|
||||
private boolean adminFlag;
|
||||
}
|
|
@ -1,6 +1,7 @@
|
|||
package io.metersphere.system.mapper;
|
||||
|
||||
import io.metersphere.system.dto.OrganizationDTO;
|
||||
import io.metersphere.system.dto.UserExtend;
|
||||
import io.metersphere.system.request.OrganizationDeleteRequest;
|
||||
import io.metersphere.system.request.OrganizationRequest;
|
||||
import org.apache.ibatis.annotations.Param;
|
||||
|
@ -29,7 +30,7 @@ public interface ExtOrganizationMapper {
|
|||
* 恢复组织
|
||||
* @param id 组织ID
|
||||
*/
|
||||
void undelete(String id);
|
||||
void recover(String id);
|
||||
|
||||
/**
|
||||
* 更新组织启用/禁用状态
|
||||
|
@ -37,4 +38,11 @@ public interface ExtOrganizationMapper {
|
|||
* @param enable 是否启用
|
||||
*/
|
||||
void updateEnable(String id, boolean enable);
|
||||
|
||||
/**
|
||||
* 获取组织成员列表(角色)
|
||||
* @param organizationRequest 组织成员列表请求参数
|
||||
* @return 组织成员列表数据
|
||||
*/
|
||||
List<UserExtend> listMember(@Param("request") OrganizationRequest organizationRequest);
|
||||
}
|
||||
|
|
|
@ -48,14 +48,35 @@
|
|||
<!-- </sql>-->
|
||||
|
||||
<update id="delete" parameterType="io.metersphere.system.request.OrganizationDeleteRequest">
|
||||
update organization set deleted = true , delete_time = #{request.deleteTime} , delete_user = #{request.deleteUserId} where id = #{request.id}
|
||||
update organization set deleted = true , delete_time = #{request.deleteTime} , delete_user = #{request.deleteUserId} where id = #{request.organizationId}
|
||||
</update>
|
||||
|
||||
<update id="undelete" parameterType="java.lang.String">
|
||||
<update id="recover" parameterType="java.lang.String">
|
||||
update organization set deleted = false where id = #{id}
|
||||
</update>
|
||||
|
||||
<update id="updateEnable">
|
||||
update organization set `enable` = #{enable} where id = #{id}
|
||||
</update>
|
||||
|
||||
<select id="listMember" resultType="io.metersphere.system.dto.UserExtend">
|
||||
select temp.*, max(if(temp.role_id = 'org_admin', true, false))
|
||||
from (
|
||||
select u.*, urr.role_id
|
||||
from user_role_relation urr
|
||||
JOIN `user` u ON urr.user_id = u.id
|
||||
<where>
|
||||
<if test="request.organizationId != null">
|
||||
urr.source_id = #{request.organizationId}
|
||||
</if>
|
||||
<if test="request.keyword != null">
|
||||
and (u.name like CONCAT('%', #{request.keyword},'%')
|
||||
or u.email like CONCAT('%', #{request.keyword},'%')
|
||||
or u.phone like CONCAT('%', #{request.keyword},'%'))
|
||||
</if>
|
||||
</where>
|
||||
order by u.update_time desc
|
||||
) temp
|
||||
group by temp.id
|
||||
</select>
|
||||
</mapper>
|
|
@ -41,7 +41,7 @@
|
|||
INNER JOIN organization o on p.organization_id = o.id
|
||||
<where>
|
||||
<if test="request.organizationId != null">
|
||||
p.organizationId = #{request.organizationId}
|
||||
p.organization_id = #{request.organizationId}
|
||||
</if>
|
||||
<if test="request.keyword != null">
|
||||
and (p.name like CONCAT('%', #{request.keyword},'%')
|
||||
|
@ -49,6 +49,5 @@
|
|||
</if>
|
||||
</where>
|
||||
group by p.id
|
||||
|
||||
</select>
|
||||
</mapper>
|
|
@ -4,12 +4,24 @@ import lombok.Data;
|
|||
|
||||
import java.io.Serializable;
|
||||
|
||||
/**
|
||||
* @author song-cc-rock
|
||||
*/
|
||||
@Data
|
||||
public class OrganizationDeleteRequest implements Serializable {
|
||||
|
||||
private String id;
|
||||
/**
|
||||
* 删除组织ID
|
||||
*/
|
||||
private String organizationId;
|
||||
|
||||
/**
|
||||
* 删除人ID
|
||||
*/
|
||||
private String deleteUserId;
|
||||
|
||||
/**
|
||||
* 删除时间
|
||||
*/
|
||||
private Long deleteTime;
|
||||
}
|
||||
|
|
|
@ -0,0 +1,36 @@
|
|||
package io.metersphere.system.request;
|
||||
|
||||
import io.swagger.v3.oas.annotations.media.Schema;
|
||||
import jakarta.validation.constraints.NotBlank;
|
||||
import jakarta.validation.constraints.NotEmpty;
|
||||
import lombok.Data;
|
||||
|
||||
import java.io.Serializable;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* @author song-cc-rock
|
||||
*/
|
||||
@Data
|
||||
public class OrganizationMemberRequest implements Serializable {
|
||||
|
||||
/**
|
||||
* 组织ID
|
||||
*/
|
||||
@Schema(title = "组织ID", requiredMode = Schema.RequiredMode.REQUIRED)
|
||||
@NotBlank(message = "{organization.id.not_blank}")
|
||||
private String organizationId;
|
||||
|
||||
/**
|
||||
* 成员ID集合
|
||||
*/
|
||||
@Schema(title = "成员ID", requiredMode = Schema.RequiredMode.REQUIRED)
|
||||
@NotEmpty(message = "{member.id.not_null}")
|
||||
private List<String> memberIds;
|
||||
|
||||
/**
|
||||
* 创建人ID(组织-添加成员操作)
|
||||
*/
|
||||
@Schema(title = "创建人ID", requiredMode = Schema.RequiredMode.NOT_REQUIRED)
|
||||
private String createUserId;
|
||||
}
|
|
@ -1,12 +1,16 @@
|
|||
package io.metersphere.system.request;
|
||||
|
||||
import io.metersphere.sdk.dto.BasePageRequest;
|
||||
import io.swagger.v3.oas.annotations.media.Schema;
|
||||
import lombok.Data;
|
||||
import lombok.EqualsAndHashCode;
|
||||
|
||||
/**
|
||||
* @author song-cc-rock
|
||||
*/
|
||||
@Data
|
||||
@EqualsAndHashCode(callSuper = false)
|
||||
public class OrganizationRequest extends BasePageRequest {
|
||||
|
||||
@Schema(title = "组织ID")
|
||||
private String organizationId;
|
||||
}
|
||||
|
|
|
@ -1,15 +1,18 @@
|
|||
package io.metersphere.system.service;
|
||||
|
||||
import io.metersphere.system.dto.OrganizationDTO;
|
||||
import io.metersphere.system.request.OrganizationDeleteRequest;
|
||||
import io.metersphere.system.dto.UserExtend;
|
||||
import io.metersphere.system.request.OrganizationMemberRequest;
|
||||
import io.metersphere.system.request.OrganizationRequest;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* @author song-cc-rock
|
||||
* 组织功能(非XPACK)
|
||||
*/
|
||||
public interface OrganizationService {
|
||||
|
||||
/**
|
||||
* 获取组织列表
|
||||
* @param organizationRequest 列表请求参数
|
||||
|
@ -17,46 +20,29 @@ public interface OrganizationService {
|
|||
*/
|
||||
List<OrganizationDTO> list(OrganizationRequest organizationRequest);
|
||||
|
||||
/**
|
||||
* 新增组织
|
||||
* @param organizationDTO 组织信息
|
||||
* @return 组织信息
|
||||
*/
|
||||
OrganizationDTO add(OrganizationDTO organizationDTO);
|
||||
|
||||
/**
|
||||
* 更新组织
|
||||
* @param organizationDTO 组织信息
|
||||
*/
|
||||
void update(OrganizationDTO organizationDTO);
|
||||
|
||||
/**
|
||||
* 删除组织
|
||||
* @param organizationDeleteRequest 组织删除参数
|
||||
*/
|
||||
void delete(OrganizationDeleteRequest organizationDeleteRequest);
|
||||
|
||||
/**
|
||||
* 恢复组织
|
||||
* @param id 组织ID
|
||||
*/
|
||||
void undelete(String id);
|
||||
|
||||
/**
|
||||
* 启用组织
|
||||
* @param id 组织ID
|
||||
*/
|
||||
void enable(String id);
|
||||
|
||||
/**
|
||||
* 禁用组织
|
||||
* @param id 组织ID
|
||||
*/
|
||||
void disable(String id);
|
||||
|
||||
/**
|
||||
* 获取默认组织信息
|
||||
* @return 默认组织信息
|
||||
*/
|
||||
OrganizationDTO getDefault();
|
||||
|
||||
/**
|
||||
* 获取组织成员列表
|
||||
* @param organizationRequest 组织成员列表请求参数
|
||||
* @return 组织成员列表
|
||||
*/
|
||||
List<UserExtend> listMember(OrganizationRequest organizationRequest);
|
||||
|
||||
/**
|
||||
* 添加组织成员
|
||||
* @param organizationMemberRequest 添加组织成员请求参数
|
||||
*/
|
||||
void addMember(OrganizationMemberRequest organizationMemberRequest);
|
||||
|
||||
/**
|
||||
* 移除组织成员
|
||||
* @param organizationId 组织ID
|
||||
* @param userId 成员ID
|
||||
*/
|
||||
void removeMember(String organizationId, String userId);
|
||||
}
|
||||
|
|
|
@ -0,0 +1,87 @@
|
|||
package io.metersphere.system.service;
|
||||
|
||||
import io.metersphere.sdk.constants.UserRoleConstants;
|
||||
import io.metersphere.sdk.exception.MSException;
|
||||
import io.metersphere.sdk.util.BeanUtils;
|
||||
import io.metersphere.sdk.util.Translator;
|
||||
import io.metersphere.system.domain.Organization;
|
||||
import io.metersphere.system.domain.OrganizationExample;
|
||||
import io.metersphere.system.domain.UserRoleRelation;
|
||||
import io.metersphere.system.domain.UserRoleRelationExample;
|
||||
import io.metersphere.system.dto.OrganizationDTO;
|
||||
import io.metersphere.system.dto.UserExtend;
|
||||
import io.metersphere.system.mapper.ExtOrganizationMapper;
|
||||
import io.metersphere.system.mapper.OrganizationMapper;
|
||||
import io.metersphere.system.mapper.UserRoleRelationMapper;
|
||||
import io.metersphere.system.request.OrganizationMemberRequest;
|
||||
import io.metersphere.system.request.OrganizationRequest;
|
||||
import jakarta.annotation.Resource;
|
||||
import org.apache.commons.collections.CollectionUtils;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
import java.util.List;
|
||||
import java.util.UUID;
|
||||
|
||||
/**
|
||||
* @author song-cc-rock
|
||||
* 组织功能(非XPACK)
|
||||
*/
|
||||
@Service
|
||||
public class OrganizationServiceImpl implements OrganizationService{
|
||||
|
||||
@Resource
|
||||
OrganizationMapper organizationMapper;
|
||||
@Resource
|
||||
ExtOrganizationMapper extOrganizationMapper;
|
||||
@Resource
|
||||
UserRoleRelationMapper userRoleRelationMapper;
|
||||
|
||||
|
||||
@Override
|
||||
public List<OrganizationDTO> list(OrganizationRequest organizationRequest) {
|
||||
return extOrganizationMapper.list(organizationRequest);
|
||||
}
|
||||
|
||||
@Override
|
||||
public OrganizationDTO getDefault() {
|
||||
OrganizationDTO organizationDTO = new OrganizationDTO();
|
||||
OrganizationExample example = new OrganizationExample();
|
||||
example.createCriteria().andNumEqualTo(100001L);
|
||||
List<Organization> organizations = organizationMapper.selectByExample(example);
|
||||
if (CollectionUtils.isEmpty(organizations)) {
|
||||
throw new MSException(Translator.get("organization_default_not_exists"));
|
||||
}
|
||||
Organization organization = organizations.get(0);
|
||||
BeanUtils.copyBean(organizationDTO, organization);
|
||||
return organizationDTO;
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<UserExtend> listMember(OrganizationRequest organizationRequest) {
|
||||
return extOrganizationMapper.listMember(organizationRequest);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void addMember(OrganizationMemberRequest organizationMemberRequest) {
|
||||
if (CollectionUtils.isEmpty(organizationMemberRequest.getMemberIds())) {
|
||||
return;
|
||||
}
|
||||
for (String userId : organizationMemberRequest.getMemberIds()) {
|
||||
UserRoleRelation userRoleRelation = new UserRoleRelation();
|
||||
userRoleRelation.setId(UUID.randomUUID().toString());
|
||||
userRoleRelation.setUserId(userId);
|
||||
userRoleRelation.setSourceId(organizationMemberRequest.getOrganizationId());
|
||||
userRoleRelation.setRoleId(UserRoleConstants.ORG_MEMBER);
|
||||
userRoleRelation.setCreateTime(System.currentTimeMillis());
|
||||
userRoleRelation.setCreateUser(organizationMemberRequest.getCreateUserId());
|
||||
userRoleRelationMapper.insertSelective(userRoleRelation);
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void removeMember(String organizationId, String userId) {
|
||||
UserRoleRelationExample example = new UserRoleRelationExample();
|
||||
example.createCriteria().andUserIdEqualTo(userId).andSourceIdEqualTo(organizationId);
|
||||
userRoleRelationMapper.deleteByExample(example);
|
||||
}
|
||||
}
|
|
@ -0,0 +1,48 @@
|
|||
package io.metersphere.system.service;
|
||||
|
||||
import io.metersphere.system.dto.OrganizationDTO;
|
||||
import io.metersphere.system.request.OrganizationDeleteRequest;
|
||||
|
||||
/**
|
||||
* @author song-cc-rock
|
||||
* 组织功能(XPACK)
|
||||
*/
|
||||
public interface XpackOrganizationService {
|
||||
|
||||
/**
|
||||
* 新增组织
|
||||
* @param organizationDTO 组织信息
|
||||
* @return 组织信息
|
||||
*/
|
||||
OrganizationDTO add(OrganizationDTO organizationDTO);
|
||||
|
||||
/**
|
||||
* 更新组织
|
||||
* @param organizationDTO 组织信息
|
||||
*/
|
||||
void update(OrganizationDTO organizationDTO);
|
||||
|
||||
/**
|
||||
* 删除组织
|
||||
* @param organizationDeleteRequest 组织删除参数
|
||||
*/
|
||||
void delete(OrganizationDeleteRequest organizationDeleteRequest);
|
||||
|
||||
/**
|
||||
* 恢复组织
|
||||
* @param id 组织ID
|
||||
*/
|
||||
void recover(String id);
|
||||
|
||||
/**
|
||||
* 启用组织
|
||||
* @param id 组织ID
|
||||
*/
|
||||
void enable(String id);
|
||||
|
||||
/**
|
||||
* 禁用组织
|
||||
* @param id 组织ID
|
||||
*/
|
||||
void disable(String id);
|
||||
}
|
|
@ -3,8 +3,9 @@ package io.metersphere.system.controller;
|
|||
import base.BaseTest;
|
||||
import io.metersphere.sdk.constants.SessionConstants;
|
||||
import io.metersphere.sdk.util.JSON;
|
||||
import io.metersphere.system.dto.OrganizationDTO;
|
||||
import io.metersphere.system.request.OrganizationMemberRequest;
|
||||
import io.metersphere.system.request.OrganizationRequest;
|
||||
import io.metersphere.system.request.ProjectRequest;
|
||||
import jakarta.annotation.Resource;
|
||||
import org.junit.jupiter.api.MethodOrderer;
|
||||
import org.junit.jupiter.api.Order;
|
||||
|
@ -19,6 +20,8 @@ import org.springframework.test.web.servlet.MockMvc;
|
|||
import org.springframework.test.web.servlet.request.MockMvcRequestBuilders;
|
||||
import org.springframework.test.web.servlet.result.MockMvcResultHandlers;
|
||||
|
||||
import java.util.Arrays;
|
||||
|
||||
import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.status;
|
||||
|
||||
@SpringBootTest
|
||||
|
@ -33,17 +36,17 @@ public class OrganizationControllerTests extends BaseTest{
|
|||
|
||||
@Test
|
||||
@Order(0)
|
||||
@Sql(scripts = {"/ddl/init_organization.sql"}, config = @SqlConfig(encoding = "utf-8", transactionMode = SqlConfig.TransactionMode.ISOLATED))
|
||||
@Sql(scripts = {"/dml/init_organization.sql"}, config = @SqlConfig(encoding = "utf-8", transactionMode = SqlConfig.TransactionMode.ISOLATED))
|
||||
public void testListOrganization() throws Exception {
|
||||
OrganizationRequest organizationRequest = new OrganizationRequest();
|
||||
organizationRequest.setCurrent(1);
|
||||
organizationRequest.setPageSize(10);
|
||||
organizationRequest.setKeyword("default");
|
||||
mockMvc.perform(MockMvcRequestBuilders.post(REQ_PREFIX + "/list")
|
||||
.content(JSON.toJSONString(organizationRequest))
|
||||
.contentType(MediaType.APPLICATION_JSON)
|
||||
.header(SessionConstants.HEADER_TOKEN, sessionId)
|
||||
.header(SessionConstants.CSRF_TOKEN, csrfToken))
|
||||
.header(SessionConstants.CSRF_TOKEN, csrfToken)
|
||||
.content(JSON.toJSONString(organizationRequest))
|
||||
.contentType(MediaType.APPLICATION_JSON))
|
||||
.andDo(MockMvcResultHandlers.print());
|
||||
}
|
||||
|
||||
|
@ -51,89 +54,77 @@ public class OrganizationControllerTests extends BaseTest{
|
|||
@Order(1)
|
||||
public void testListAllOrganization() throws Exception {
|
||||
OrganizationRequest organizationRequest = new OrganizationRequest();
|
||||
organizationRequest.setCurrent(1);
|
||||
organizationRequest.setPageSize(10);
|
||||
mockMvc.perform(MockMvcRequestBuilders.post(REQ_PREFIX + "/list-all")
|
||||
.content(JSON.toJSONString(organizationRequest))
|
||||
.contentType(MediaType.APPLICATION_JSON)
|
||||
.header(SessionConstants.HEADER_TOKEN, sessionId)
|
||||
.header(SessionConstants.CSRF_TOKEN, csrfToken))
|
||||
.header(SessionConstants.CSRF_TOKEN, csrfToken)
|
||||
.content(JSON.toJSONString(organizationRequest))
|
||||
.contentType(MediaType.APPLICATION_JSON))
|
||||
.andDo(MockMvcResultHandlers.print());
|
||||
}
|
||||
|
||||
@Test
|
||||
@Order(2)
|
||||
public void testAddOrganization() throws Exception {
|
||||
OrganizationDTO organizationDTO = new OrganizationDTO();
|
||||
organizationDTO.setName("default-organization");
|
||||
organizationDTO.setDescription("default-description");
|
||||
mockMvc.perform(MockMvcRequestBuilders.post(REQ_PREFIX + "/add")
|
||||
.content(JSON.toJSONString(organizationDTO))
|
||||
.contentType(MediaType.APPLICATION_JSON)
|
||||
public void testGetDefaultOrganization() throws Exception {
|
||||
mockMvc.perform(MockMvcRequestBuilders.get(REQ_PREFIX + "/default")
|
||||
.header(SessionConstants.HEADER_TOKEN, sessionId)
|
||||
.header(SessionConstants.CSRF_TOKEN, csrfToken))
|
||||
.andExpect(status().isOk());
|
||||
.andDo(MockMvcResultHandlers.print());
|
||||
}
|
||||
|
||||
@Test
|
||||
@Order(3)
|
||||
public void testUpdateOrganization() throws Exception {
|
||||
OrganizationDTO organizationDTO = new OrganizationDTO();
|
||||
organizationDTO.setId("default-organization-2");
|
||||
organizationDTO.setName("default-X");
|
||||
organizationDTO.setDescription("XXX-X");
|
||||
mockMvc.perform(MockMvcRequestBuilders.post(REQ_PREFIX + "/update")
|
||||
.content(JSON.toJSONString(organizationDTO))
|
||||
.contentType(MediaType.APPLICATION_JSON)
|
||||
public void testListOrganizationMember() throws Exception {
|
||||
OrganizationRequest organizationRequest = new OrganizationRequest();
|
||||
organizationRequest.setCurrent(1);
|
||||
organizationRequest.setPageSize(10);
|
||||
organizationRequest.setKeyword("admin");
|
||||
organizationRequest.setOrganizationId("default-organization-2");
|
||||
mockMvc.perform(MockMvcRequestBuilders.post(REQ_PREFIX + "/list-member")
|
||||
.header(SessionConstants.HEADER_TOKEN, sessionId)
|
||||
.header(SessionConstants.CSRF_TOKEN, csrfToken)
|
||||
.content(JSON.toJSONString(organizationRequest))
|
||||
.contentType(MediaType.APPLICATION_JSON))
|
||||
.andDo(MockMvcResultHandlers.print());
|
||||
}
|
||||
|
||||
@Test
|
||||
@Order(4)
|
||||
public void testAddOrganizationMember() throws Exception {
|
||||
OrganizationMemberRequest organizationMemberRequest = new OrganizationMemberRequest();
|
||||
organizationMemberRequest.setOrganizationId("default-organization-3");
|
||||
organizationMemberRequest.setMemberIds(Arrays.asList("admin", "default-admin"));
|
||||
mockMvc.perform(MockMvcRequestBuilders.post(REQ_PREFIX + "/add-member")
|
||||
.header(SessionConstants.HEADER_TOKEN, sessionId)
|
||||
.header(SessionConstants.CSRF_TOKEN, csrfToken)
|
||||
.content(JSON.toJSONString(organizationMemberRequest))
|
||||
.contentType(MediaType.APPLICATION_JSON))
|
||||
.andExpect(status().isOk());
|
||||
}
|
||||
|
||||
@Test
|
||||
@Order(5)
|
||||
public void testRemoveOrganizationMember() throws Exception {
|
||||
mockMvc.perform(MockMvcRequestBuilders.get(REQ_PREFIX + "/remove-member/default-organization-3/admin")
|
||||
.header(SessionConstants.HEADER_TOKEN, sessionId)
|
||||
.header(SessionConstants.CSRF_TOKEN, csrfToken))
|
||||
.andExpect(status().isOk());
|
||||
}
|
||||
|
||||
@Test
|
||||
@Order(4)
|
||||
public void testDeleteOrganization() throws Exception {
|
||||
mockMvc.perform(MockMvcRequestBuilders.get(REQ_PREFIX + "/delete/default-organization-2")
|
||||
.header(SessionConstants.HEADER_TOKEN, sessionId)
|
||||
.header(SessionConstants.CSRF_TOKEN, csrfToken))
|
||||
.andExpect(status().isOk())
|
||||
.andDo(MockMvcResultHandlers.print());
|
||||
}
|
||||
|
||||
@Test
|
||||
@Order(5)
|
||||
public void testUnDeleteOrganization() throws Exception {
|
||||
mockMvc.perform(MockMvcRequestBuilders.get(REQ_PREFIX + "/undelete/default-organization-2")
|
||||
.header(SessionConstants.HEADER_TOKEN, sessionId)
|
||||
.header(SessionConstants.CSRF_TOKEN, csrfToken))
|
||||
.andExpect(status().isOk())
|
||||
.andDo(MockMvcResultHandlers.print());
|
||||
}
|
||||
|
||||
@Test
|
||||
@Order(6)
|
||||
public void testEnableOrganization() throws Exception {
|
||||
mockMvc.perform(MockMvcRequestBuilders.get(REQ_PREFIX + "/enable/default-organization-2")
|
||||
.header(SessionConstants.HEADER_TOKEN, sessionId)
|
||||
.header(SessionConstants.CSRF_TOKEN, csrfToken))
|
||||
.andExpect(status().isOk())
|
||||
.andDo(MockMvcResultHandlers.print());
|
||||
}
|
||||
|
||||
@Test
|
||||
@Order(7)
|
||||
public void testDisableOrganization() throws Exception {
|
||||
mockMvc.perform(MockMvcRequestBuilders.get(REQ_PREFIX + "/disable/default-organization-2")
|
||||
.header(SessionConstants.HEADER_TOKEN, sessionId)
|
||||
.header(SessionConstants.CSRF_TOKEN, csrfToken))
|
||||
.andExpect(status().isOk())
|
||||
.andDo(MockMvcResultHandlers.print());
|
||||
}
|
||||
|
||||
@Test
|
||||
@Order(8)
|
||||
public void testGetDefaultOrganization() throws Exception {
|
||||
mockMvc.perform(MockMvcRequestBuilders.get(REQ_PREFIX + "/getDefault")
|
||||
public void testGetOrganizationProject() throws Exception {
|
||||
ProjectRequest projectRequest = new ProjectRequest();
|
||||
projectRequest.setCurrent(1);
|
||||
projectRequest.setPageSize(10);
|
||||
projectRequest.setOrganizationId("default-organization-2");
|
||||
mockMvc.perform(MockMvcRequestBuilders.post(REQ_PREFIX + "/list-project")
|
||||
.header(SessionConstants.HEADER_TOKEN, sessionId)
|
||||
.header(SessionConstants.CSRF_TOKEN, csrfToken))
|
||||
.header(SessionConstants.CSRF_TOKEN, csrfToken)
|
||||
.content(JSON.toJSONString(projectRequest))
|
||||
.contentType(MediaType.APPLICATION_JSON))
|
||||
.andExpect(status().isOk())
|
||||
.andDo(MockMvcResultHandlers.print());
|
||||
}
|
||||
}
|
||||
|
|
|
@ -1,13 +0,0 @@
|
|||
# 列表数据准备
|
||||
INSERT INTO organization(id, name, description, create_time, update_time, create_user, update_user, delete_user, delete_time) value
|
||||
('default-organization-1', 'default-1', 'XXX-1', CURRENT_TIMESTAMP(), CURRENT_TIMESTAMP(), 'admin', 'admin', null, null);
|
||||
INSERT INTO organization(id, name, description, create_time, update_time, create_user, update_user, delete_user, delete_time) value
|
||||
('default-organization-2', 'default-2', 'XXX-2', CURRENT_TIMESTAMP(), CURRENT_TIMESTAMP(), 'admin', 'admin', null, null);
|
||||
INSERT INTO organization(id, name, description, create_time, update_time, create_user, update_user, delete_user, delete_time) value
|
||||
('default-organization-3', 'default-3', 'XXX-3', CURRENT_TIMESTAMP(), CURRENT_TIMESTAMP(), 'admin', 'admin', null, null);
|
||||
INSERT INTO organization(id, name, description, create_time, update_time, create_user, update_user, delete_user, delete_time) value
|
||||
('default-organization-4', 'default-4', 'XXX-4', CURRENT_TIMESTAMP(), CURRENT_TIMESTAMP(), 'admin', 'admin', null, null);
|
||||
INSERT INTO organization(id, name, description, create_time, update_time, create_user, update_user, delete_user, delete_time) value
|
||||
('default-organization-5', 'default-5', 'XXX-5', CURRENT_TIMESTAMP(), CURRENT_TIMESTAMP(), 'admin', 'admin', null, null);
|
||||
INSERT INTO organization(id, name, description, create_time, update_time, create_user, update_user, delete_user, delete_time) value
|
||||
('default-organization-6', 'default-6', 'XXX-6', CURRENT_TIMESTAMP(), CURRENT_TIMESTAMP(), 'admin', 'admin', null, null);
|
|
@ -0,0 +1,19 @@
|
|||
# 组织列表数据准备
|
||||
INSERT INTO organization(id, name, description, create_time, update_time, create_user, update_user, delete_user, delete_time) VALUE
|
||||
('default-organization-1', 'default-1', 'XXX-1', UNIX_TIMESTAMP() * 1000, UNIX_TIMESTAMP() * 1000, 'admin', 'admin', null, null);
|
||||
INSERT INTO organization(id, name, description, create_time, update_time, create_user, update_user, delete_user, delete_time) VALUE
|
||||
('default-organization-2', 'default-2', 'XXX-2', UNIX_TIMESTAMP() * 1000, UNIX_TIMESTAMP() * 1000, 'admin', 'admin', null, null);
|
||||
INSERT INTO organization(id, name, description, create_time, update_time, create_user, update_user, delete_user, delete_time) VALUE
|
||||
('default-organization-3', 'default-3', 'XXX-3', UNIX_TIMESTAMP() * 1000, UNIX_TIMESTAMP() * 1000, 'admin', 'admin', null, null);
|
||||
INSERT INTO organization(id, name, description, create_time, update_time, create_user, update_user, delete_user, delete_time) VALUE
|
||||
('default-organization-4', 'default-4', 'XXX-4', UNIX_TIMESTAMP() * 1000, UNIX_TIMESTAMP() * 1000, 'admin', 'admin', null, null);
|
||||
INSERT INTO organization(id, name, description, create_time, update_time, create_user, update_user, delete_user, delete_time) VALUE
|
||||
('default-organization-5', 'default-5', 'XXX-5', UNIX_TIMESTAMP() * 1000, UNIX_TIMESTAMP() * 1000, 'admin', 'admin', null, null);
|
||||
INSERT INTO organization(id, name, description, create_time, update_time, create_user, update_user, delete_user, delete_time) VALUE
|
||||
('default-organization-6', 'default-6', 'XXX-6', UNIX_TIMESTAMP() * 1000, UNIX_TIMESTAMP() * 1000, 'admin', 'admin', null, null);
|
||||
INSERT INTO user(id, name, email, password, create_time, update_time, language, last_organization_id, phone, source, last_project_id, create_user, update_user) VALUE
|
||||
('default-admin', 'default-Administrator', 'admin-default@metersphere.io', MD5('metersphere'), UNIX_TIMESTAMP() * 1000, UNIX_TIMESTAMP() * 1000, NULL, NUll, '', 'LOCAL', NULL, 'admin', 'admin');
|
||||
INSERT INTO user_role_relation (id, user_id, role_id, source_id, create_time, create_user) VALUE
|
||||
(UUID(), 'admin', 'admin', 'default-organization-2', UNIX_TIMESTAMP() * 1000, 'admin');
|
||||
INSERT INTO project (id, num, organization_id, name, description, create_user, update_user, create_time, update_time) VALUE
|
||||
('default-project', null, 'default-organization-2', '默认项目', '系统默认创建的项目', 'admin', 'admin', UNIX_TIMESTAMP() * 1000, UNIX_TIMESTAMP() * 1000);
|
Loading…
Reference in New Issue