forked from github/dataease
feat: ESlint格式化前端代码
This commit is contained in:
parent
0d3e1d093f
commit
c34ad9a026
@ -46,6 +46,7 @@ public class F2CRealm extends AuthorizingRealm {
|
||||
}
|
||||
|
||||
//验证登录权限
|
||||
|
||||
@Override
|
||||
protected AuthenticationInfo doGetAuthenticationInfo(AuthenticationToken auth) throws AuthenticationException {
|
||||
String token = (String) auth.getCredentials();
|
||||
@ -63,7 +64,6 @@ public class F2CRealm extends AuthorizingRealm {
|
||||
}
|
||||
String pass = null;
|
||||
try {
|
||||
/*pass = RsaUtil.decryptByPrivateKey(RsaProperties.privateKey, userBean.getPassword());*/
|
||||
pass = user.getPassword();
|
||||
} catch (Exception e) {
|
||||
e.printStackTrace();
|
||||
|
@ -6,18 +6,20 @@ import com.auth0.jwt.algorithms.Algorithm;
|
||||
import com.auth0.jwt.exceptions.JWTDecodeException;
|
||||
import com.auth0.jwt.interfaces.DecodedJWT;
|
||||
import io.dataease.auth.entity.TokenInfo;
|
||||
import io.dataease.commons.utils.ServletUtils;
|
||||
import org.apache.commons.lang3.ObjectUtils;
|
||||
import org.apache.commons.lang3.StringUtils;
|
||||
|
||||
import javax.servlet.http.HttpServletResponse;
|
||||
import java.util.Date;
|
||||
|
||||
|
||||
public class JWTUtils {
|
||||
|
||||
|
||||
// token过期时间5分钟 (过期会自动刷新续命 目的是避免一直都是同一个token )
|
||||
// token过期时间5min (过期会自动刷新续命 目的是避免一直都是同一个token )
|
||||
private static final long EXPIRE_TIME = 1*60*1000;
|
||||
// 登录间隔时间 超过这个时间强制重新登录
|
||||
private static final long Login_Interval = 2*60*1000;
|
||||
// 登录间隔时间10min 超过这个时间强制重新登录
|
||||
private static final long Login_Interval = 10*60*1000;
|
||||
|
||||
|
||||
/**
|
||||
@ -33,7 +35,17 @@ public class JWTUtils {
|
||||
.withClaim("username", tokenInfo.getUsername())
|
||||
.withClaim("userId", tokenInfo.getUserId())
|
||||
.build();
|
||||
verifier.verify(token);
|
||||
DecodedJWT jwt = verifier.verify(token);
|
||||
Long lastLoginTime = jwt.getClaim("lastLoginTime").asLong();
|
||||
long now = System.currentTimeMillis();
|
||||
if (now - lastLoginTime > Login_Interval){
|
||||
// 登录超时
|
||||
HttpServletResponse response = ServletUtils.response();
|
||||
response.addHeader("Access-Control-Expose-Headers", "authentication-status");
|
||||
response.setHeader("authentication-status", "login_expire");
|
||||
// 前端拦截 登录超时状态 直接logout
|
||||
return false;
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
|
@ -108,4 +108,4 @@ export function post(url, data) {
|
||||
})
|
||||
}
|
||||
|
||||
export default { loadTable, getScene, addGroup, delGroup, addTable, delTable, groupTree,defaultTree }
|
||||
export default { loadTable, getScene, addGroup, delGroup, addTable, delTable, groupTree, defaultTree }
|
||||
|
@ -683,10 +683,10 @@ export default {
|
||||
},
|
||||
panel: {
|
||||
datalist: '视图列表',
|
||||
group:'目录',
|
||||
panel:'仪表盘',
|
||||
groupAdd:'新建目录',
|
||||
panelAdd:'新建仪表盘',
|
||||
group: '目录',
|
||||
panel: '仪表盘',
|
||||
groupAdd: '新建目录',
|
||||
panelAdd: '新建仪表盘',
|
||||
delete: '删除',
|
||||
move_to: '移动到',
|
||||
rename: '重命名',
|
||||
|
@ -52,6 +52,14 @@ const checkAuth = response => {
|
||||
})
|
||||
})
|
||||
}
|
||||
if (response.headers['authentication-status'] === 'login_expire') {
|
||||
const message = this.$t('login.expires')
|
||||
$alert(message, () => {
|
||||
store.dispatch('user/logout').then(() => {
|
||||
location.reload()
|
||||
})
|
||||
})
|
||||
}
|
||||
// token到期后自动续命 刷新token
|
||||
if (response.headers[RefreshTokenKey]) {
|
||||
const refreshToken = response.headers[RefreshTokenKey]
|
||||
|
@ -4,43 +4,43 @@
|
||||
<ms-aside-container>
|
||||
<el-tabs v-model="activeName" @tab-click="handleClick">
|
||||
<el-tab-pane name="PanelList">
|
||||
<span slot="label"><i class="el-icon-document"></i>列表</span>
|
||||
<PanelList @switchComponent="switchComponent"/>
|
||||
<span slot="label"><i class="el-icon-document" />列表</span>
|
||||
<PanelList @switchComponent="switchComponent" />
|
||||
</el-tab-pane>
|
||||
<el-tab-pane name="panels_star">
|
||||
<span slot="label"><i class="el-icon-star-off"></i>收藏</span>
|
||||
<span slot="label"><i class="el-icon-star-off" />收藏</span>
|
||||
开发中...
|
||||
</el-tab-pane>
|
||||
<el-tab-pane name="panels_share">
|
||||
<span slot="label"><i class="el-icon-share"></i>分享</span>
|
||||
<span slot="label"><i class="el-icon-share" />分享</span>
|
||||
开发中...
|
||||
</el-tab-pane>
|
||||
<!-- <el-tab-pane name="example">-->
|
||||
<!-- <span slot="label"><i class="el-icon-star-on"></i>示例</span>-->
|
||||
<!-- <group @switchComponent="switchComponent"/>-->
|
||||
<!-- </el-tab-pane>-->
|
||||
<!-- <el-tab-pane name="example">-->
|
||||
<!-- <span slot="label"><i class="el-icon-star-on"></i>示例</span>-->
|
||||
<!-- <group @switchComponent="switchComponent"/>-->
|
||||
<!-- </el-tab-pane>-->
|
||||
</el-tabs>
|
||||
|
||||
</ms-aside-container>
|
||||
|
||||
<ms-main-container>
|
||||
<!--<router-view/>-->
|
||||
<component :is="component" :param="param" @switchComponent="switchComponent"/>
|
||||
<component :is="component" :param="param" @switchComponent="switchComponent" />
|
||||
</ms-main-container>
|
||||
</ms-container>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import MsMainContainer from '@/metersphere/common/components/MsMainContainer'
|
||||
import MsContainer from '@/metersphere/common/components/MsContainer'
|
||||
import MsAsideContainer from '@/metersphere/common/components/MsAsideContainer'
|
||||
// import Group from './group/Group'
|
||||
import PanelList from './list/PanelList'
|
||||
import PanelView from './list/PanelView'
|
||||
import MsMainContainer from '@/metersphere/common/components/MsMainContainer'
|
||||
import MsContainer from '@/metersphere/common/components/MsContainer'
|
||||
import MsAsideContainer from '@/metersphere/common/components/MsAsideContainer'
|
||||
// import Group from './group/Group'
|
||||
import PanelList from './list/PanelList'
|
||||
import PanelView from './list/PanelView'
|
||||
|
||||
export default {
|
||||
export default {
|
||||
name: 'Panel',
|
||||
components: {MsMainContainer, MsContainer, MsAsideContainer, PanelList,PanelView},
|
||||
components: { MsMainContainer, MsContainer, MsAsideContainer, PanelList, PanelView },
|
||||
data() {
|
||||
return {
|
||||
component: PanelView,
|
||||
@ -62,7 +62,7 @@
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
</script>
|
||||
|
||||
<style scoped>
|
||||
|
@ -97,7 +97,7 @@
|
||||
<el-dialog :title="dialogTitle" :visible="editGroup" :show-close="false" width="30%">
|
||||
<el-form ref="groupForm" :model="groupForm" :rules="groupFormRules">
|
||||
<el-form-item :label="$t('commons.name')" prop="name">
|
||||
<el-input v-model="groupForm.name"/>
|
||||
<el-input v-model="groupForm.name" />
|
||||
</el-form-item>
|
||||
</el-form>
|
||||
<div slot="footer" class="dialog-footer">
|
||||
@ -111,13 +111,13 @@
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import {loadTable, getScene, addGroup, delGroup, addTable, delTable, groupTree,defaultTree} from '@/api/panel/panel'
|
||||
import { loadTable, getScene, addGroup, delGroup, addTable, delTable, groupTree, defaultTree } from '@/api/panel/panel'
|
||||
|
||||
export default {
|
||||
export default {
|
||||
name: 'PanelList',
|
||||
data() {
|
||||
return {
|
||||
defaultData:[],
|
||||
defaultData: [],
|
||||
dialogTitle: '',
|
||||
search: '',
|
||||
editGroup: false,
|
||||
@ -141,15 +141,15 @@
|
||||
},
|
||||
groupFormRules: {
|
||||
name: [
|
||||
{required: true, message: this.$t('commons.input_content'), trigger: 'blur'}
|
||||
{ required: true, message: this.$t('commons.input_content'), trigger: 'blur' }
|
||||
]
|
||||
},
|
||||
tableFormRules: {
|
||||
name: [
|
||||
{required: true, message: this.$t('commons.input_content'), trigger: 'blur'}
|
||||
{ required: true, message: this.$t('commons.input_content'), trigger: 'blur' }
|
||||
],
|
||||
mode: [
|
||||
{required: true, message: this.$t('commons.input_content'), trigger: 'blur'}
|
||||
{ required: true, message: this.$t('commons.input_content'), trigger: 'blur' }
|
||||
]
|
||||
}
|
||||
}
|
||||
@ -268,7 +268,7 @@
|
||||
})
|
||||
this.tableTree()
|
||||
// this.$router.push('/dataset/home')
|
||||
this.$emit('switchComponent', {name: ''})
|
||||
this.$emit('switchComponent', { name: '' })
|
||||
this.$store.dispatch('dataset/setTable', null)
|
||||
})
|
||||
} else {
|
||||
@ -314,7 +314,7 @@
|
||||
})
|
||||
this.tableTree()
|
||||
// this.$router.push('/dataset/home')
|
||||
this.$emit('switchComponent', {name: ''})
|
||||
this.$emit('switchComponent', { name: '' })
|
||||
this.$store.dispatch('dataset/setTable', null)
|
||||
})
|
||||
}).catch(() => {
|
||||
@ -346,7 +346,7 @@
|
||||
})
|
||||
},
|
||||
defaultTree() {
|
||||
let requestInfo ={
|
||||
const requestInfo = {
|
||||
panelType: 'system'
|
||||
}
|
||||
defaultTree(requestInfo).then(res => {
|
||||
@ -391,7 +391,7 @@
|
||||
// console.log(route)
|
||||
// this.$router.push('/dataset/index')
|
||||
this.$store.dispatch('dataset/setSceneData', null)
|
||||
this.$emit('switchComponent', {name: ''})
|
||||
this.$emit('switchComponent', { name: '' })
|
||||
},
|
||||
|
||||
clickAddData(param) {
|
||||
@ -424,10 +424,9 @@
|
||||
// params: {
|
||||
// scene: this.currGroup
|
||||
|
||||
|
||||
// }
|
||||
// })
|
||||
this.$emit('switchComponent', {name: 'AddDB', param: this.currGroup})
|
||||
this.$emit('switchComponent', { name: 'AddDB', param: this.currGroup })
|
||||
},
|
||||
|
||||
sceneClick(data, node) {
|
||||
@ -440,7 +439,7 @@
|
||||
// table: data
|
||||
// }
|
||||
// })
|
||||
this.$emit('switchComponent', {name: 'ViewTable'})
|
||||
this.$emit('switchComponent', { name: 'ViewTable' })
|
||||
},
|
||||
|
||||
refresh() {
|
||||
@ -454,16 +453,14 @@
|
||||
}
|
||||
},
|
||||
panelDefaultClick(data, node) {
|
||||
console.log(data);
|
||||
console.log(node);
|
||||
console.log(data)
|
||||
console.log(node)
|
||||
this.$store.dispatch('panel/setPanelName', data.name)
|
||||
//切换view
|
||||
this.$emit('switchComponent', {name: 'PanelView'})
|
||||
|
||||
|
||||
},
|
||||
// 切换view
|
||||
this.$emit('switchComponent', { name: 'PanelView' })
|
||||
}
|
||||
}
|
||||
}
|
||||
</script>
|
||||
|
||||
<style scoped>
|
||||
|
Loading…
Reference in New Issue
Block a user