From 5eec076ea26ef2d92b0e363b67e36d3281ca98ad Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=A9=99=E5=AD=90?= <454313500@qq.com> Date: Tue, 3 May 2022 17:34:38 +0800 Subject: [PATCH] =?UTF-8?q?=E6=B7=BB=E5=8A=A0=E5=89=8D=E7=AB=AF=E6=9D=83?= =?UTF-8?q?=E9=99=90?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Controllers/AccountController.cs | 10 +++++-- Yi.Vue2.x/src/api/accountApi.js | 1 - Yi.Vue2.x/src/store/modules/user.js | 26 ++++++++++++++++--- .../util/{objctHandle,js => objctHandle.js} | 0 Yi.Vue2.x/src/util/usertoken.js | 18 ++++++++++--- Yi.Vue2.x/src/views/AdmUser.vue | 3 +++ Yi.Vue2.x/src/views/login.vue | 2 +- 7 files changed, 49 insertions(+), 11 deletions(-) rename Yi.Vue2.x/src/util/{objctHandle,js => objctHandle.js} (100%) diff --git a/Yi.Framework.Net6/Yi.Framework.ApiMicroservice/Controllers/AccountController.cs b/Yi.Framework.Net6/Yi.Framework.ApiMicroservice/Controllers/AccountController.cs index c4938b56..21678b45 100644 --- a/Yi.Framework.Net6/Yi.Framework.ApiMicroservice/Controllers/AccountController.cs +++ b/Yi.Framework.Net6/Yi.Framework.ApiMicroservice/Controllers/AccountController.cs @@ -27,10 +27,12 @@ namespace Yi.Framework.ApiMicroservice.Controllers { private IUserService _iUserService; private JwtInvoker _jwtInvoker; + private ILogger _logger; public AccountController(ILogger logger, IUserService iUserService, JwtInvoker jwtInvoker) { _iUserService = iUserService; _jwtInvoker = jwtInvoker; + _logger = logger; } /// @@ -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("安全登出成功!"); + } /// /// 通过已登录的用户获取用户信息及菜单 diff --git a/Yi.Vue2.x/src/api/accountApi.js b/Yi.Vue2.x/src/api/accountApi.js index c8553e44..4f09d150 100644 --- a/Yi.Vue2.x/src/api/accountApi.js +++ b/Yi.Vue2.x/src/api/accountApi.js @@ -51,7 +51,6 @@ export default { }, updateUserByHttp(user) { - return myaxios({ url: `/Account/updateUserByHttp`, method: 'put', diff --git a/Yi.Vue2.x/src/store/modules/user.js b/Yi.Vue2.x/src/store/modules/user.js index 6232cb9f..6cf6508c 100644 --- a/Yi.Vue2.x/src/store/modules/user.js +++ b/Yi.Vue2.x/src/store/modules/user.js @@ -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) }) diff --git a/Yi.Vue2.x/src/util/objctHandle,js b/Yi.Vue2.x/src/util/objctHandle.js similarity index 100% rename from Yi.Vue2.x/src/util/objctHandle,js rename to Yi.Vue2.x/src/util/objctHandle.js diff --git a/Yi.Vue2.x/src/util/usertoken.js b/Yi.Vue2.x/src/util/usertoken.js index fe7cbaa4..65edb39e 100644 --- a/Yi.Vue2.x/src/util/usertoken.js +++ b/Yi.Vue2.x/src/util/usertoken.js @@ -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) } \ No newline at end of file diff --git a/Yi.Vue2.x/src/views/AdmUser.vue b/Yi.Vue2.x/src/views/AdmUser.vue index b5b5eee0..d796c930 100644 --- a/Yi.Vue2.x/src/views/AdmUser.vue +++ b/Yi.Vue2.x/src/views/AdmUser.vue @@ -59,6 +59,9 @@ export default { }); }, init() { + +//这里可以遍历后台的菜单code,根据对应的菜单code来给axiosUrls的增删改查赋值即可 + this.axiosUrls = { get: "/user/GetList", update: "/user/Update", diff --git a/Yi.Vue2.x/src/views/login.vue b/Yi.Vue2.x/src/views/login.vue index 798a9746..4602e343 100644 --- a/Yi.Vue2.x/src/views/login.vue +++ b/Yi.Vue2.x/src/views/login.vue @@ -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) {