添加前端权限

This commit is contained in:
橙子
2022-05-03 17:34:38 +08:00
parent ada36ebff5
commit 5eec076ea2
7 changed files with 49 additions and 11 deletions

View File

@@ -27,10 +27,12 @@ namespace Yi.Framework.ApiMicroservice.Controllers
{
private IUserService _iUserService;
private JwtInvoker _jwtInvoker;
private ILogger _logger;
public AccountController(ILogger<UserEntity> logger, IUserService iUserService, JwtInvoker jwtInvoker)
{
_iUserService = iUserService;
_jwtInvoker = jwtInvoker;
_logger = logger;
}
/// <summary>
@@ -45,7 +47,7 @@ namespace Yi.Framework.ApiMicroservice.Controllers
UserEntity user = new();
if (await _iUserService.Login(loginDto.UserName, loginDto.Password, o => user = o))
{
return Result.Success("登录成功!").SetData(new { user, token = _jwtInvoker.GetAccessToken(user) });
return Result.Success("登录成功!").SetData(new { token = _jwtInvoker.GetAccessToken(user) });
}
return Result.SuccessError("登录失败!用户名或者密码错误!");
}
@@ -67,7 +69,11 @@ namespace Yi.Framework.ApiMicroservice.Controllers
return Result.SuccessError("注册失败!用户名已存在!");
}
[HttpPost]
public Result Logout()
{
return Result.Success("安全登出成功!");
}
/// <summary>
/// 通过已登录的用户获取用户信息及菜单

View File

@@ -51,7 +51,6 @@ export default {
},
updateUserByHttp(user)
{
return myaxios({
url: `/Account/updateUserByHttp`,
method: 'put',

View File

@@ -1,8 +1,9 @@
import { getToken, setToken, getUser, setUser, removeToken } from '../../util/usertoken'
import { getPer, setPer, getToken, setToken, getUser, setUser, removeToken } from '../../util/usertoken'
import accountApi from "@/api/accountApi"
//再导入axion请求
const state = { //状态
per: getPer(),
token: getToken(),
user: getUser(),
dark: false,
@@ -20,13 +21,17 @@ const state = { //状态
'https://s1.ax1x.com/2022/03/26/qdNnbD.jpg',
'https://s1.ax1x.com/2022/03/26/qdNMUH.jpg',
'https://s1.ax1x.com/2022/03/26/qdNKVe.jpg',
'https://s1.ax1x.com/2022/03/26/qdNmDO.jpg'
'https://s1.ax1x.com/2022/03/26/qdNmDO.jpg'
],
notifications: [],
rtl: false
}
const mutations = { //变化//载荷
SET_PER(state, per) {
state.per = per
setPer(per)
},
SET_TOKEN(state, token) {
state.token = token
setToken(token)
@@ -78,9 +83,22 @@ const actions = { //动作
accountApi.login(form.username.trim(), form.password.trim()).then(resp => {
if (resp.status) {
commit('SET_TOKEN', resp.data.token)
commit('SET_USER', resp.data.user)
accountApi.getUserAllInfo().then(resp2=>{
commit('SET_USER', resp2.data.user)
var code=[];
resp2.data.menus.forEach(element => {
code.push(element.permissionCode)
});
commit('SET_PER', code)
resolv(resp)
})
}
resolv(resp)
}).catch(error => {
reject(error)
})

View File

@@ -1,18 +1,30 @@
const TOKEN_KEY = "token_key"
const USER_KEY = "user_key"
const PER_KEY="per_key"
export function getToken() {
return localStorage.getItem(TOKEN_KEY)
}
export function setToken(token) {
return localStorage.setItem(TOKEN_KEY, token)
}
export function getUser() {
return JSON.parse(localStorage.getItem(USER_KEY))
}
export function getPer() {
return JSON.parse(localStorage.getItem(PER_KEY))
}
export function setToken(token) {
return localStorage.setItem(TOKEN_KEY, token)
}
export function setUser(user) {
return localStorage.setItem(USER_KEY, JSON.stringify(user))
}
export function setPer(per) {
return localStorage.setItem(PER_KEY, JSON.stringify(per))
}
export function removeToken() {
localStorage.removeItem(TOKEN_KEY)
localStorage.removeItem(USER_KEY)
localStorage.removeItem(PER_KEY)
}

View File

@@ -59,6 +59,9 @@ export default {
});
},
init() {
//这里可以遍历后台的菜单code根据对应的菜单code来给axiosUrls的增删改查赋值即可
this.axiosUrls = {
get: "/user/GetList",
update: "/user/Update",

View File

@@ -133,7 +133,7 @@ export default {
};
},
login() {
this.loader = "true";
this.loader = true;
this.btn_dis=true;
this.$store.dispatch("Login", this.form).then((resp) => {
if (resp.status) {