From 0f06d28a6bf043087d658b6cf59864fec9bb63dd Mon Sep 17 00:00:00 2001
From: doum <doum>
Date: 星期一, 22 九月 2025 09:19:26 +0800
Subject: [PATCH] ss
---
admin/src/components/base/BasePage.vue | 73 ++++++++++++++++++++++++++++++++++++
1 files changed, 73 insertions(+), 0 deletions(-)
diff --git a/admin/src/components/base/BasePage.vue b/admin/src/components/base/BasePage.vue
new file mode 100644
index 0000000..c291eca
--- /dev/null
+++ b/admin/src/components/base/BasePage.vue
@@ -0,0 +1,73 @@
+<script>
+import { mapState } from 'vuex'
+export default {
+ name: 'BasePage',
+ data () {
+ return {
+ // 瓒呯骇绠$悊鍛樿鑹瞔ode
+ adminCode: 'admin'
+ }
+ },
+ computed: {
+ ...mapState(['userInfo','tableHeightNew']),
+ // 鏄惁涓鸿秴绾х鐞嗗憳
+ isAdmin () {
+ return this.userInfo.roles.findIndex(code => code === this.adminCode) > -1
+ }
+ },
+ methods: {
+ /**
+ * 鍒ゆ柇鏄惁涓篋EBUG妯″紡
+ */
+ isDebug () {
+ return process.env.VUE_APP_DEBUG === 'on'
+ },
+ /**
+ * 鏄惁鍖呭惈鎸囧畾瑙掕壊
+ *
+ * @param roles 鐩爣瑙掕壊鏁扮粍
+ * @returns {boolean}
+ */
+ containRoles (roles) {
+ if (roles == null) {
+ return true
+ }
+ if (this.userInfo == null) {
+ return false
+ }
+ if (this.userInfo.roles == null || this.userInfo.roles.length === 0) {
+ return false
+ }
+ for (const code of roles) {
+ if (this.userInfo.roles.findIndex(r => r === code) > -1) {
+ return true
+ }
+ }
+ return false
+ },
+ /**
+ * 鏄惁鍖呭惈鎸囧畾鏉冮檺
+ *
+ * @param permissions 鐩爣鏉冮檺鏁扮粍
+ * @returns {boolean}
+ */
+ containPermissions (permissions) {
+ if (permissions == null) {
+ return true
+ }
+ if (this.userInfo == null) {
+ return false
+ }
+ if (this.userInfo.permissions == null || this.userInfo.permissions.length === 0) {
+ return false
+ }
+ for (const code of permissions) {
+ if (this.userInfo.permissions.findIndex(p => p === code) > -1) {
+ return true
+ }
+ }
+ return false
+ }
+ }
+}
+</script>
--
Gitblit v1.9.3