This commit is contained in:
chenjianxing 2020-05-14 16:25:24 +08:00
commit dd2bbeda5b
14 changed files with 70 additions and 75 deletions

View File

@ -2,9 +2,10 @@ package io.metersphere.base.mapper;
import io.metersphere.base.domain.User;
import io.metersphere.base.domain.UserExample;
import java.util.List;
import org.apache.ibatis.annotations.Param;
import java.util.List;
public interface UserMapper {
long countByExample(UserExample example);
@ -29,4 +30,7 @@ public interface UserMapper {
int updateByPrimaryKey(User record);
int updatePassword(User record);
String getDefaultlanguage(String paramKey);
}

View File

@ -304,11 +304,15 @@
where id = #{id,jdbcType=VARCHAR}
</update>
<!--修改密码-->
<update id="updatePassword" parameterType="io.metersphere.base.domain.User">
<update id="updatePassword" parameterType="io.metersphere.base.domain.User">
update user
set
password=#{password,jdbcType=VARCHAR},
update_time = #{updateTime,jdbcType=BIGINT}
where id=#{id,jdbcType=VARCHAR}
</update>
<select id="getDefaultlanguage" parameterType="java.lang.String" resultType="java.lang.String">
select param_value from system_parameter
where param_key=#{paramKey,jdbcType=VARCHAR}
</select>
</mapper>

View File

@ -3,10 +3,14 @@ package io.metersphere.base.mapper.ext;
import io.metersphere.base.domain.User;
import io.metersphere.controller.request.UserRequest;
import org.apache.ibatis.annotations.Param;
import java.util.List;
public interface ExtUserMapper {
List<User> getUserList(@Param("userRequest") UserRequest request);
int updatePassword(User record);
String getDefaultlanguage(String paramKey);
}

View File

@ -41,5 +41,9 @@
update_time = #{updateTime,jdbcType=BIGINT}
where id=#{id,jdbcType=VARCHAR}
</update>
<select id="getDefaultlanguage" parameterType="java.lang.String" resultType="java.lang.String">
select param_value from system_parameter
where param_key=#{paramKey,jdbcType=VARCHAR}
</select>
</mapper>

View File

@ -87,4 +87,10 @@ public class LoginController {
return ResultHolder.success("");
}
/*Get default language*/
@PostMapping(value = "/language")
public String getDefaultlanguage() {
return userService.getDefaultlanguage();
}
}

View File

@ -1,16 +0,0 @@
package io.metersphere.dto;
import io.metersphere.base.domain.Role;
import io.metersphere.base.domain.User;
import lombok.Getter;
import lombok.Setter;
import java.util.List;
@Getter
@Setter
public class UserOperateDTO extends User {
private List<Role> roleList;
}

View File

@ -1,18 +0,0 @@
package io.metersphere.dto;
import lombok.Getter;
import lombok.Setter;
@Getter
@Setter
public class UserRoleDTO {
private String id;
private String roleId;
private String type;
private String name;
private String desc;
private String parentId;
private Boolean switchable = true;
}

View File

@ -223,7 +223,7 @@ public class TestResourcePoolService {
List<TestResourcePoolDTO> testResourcePools = listResourcePools(request);
// 重新校验 pool
for (TestResourcePoolDTO pool : testResourcePools) {
// 手动设置成无效的, 排除
// 手动设置成无效的, 排除
if (INVALID.name().equals(pool.getStatus())) {
continue;
}

View File

@ -344,4 +344,9 @@ public class UserService {
userRole.setUpdateTime(System.currentTimeMillis());
userRoleMapper.insertSelective(userRole);
}
public String getDefaultlanguage() {
final String key = "registry.defaultlanguage";
return extUserMapper.getDefaultlanguage(key);
}
}

View File

@ -158,7 +158,7 @@ export class Request extends BaseConfig {
initOptions(options) {
options = options || {};
options.method = "GET";
options.method = options.method || "GET";
options.body = new Body(options.body);
options.assertions = new Assertions(options.assertions);
options.extract = new Extract(options.extract);
@ -474,10 +474,10 @@ class JMXGenerator {
if (request.body.isKV()) {
body = request.body.kvs.filter(this.filter);
} else {
httpSamplerProxy.boolProp('HTTPSampler.postBodyRaw', true);
body.push({name: '', value: request.body.raw});
}
httpSamplerProxy.boolProp('HTTPSampler.postBodyRaw', true);
httpSamplerProxy.add(new HTTPSamplerArguments(body));
}

View File

@ -5,7 +5,7 @@
text-color="#fff">
<el-submenu index="1" popper-class="submenu"
v-permission="['org_admin', 'test_manager', 'test_user', 'test_viewer']">
<template v-slot:title>{{$t('commons.organization')}}{{currentOrganizationName}}</template>
<template v-slot:title>{{$t('commons.organization')}}: {{currentOrganizationName}}</template>
<label v-for="(item,index) in organizationList" :key="index">
<el-menu-item @click="changeOrg(item)">{{item.name}}
<i class="el-icon-check"
@ -14,7 +14,7 @@
</label>
</el-submenu>
<el-submenu index="2" popper-class="submenu" v-permission="['test_manager', 'test_user', 'test_viewer']">
<template v-slot:title>{{$t('commons.workspace')}}{{currentWorkspaceName}}</template>
<template v-slot:title>{{$t('commons.workspace')}}: {{currentWorkspaceName}}</template>
<label v-for="(item,index) in workspaceList" :key="index">
<el-menu-item @click="changeWs(item)">
{{item.name}}
@ -52,8 +52,8 @@
currentUserInfo: {},
currentUserId: getCurrentUser().id,
workspaceIds: [],
currentOrganizationName: this.$t('organization.select'),
currentWorkspaceName: this.$t('workspace.select')
currentOrganizationName: '',
currentWorkspaceName: ''
}
},
computed: {

View File

@ -10,21 +10,15 @@
<font-awesome-icon class="icon global" :icon="['fas', 'globe']"/>
<span>{{language}}</span>
</template>
<el-menu-item @click="changeLanguage('zh_CN')">
简体中文<i class="el-icon-check" v-if="currentUserInfo.language==='zh_CN' || !currentUserInfo.language"/>
</el-menu-item>
<el-menu-item @click="changeLanguage('zh_TW')">
繁體中文<i class="el-icon-check" v-if="currentUserInfo.language==='zh_TW'"/>
</el-menu-item>
<el-menu-item @click="changeLanguage('en_US')">
English<i class="el-icon-check" v-if="currentUserInfo.language==='en_US'"/>
<el-menu-item v-for="(value, key) in languageMap" :key="key" @click="changeLanguage(key)">
{{value}} <i class="el-icon-check" v-if="language === value"/>
</el-menu-item>
</el-submenu>
</el-menu>
</template>
<script>
import {TokenKey, ZH_CN, ZH_TW, EN_US} from '../../../../common/js/constants';
import {EN_US, TokenKey, ZH_CN, ZH_TW} from '../../../../common/js/constants';
import {getCurrentUser} from "../../../../common/js/utils";
export default {
@ -32,7 +26,12 @@
data() {
return {
currentUserInfo: {},
language: ''
language: '',
languageMap: {
[ZH_CN]: '简体中文',
[EN_US]: 'English',
[ZH_TW]: '繁體中文',
}
};
},
created() {
@ -41,23 +40,26 @@
if (!lang) {
lang = 'zh_CN';
}
this.$setLang(lang);
switch (lang) {
case ZH_CN:
this.language = '简体中文';
break;
case ZH_TW:
this.language = '繁體中文';
break;
case EN_US:
this.language = 'English';
break;
default:
this.language = '简体中文';
break;
}
this.checkLanguage(lang)
},
methods: {
checkLanguage(lang) {
this.$setLang(lang);
switch (lang) {
case ZH_CN:
this.language = this.languageMap[ZH_CN];
break;
case ZH_TW:
this.language = this.languageMap[ZH_TW];
break;
case EN_US:
this.language = this.languageMap[EN_US];
break;
default:
this.language = this.languageMap[ZH_CN];
break;
}
},
currentUser: () => {
return getCurrentUser();
},
@ -66,9 +68,9 @@
id: this.currentUser().id,
language: language
};
this.checkLanguage(language);
this.result = this.$post("/user/update/current", user, response => {
localStorage.setItem(TokenKey, JSON.stringify(response.data));
window.location.reload();
});
}
}

View File

@ -40,8 +40,8 @@ export default {
'personal_setting': 'Personal Setting',
'test_resource_pool': 'Resource Pool',
'system_setting': 'Settings',
'api': 'Api test',
'performance': 'Performance test',
'api': 'API',
'performance': 'Performance',
'functional': 'Functional test',
'input_content': 'Please enter content',
'create': 'Create',

View File

@ -107,10 +107,10 @@
this.$post("signin", this.form, response => {
saveLocalStorage(response);
let language = response.data.language;
if (!language) {
language = 'zh_CN';
}
this.$setLang(language);
this.$post("language",response=>{
this.$setLang(language);
})
window.location.href = "/"
});
} else {