diff --git a/Yi.Bbs.Vue3/src/apis/auth.js b/Yi.Bbs.Vue3/src/apis/auth.js index 37e2524b..8fcec5a6 100644 --- a/Yi.Bbs.Vue3/src/apis/auth.js +++ b/Yi.Bbs.Vue3/src/apis/auth.js @@ -63,3 +63,13 @@ export function getCodePhone(data) { data, }); } + +/** + * 获取登录验证码 + */ +export function getLoginCode() { + return request({ + url: `/account/captcha-image`, + method: "get", + }); +} diff --git a/Yi.Bbs.Vue3/src/stores/user.js b/Yi.Bbs.Vue3/src/stores/user.js index b4d656ff..428db43f 100644 --- a/Yi.Bbs.Vue3/src/stores/user.js +++ b/Yi.Bbs.Vue3/src/stores/user.js @@ -14,6 +14,7 @@ const useUserStore = defineStore("user", { icon: null, roles: [], permissions: [], + hasPermissions: false, }), getters: {}, actions: { @@ -42,16 +43,22 @@ const useUserStore = defineStore("user", { getUserDetailInfo() .then((response) => { const res = response.data; - const user = res.user; const avatar = user.icon == "" || user.icon == null ? "/favicon.ico" : import.meta.env.VITE_APP_BASEAPI + "/file/" + user.icon; + const all_permission = "*:*:*"; if (res.roleCodes && res.roleCodes.length > 0) { // 验证返回的roles是否是一个非空数组 this.roles = res.roleCodes; this.permissions = res.permissionCodes; + this.hasPermissions = res.permissionCodes.some((permission) => { + return ( + all_permission === permission || + permissionFlag.includes(permission) + ); + }); // this.roles = ["admin"]; // this.permissions=["*:*:*"] } else { diff --git a/Yi.Bbs.Vue3/src/views/Discuss.vue b/Yi.Bbs.Vue3/src/views/Discuss.vue index 443714bd..367ff6a7 100644 --- a/Yi.Bbs.Vue3/src/views/Discuss.vue +++ b/Yi.Bbs.Vue3/src/views/Discuss.vue @@ -20,10 +20,7 @@ " >查询 - 发布主题 diff --git a/Yi.Bbs.Vue3/src/views/login/index.vue b/Yi.Bbs.Vue3/src/views/login/index.vue index 81d2ff1e..723598d9 100644 --- a/Yi.Bbs.Vue3/src/views/login/index.vue +++ b/Yi.Bbs.Vue3/src/views/login/index.vue @@ -40,6 +40,25 @@ show-password /> + +
+ + + + + + +