控制台只展示有权限的菜单,登录和提示优化
This commit is contained in:
@@ -5,4 +5,8 @@ public class DocAuthConst {
|
||||
public static final String WIKI = "WIKI_";
|
||||
|
||||
public static final String DB_DATASOURCE_MANAGE = "DB_DATASOURCE_MANAGE";
|
||||
public static final String ES_DATASOURCE_MANAGE = "ES_DATASOURCE_MANAGE";
|
||||
public static final String USER_MANAGE = "USER_MANAGE";
|
||||
public static final String AUTH_MANAGE = "AUTH_MANAGE";
|
||||
public static final String AUTH_ASSIGN = "AUTH_ASSIGN";
|
||||
}
|
||||
|
||||
@@ -35,7 +35,7 @@ import java.util.stream.Stream;
|
||||
* @since 2019年8月18日
|
||||
*/
|
||||
@RestController
|
||||
@AuthMan("DB_DATASOURCE_MANAGE")
|
||||
@AuthMan(DocAuthConst.DB_DATASOURCE_MANAGE)
|
||||
@RequestMapping("/zyplayer-doc-db/auth")
|
||||
public class DbDataSourceAuthController {
|
||||
private static Logger logger = LoggerFactory.getLogger(DbDataSourceAuthController.class);
|
||||
|
||||
@@ -6,6 +6,7 @@ import com.zyplayer.doc.core.json.ResponseJson;
|
||||
import com.zyplayer.doc.data.config.security.DocUserDetails;
|
||||
import com.zyplayer.doc.data.config.security.DocUserUtil;
|
||||
import com.zyplayer.doc.data.repository.manage.entity.DbDatasource;
|
||||
import com.zyplayer.doc.data.repository.support.consts.DocAuthConst;
|
||||
import com.zyplayer.doc.data.service.manage.DbDatasourceService;
|
||||
import com.zyplayer.doc.db.framework.configuration.DatasourceUtil;
|
||||
import com.zyplayer.doc.db.framework.db.bean.DatabaseFactoryBean;
|
||||
@@ -27,7 +28,7 @@ import java.util.*;
|
||||
* @since 2019年6月29日
|
||||
*/
|
||||
@RestController
|
||||
@AuthMan("DB_DATASOURCE_MANAGE")
|
||||
@AuthMan(DocAuthConst.DB_DATASOURCE_MANAGE)
|
||||
@RequestMapping("/zyplayer-doc-db/datasource")
|
||||
public class DbDatasourceController {
|
||||
|
||||
|
||||
@@ -7,6 +7,7 @@ import com.zyplayer.doc.core.json.ResponseJson;
|
||||
import com.zyplayer.doc.data.config.security.DocUserDetails;
|
||||
import com.zyplayer.doc.data.config.security.DocUserUtil;
|
||||
import com.zyplayer.doc.data.repository.manage.entity.EsDatasource;
|
||||
import com.zyplayer.doc.data.repository.support.consts.DocAuthConst;
|
||||
import com.zyplayer.doc.data.service.manage.EsDatasourceService;
|
||||
import org.apache.commons.lang3.StringUtils;
|
||||
import org.springframework.web.bind.annotation.PostMapping;
|
||||
@@ -39,7 +40,7 @@ public class EsDatasourceController {
|
||||
return DocResponseJson.ok(datasourceList);
|
||||
}
|
||||
|
||||
@AuthMan("ES_DATASOURCE_MANAGE")
|
||||
@AuthMan(DocAuthConst.ES_DATASOURCE_MANAGE)
|
||||
@PostMapping(value = "/update")
|
||||
public ResponseJson update(EsDatasource esDatasource) {
|
||||
if (StringUtils.isBlank(esDatasource.getName())) {
|
||||
|
||||
@@ -6,6 +6,7 @@ import com.zyplayer.doc.core.annotation.AuthMan;
|
||||
import com.zyplayer.doc.data.config.security.DocUserDetails;
|
||||
import com.zyplayer.doc.data.config.security.DocUserUtil;
|
||||
import com.zyplayer.doc.data.repository.manage.entity.AuthInfo;
|
||||
import com.zyplayer.doc.data.repository.support.consts.DocAuthConst;
|
||||
import com.zyplayer.doc.data.service.manage.AuthInfoService;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.web.bind.annotation.PostMapping;
|
||||
@@ -17,7 +18,7 @@ import java.util.List;
|
||||
|
||||
@RestController
|
||||
@RequestMapping("/auth/info")
|
||||
@AuthMan("AUTH_MANAGE")
|
||||
@AuthMan(DocAuthConst.AUTH_MANAGE)
|
||||
public class AuthInfoController {
|
||||
|
||||
@Autowired
|
||||
|
||||
@@ -8,6 +8,7 @@ import com.zyplayer.doc.data.config.security.DocUserDetails;
|
||||
import com.zyplayer.doc.data.config.security.DocUserUtil;
|
||||
import com.zyplayer.doc.data.repository.manage.entity.AuthInfo;
|
||||
import com.zyplayer.doc.data.repository.manage.entity.UserAuth;
|
||||
import com.zyplayer.doc.data.repository.support.consts.DocAuthConst;
|
||||
import com.zyplayer.doc.data.service.manage.AuthInfoService;
|
||||
import com.zyplayer.doc.data.service.manage.UserAuthService;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
@@ -21,7 +22,7 @@ import java.util.stream.Collectors;
|
||||
|
||||
@RestController
|
||||
@RequestMapping("/user/auth")
|
||||
@AuthMan("AUTH_ASSIGN")
|
||||
@AuthMan(DocAuthConst.AUTH_ASSIGN)
|
||||
public class UserAuthController {
|
||||
|
||||
@Autowired
|
||||
|
||||
@@ -1,27 +1,27 @@
|
||||
package com.zyplayer.doc.manage.web.manage;
|
||||
|
||||
import cn.hutool.core.util.RandomUtil;
|
||||
import com.baomidou.mybatisplus.core.conditions.Wrapper;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
||||
import com.github.pagehelper.PageHelper;
|
||||
import com.github.pagehelper.PageInfo;
|
||||
import com.zyplayer.doc.core.annotation.AuthMan;
|
||||
import com.zyplayer.doc.core.json.DocResponseJson;
|
||||
import com.zyplayer.doc.core.json.ResponseJson;
|
||||
import com.zyplayer.doc.core.annotation.AuthMan;
|
||||
import com.zyplayer.doc.data.config.security.DocUserDetails;
|
||||
import com.zyplayer.doc.data.config.security.DocUserUtil;
|
||||
import com.zyplayer.doc.data.repository.manage.entity.AuthInfo;
|
||||
import com.zyplayer.doc.data.repository.manage.entity.UserAuth;
|
||||
import com.zyplayer.doc.data.repository.manage.entity.UserInfo;
|
||||
import com.zyplayer.doc.data.repository.manage.entity.WikiPage;
|
||||
import com.zyplayer.doc.data.repository.support.consts.DocAuthConst;
|
||||
import com.zyplayer.doc.data.service.manage.AuthInfoService;
|
||||
import com.zyplayer.doc.data.service.manage.UserAuthService;
|
||||
import com.zyplayer.doc.data.service.manage.UserInfoService;
|
||||
import com.zyplayer.doc.manage.web.manage.param.UserListParam;
|
||||
import com.zyplayer.doc.manage.web.manage.vo.AuthInfoVo;
|
||||
import com.zyplayer.doc.manage.web.manage.vo.UserInfoAuthVo;
|
||||
import com.zyplayer.doc.manage.web.manage.vo.UserAuthVo;
|
||||
import org.apache.commons.lang.StringUtils;
|
||||
import org.dozer.Mapper;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.util.DigestUtils;
|
||||
import org.springframework.web.bind.annotation.PostMapping;
|
||||
import org.springframework.web.bind.annotation.RequestMapping;
|
||||
@@ -50,10 +50,25 @@ public class UserInfoController {
|
||||
public ResponseJson<Object> selfInfo() {
|
||||
DocUserDetails currentUser = DocUserUtil.getCurrentUser();
|
||||
UserInfo userInfo = userInfoService.getById(currentUser.getUserId());
|
||||
userInfo.setPassword(null);
|
||||
return DocResponseJson.ok(userInfo);
|
||||
}
|
||||
|
||||
@AuthMan("USER_MANAGE")
|
||||
@AuthMan
|
||||
@PostMapping("/selfInfoWithAuth")
|
||||
public ResponseJson<UserInfoAuthVo> selfInfoWithAuth() {
|
||||
DocUserDetails currentUser = DocUserUtil.getCurrentUser();
|
||||
UserInfo userInfo = userInfoService.getById(currentUser.getUserId());
|
||||
userInfo.setPassword(null);
|
||||
UserAuthVo sysAuthInfoVo = new UserAuthVo();
|
||||
sysAuthInfoVo.setUserManage(DocUserUtil.haveAuth(DocAuthConst.USER_MANAGE));
|
||||
UserInfoAuthVo selfInfoVo = new UserInfoAuthVo();
|
||||
selfInfoVo.setUserInfo(userInfo);
|
||||
selfInfoVo.setUserAuth(sysAuthInfoVo);
|
||||
return DocResponseJson.ok(selfInfoVo);
|
||||
}
|
||||
|
||||
@AuthMan(DocAuthConst.USER_MANAGE)
|
||||
@PostMapping("/list")
|
||||
public ResponseJson<Object> list(UserListParam param) {
|
||||
QueryWrapper<UserInfo> queryWrapper = new QueryWrapper<>();
|
||||
@@ -74,7 +89,7 @@ public class UserInfoController {
|
||||
return DocResponseJson.ok(pageInfo);
|
||||
}
|
||||
|
||||
@AuthMan("USER_MANAGE")
|
||||
@AuthMan(DocAuthConst.USER_MANAGE)
|
||||
@PostMapping("/update")
|
||||
public ResponseJson<Object> update(UserInfo userInfo) {
|
||||
if (StringUtils.isBlank(userInfo.getUserNo())) {
|
||||
@@ -112,7 +127,7 @@ public class UserInfoController {
|
||||
return DocResponseJson.ok();
|
||||
}
|
||||
|
||||
@AuthMan("USER_MANAGE")
|
||||
@AuthMan(DocAuthConst.USER_MANAGE)
|
||||
@PostMapping("/resetPassword")
|
||||
public ResponseJson<Object> resetPassword(UserInfo userInfo) {
|
||||
String password = RandomUtil.randomNumbers(6);
|
||||
@@ -127,7 +142,7 @@ public class UserInfoController {
|
||||
return DocResponseJson.ok(password);
|
||||
}
|
||||
|
||||
@AuthMan("USER_MANAGE")
|
||||
@AuthMan(DocAuthConst.USER_MANAGE)
|
||||
@PostMapping("/delete")
|
||||
public ResponseJson<Object> delete(Long id) {
|
||||
UserInfo userInfo = new UserInfo();
|
||||
@@ -138,7 +153,7 @@ public class UserInfoController {
|
||||
return DocResponseJson.ok();
|
||||
}
|
||||
|
||||
@AuthMan("AUTH_ASSIGN")
|
||||
@AuthMan(DocAuthConst.AUTH_ASSIGN)
|
||||
@PostMapping("/auth/list")
|
||||
public ResponseJson<Object> authList(String userIds) {
|
||||
// 所有权限
|
||||
@@ -161,7 +176,7 @@ public class UserInfoController {
|
||||
return DocResponseJson.ok(authInfoVoList);
|
||||
}
|
||||
|
||||
@AuthMan("AUTH_ASSIGN")
|
||||
@AuthMan(DocAuthConst.AUTH_ASSIGN)
|
||||
@PostMapping("/auth/update")
|
||||
public ResponseJson<Object> updateAuth(String userIds, String authIds) {
|
||||
List<Long> userIdsList = Arrays.stream(userIds.split(",")).map(Long::valueOf).collect(Collectors.toList());
|
||||
|
||||
@@ -0,0 +1,13 @@
|
||||
package com.zyplayer.doc.manage.web.manage.vo;
|
||||
|
||||
public class UserAuthVo {
|
||||
private boolean userManage;
|
||||
|
||||
public boolean isUserManage() {
|
||||
return userManage;
|
||||
}
|
||||
|
||||
public void setUserManage(boolean userManage) {
|
||||
this.userManage = userManage;
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,24 @@
|
||||
package com.zyplayer.doc.manage.web.manage.vo;
|
||||
|
||||
import com.zyplayer.doc.data.repository.manage.entity.UserInfo;
|
||||
|
||||
public class UserInfoAuthVo {
|
||||
private UserInfo userInfo;
|
||||
private UserAuthVo userAuth;
|
||||
|
||||
public UserInfo getUserInfo() {
|
||||
return userInfo;
|
||||
}
|
||||
|
||||
public void setUserInfo(UserInfo userInfo) {
|
||||
this.userInfo = userInfo;
|
||||
}
|
||||
|
||||
public UserAuthVo getUserAuth() {
|
||||
return userAuth;
|
||||
}
|
||||
|
||||
public void setUserAuth(UserAuthVo userAuth) {
|
||||
this.userAuth = userAuth;
|
||||
}
|
||||
}
|
||||
@@ -1 +1 @@
|
||||
<!DOCTYPE html><html lang=en><head><meta charset=utf-8><meta http-equiv=X-UA-Compatible content="IE=edge"><meta name=viewport content="width=device-width,initial-scale=1"><link rel=icon href=favicon-console.png><title>文档管理系统</title><link href=css/chunk-0741282a.cbb897f6.css rel=prefetch><link href=css/chunk-30126bdc.ee6e60f7.css rel=prefetch><link href=css/chunk-32cc5643.5a5b2ca1.css rel=prefetch><link href=css/chunk-35c34f90.938e4b31.css rel=prefetch><link href=css/chunk-4582ecc6.ee6e60f7.css rel=prefetch><link href=css/chunk-7349f4ef.be15d6a0.css rel=prefetch><link href=js/chunk-0741282a.f0d80dd8.js rel=prefetch><link href=js/chunk-2d207ece.471a6eef.js rel=prefetch><link href=js/chunk-30126bdc.f925d913.js rel=prefetch><link href=js/chunk-32cc5643.45f9254f.js rel=prefetch><link href=js/chunk-35c34f90.28d7123e.js rel=prefetch><link href=js/chunk-4582ecc6.3c077877.js rel=prefetch><link href=js/chunk-7349f4ef.85b3b38a.js rel=prefetch><link href=css/app.740554a0.css rel=preload as=style><link href=css/chunk-vendors.7be40bfc.css rel=preload as=style><link href=js/app.61518edd.js rel=preload as=script><link href=js/chunk-vendors.735c0b72.js rel=preload as=script><link href=css/chunk-vendors.7be40bfc.css rel=stylesheet><link href=css/app.740554a0.css rel=stylesheet></head><body><noscript><strong>We're sorry but zyplayer-console-ui doesn't work properly without JavaScript enabled. Please enable it to continue.</strong></noscript><div id=app></div><script src=js/chunk-vendors.735c0b72.js></script><script src=js/app.61518edd.js></script></body></html>
|
||||
<!DOCTYPE html><html lang=en><head><meta charset=utf-8><meta http-equiv=X-UA-Compatible content="IE=edge"><meta name=viewport content="width=device-width,initial-scale=1"><link rel=icon href=favicon-console.png><title>文档管理系统</title><link href=css/chunk-0741282a.cbb897f6.css rel=prefetch><link href=css/chunk-30126bdc.ee6e60f7.css rel=prefetch><link href=css/chunk-32cc5643.5a5b2ca1.css rel=prefetch><link href=css/chunk-35c34f90.938e4b31.css rel=prefetch><link href=css/chunk-4582ecc6.ee6e60f7.css rel=prefetch><link href=css/chunk-7349f4ef.be15d6a0.css rel=prefetch><link href=js/chunk-0741282a.225ac580.js rel=prefetch><link href=js/chunk-2d207ece.471a6eef.js rel=prefetch><link href=js/chunk-30126bdc.0c65330c.js rel=prefetch><link href=js/chunk-32cc5643.522aafd7.js rel=prefetch><link href=js/chunk-35c34f90.bb1dbae1.js rel=prefetch><link href=js/chunk-4582ecc6.34ccd545.js rel=prefetch><link href=js/chunk-7349f4ef.84d79223.js rel=prefetch><link href=css/app.740554a0.css rel=preload as=style><link href=css/chunk-vendors.7be40bfc.css rel=preload as=style><link href=js/app.0e559f7f.js rel=preload as=script><link href=js/chunk-vendors.f3be2a33.js rel=preload as=script><link href=css/chunk-vendors.7be40bfc.css rel=stylesheet><link href=css/app.740554a0.css rel=stylesheet></head><body><noscript><strong>We're sorry but zyplayer-console-ui doesn't work properly without JavaScript enabled. Please enable it to continue.</strong></noscript><div id=app></div><script src=js/chunk-vendors.f3be2a33.js></script><script src=js/app.0e559f7f.js></script></body></html>
|
||||
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
@@ -1 +1 @@
|
||||
(window["webpackJsonp"]=window["webpackJsonp"]||[]).push([["chunk-0741282a"],{"40c0":function(e,t,n){},9231:function(e,t,n){"use strict";var a=n("40c0"),r=n.n(a);r.a},ac2a:function(e,t,n){"use strict";n.r(t);var a=function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("div",{class:"login-background linear-gradient-"+e.bgImgRandom},[n("div",{staticClass:"login-box"},[n("el-form",{ref:"loginParam",staticClass:"demo-ruleForm login-container",attrs:{model:e.loginParam,rules:e.loginRules,"label-position":"left","label-width":"0px"}},[n("h3",{staticClass:"title"},[e._v("文档管理-系统登录")]),n("el-form-item",{attrs:{prop:"username"}},[n("el-input",{attrs:{type:"text","auto-complete":"off",placeholder:"账号"},nativeOn:{keyup:function(t){return!t.type.indexOf("key")&&e._k(t.keyCode,"enter",13,t.key,"Enter")?null:e.loginSubmit(t)}},model:{value:e.loginParam.username,callback:function(t){e.$set(e.loginParam,"username",t)},expression:"loginParam.username"}})],1),n("el-form-item",{attrs:{prop:"password"}},[n("el-input",{attrs:{type:"password","auto-complete":"off",placeholder:"密码"},nativeOn:{keyup:function(t){return!t.type.indexOf("key")&&e._k(t.keyCode,"enter",13,t.key,"Enter")?null:e.loginSubmit(t)}},model:{value:e.loginParam.password,callback:function(t){e.$set(e.loginParam,"password",t)},expression:"loginParam.password"}})],1),n("el-form-item",{staticStyle:{width:"100%"}},[n("el-button",{staticStyle:{width:"100%"},attrs:{type:"primary",loading:e.loginLoading},nativeOn:{click:function(t){return t.preventDefault(),e.loginSubmit(t)}}},[e._v("登录")])],1)],1)],1),e._m(0)])},r=[function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("div",{staticClass:"power-by"},[e._v("Powered By "),n("a",{attrs:{target:"_blank",href:"https://gitee.com/zyplayer/zyplayer-doc"}},[e._v("zyplayer-doc")])])}],o=n("3099"),i={data:function(){return{loginLoading:!1,redirect:"",loginParam:{username:"",password:""},loginRules:{username:[{required:!0,message:"请输入账号",trigger:"blur"}],password:[{required:!0,message:"请输入密码",trigger:"blur"}]},bgImgRandom:Math.ceil(5*Math.random())}},mounted:function(){this.redirect=this.$route.query.redirect},methods:{loginSubmit:function(){var e=this;this.$refs.loginParam.validate((function(t){t&&(e.loginLoading=!0,o["a"].userLogin(e.loginParam).then((function(){e.loginLoading=!1,e.redirect?location.href=decodeURIComponent(e.redirect):e.$router.back()})).catch((function(t){console.log("登录失败",t),e.loginLoading=!1})))}))}}},l=i,s=(n("9231"),n("2877")),u=Object(s["a"])(l,a,r,!1,null,null,null);t["default"]=u.exports}}]);
|
||||
(window["webpackJsonp"]=window["webpackJsonp"]||[]).push([["chunk-0741282a"],{"40c0":function(e,t,n){},9231:function(e,t,n){"use strict";var a=n("40c0"),r=n.n(a);r.a},ac2a:function(e,t,n){"use strict";n.r(t);var a=function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("div",{class:"login-background linear-gradient-"+e.bgImgRandom},[n("div",{staticClass:"login-box"},[n("el-form",{ref:"loginParam",staticClass:"demo-ruleForm login-container",attrs:{model:e.loginParam,rules:e.loginRules,"label-position":"left","label-width":"0px"}},[n("h3",{staticClass:"title"},[e._v("文档管理-系统登录")]),n("el-form-item",{attrs:{prop:"username"}},[n("el-input",{attrs:{type:"text","auto-complete":"off",placeholder:"账号"},nativeOn:{keyup:function(t){return!t.type.indexOf("key")&&e._k(t.keyCode,"enter",13,t.key,"Enter")?null:e.loginSubmit(t)}},model:{value:e.loginParam.username,callback:function(t){e.$set(e.loginParam,"username",t)},expression:"loginParam.username"}})],1),n("el-form-item",{attrs:{prop:"password"}},[n("el-input",{attrs:{type:"password","auto-complete":"off",placeholder:"密码"},nativeOn:{keyup:function(t){return!t.type.indexOf("key")&&e._k(t.keyCode,"enter",13,t.key,"Enter")?null:e.loginSubmit(t)}},model:{value:e.loginParam.password,callback:function(t){e.$set(e.loginParam,"password",t)},expression:"loginParam.password"}})],1),n("el-form-item",{staticStyle:{width:"100%"}},[n("el-button",{staticStyle:{width:"100%"},attrs:{type:"primary",loading:e.loginLoading},nativeOn:{click:function(t){return t.preventDefault(),e.loginSubmit(t)}}},[e._v("登录")])],1)],1)],1),e._m(0)])},r=[function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("div",{staticClass:"power-by"},[e._v("Powered By "),n("a",{attrs:{target:"_blank",href:"https://gitee.com/zyplayer/zyplayer-doc"}},[e._v("zyplayer-doc")])])}],o=n("3099"),i={data:function(){return{loginLoading:!1,redirect:"",loginParam:{username:"",password:""},loginRules:{username:[{required:!0,message:"请输入账号",trigger:"blur"}],password:[{required:!0,message:"请输入密码",trigger:"blur"}]},bgImgRandom:Math.ceil(5*Math.random())}},mounted:function(){this.redirect=this.$route.query.redirect},methods:{loginSubmit:function(){var e=this;this.$refs.loginParam.validate((function(t){t&&(e.loginLoading=!0,o["a"].userLogin(e.loginParam).then((function(){e.$emit("loginSuccess"),e.loginLoading=!1,e.redirect?location.href=decodeURIComponent(e.redirect):e.$router.back()})).catch((function(t){console.log("登录失败",t),e.loginLoading=!1})))}))}}},l=i,s=(n("9231"),n("2877")),u=Object(s["a"])(l,a,r,!1,null,null,null);t["default"]=u.exports}}]);
|
||||
File diff suppressed because one or more lines are too long
@@ -2,8 +2,9 @@
|
||||
ENV = 'development'
|
||||
|
||||
# base api
|
||||
# VUE_APP_BASE_API = 'http://local.zyplayer.com:8083/zyplayer-doc-manage'
|
||||
VUE_APP_BASE_API = 'http://doc.zyplayer.com/zyplayer-doc-manage'
|
||||
VUE_APP_BASE_API = 'http://local.zyplayer.com:8083/zyplayer-doc-manage'
|
||||
# VUE_APP_BASE_API = 'http://doc.zyplayer.com/zyplayer-doc-manage'
|
||||
|
||||
|
||||
VUE_CLI_BABEL_TRANSPILE_MODULES = true
|
||||
|
||||
|
||||
@@ -1,14 +1,14 @@
|
||||
<template>
|
||||
<div id="app">
|
||||
<template v-if="fullscreen">
|
||||
<router-view></router-view>
|
||||
<router-view @loginSuccess="getSelfUserInfo"></router-view>
|
||||
</template>
|
||||
<el-container v-else>
|
||||
<el-aside>
|
||||
<div style="padding: 10px;height: 100%;box-sizing: border-box;background: #fafafa;">
|
||||
<el-menu default-active="1-4-1" :router="true" class="el-menu-vertical" @open="handleOpen" @close="handleClose" :collapse="isCollapse">
|
||||
<el-menu-item index="/"><i class="el-icon-s-home"></i>控制台</el-menu-item>
|
||||
<el-submenu index="1">
|
||||
<el-submenu index="1" v-if="userAuth.userManage">
|
||||
<template slot="title">
|
||||
<i class="el-icon-s-platform"></i>
|
||||
<span slot="title">系统管理</span>
|
||||
@@ -72,6 +72,9 @@
|
||||
isCollapse: false,
|
||||
aboutDialogVisible: false,
|
||||
userSelfInfo: {},
|
||||
userAuth: {
|
||||
userManage: false
|
||||
},
|
||||
// 升级信息
|
||||
upgradeInfo: {},
|
||||
}
|
||||
@@ -114,8 +117,10 @@
|
||||
});
|
||||
},
|
||||
getSelfUserInfo() {
|
||||
consoleApi.getSelfUserInfo().then(json => {
|
||||
this.userSelfInfo = json.data;
|
||||
consoleApi.selfInfoWithAuth().then(json => {
|
||||
let infoVo = json.data || {};
|
||||
this.userSelfInfo = infoVo.userInfo || {};
|
||||
this.userAuth = infoVo.userAuth || {};
|
||||
}).catch(e => {
|
||||
console.log("获取用户信息失败", e);
|
||||
});
|
||||
|
||||
@@ -13,6 +13,9 @@ export default {
|
||||
},
|
||||
getSelfUserInfo: data => {
|
||||
return request({url: '/user/info/selfInfo', method: 'post', data: Qs.stringify(data)});
|
||||
},
|
||||
selfInfoWithAuth: data => {
|
||||
return request({url: '/user/info/selfInfoWithAuth', method: 'post', data: Qs.stringify(data)});
|
||||
},
|
||||
getUserInfoList: data => {
|
||||
return request({url: '/user/info/list', method: 'post', data: Qs.stringify(data)});
|
||||
|
||||
@@ -12,6 +12,7 @@ const noValidate = {
|
||||
"/zyplayer-doc-db/executor/execute": true,
|
||||
"/zyplayer-doc-db/datasource/test": true,
|
||||
};
|
||||
let lastToastLoginTime = 0;
|
||||
|
||||
service.interceptors.request.use(
|
||||
config => {
|
||||
@@ -36,7 +37,11 @@ service.interceptors.response.use(
|
||||
if (!response.config.needValidateResult || response.data.errCode == 200) {
|
||||
return response.data;
|
||||
} else if (response.data.errCode == 400) {
|
||||
vue.$message.error('请先登录');
|
||||
// 一秒钟只提示一次
|
||||
if (new Date().getTime() - lastToastLoginTime > 1000) {
|
||||
vue.$message.error('请先登录');
|
||||
lastToastLoginTime = new Date().getTime();
|
||||
}
|
||||
let redirectUrl = '';
|
||||
let locationHref = window.location.href;
|
||||
if (locationHref.indexOf("?") >= 0) {
|
||||
|
||||
@@ -49,6 +49,7 @@
|
||||
if (!valid) return;
|
||||
this.loginLoading = true;
|
||||
consoleApi.userLogin(this.loginParam).then(() => {
|
||||
this.$emit('loginSuccess');
|
||||
this.loginLoading = false;
|
||||
if (!!this.redirect) {
|
||||
location.href = decodeURIComponent(this.redirect);
|
||||
|
||||
Reference in New Issue
Block a user