From 0b2877a4b4bf90bec9bd46b78beedf211263a028 Mon Sep 17 00:00:00 2001
From: zhangxiaoxu123 <819527061@qq.com>
Date: 星期二, 19 七月 2022 17:48:11 +0800
Subject: [PATCH] '权限优化'
---
pages/login/login.vue | 1
pages/jihua/jihua.vue | 1
main.js | 3 +
components/common/popup-menu/popup-menu.vue | 61 ++------------------
store/index.js | 69 +++++++++++++++++++++++
5 files changed, 80 insertions(+), 55 deletions(-)
diff --git a/components/common/popup-menu/popup-menu.vue b/components/common/popup-menu/popup-menu.vue
index 66d5be3..8cc9e87 100644
--- a/components/common/popup-menu/popup-menu.vue
+++ b/components/common/popup-menu/popup-menu.vue
@@ -10,7 +10,8 @@
<image src="@/static/menuIcon/menu-home.png" slot="icon" size="32" name="search"/>
</u-cell>
<u-cell
- v-if="shenqingMenu"
+ v-if="$store.state.shenqingMenu"
+ v-cloak
title="鎴戠殑鐢宠"
isLink
url="/pages/my-application/my-application"
@@ -32,7 +33,8 @@
<image src="@/static/menuIcon/menu-havedo.png" slot="icon" size="32" name="search"/>
</u-cell>
<u-cell
- v-if="rijihuaMenu"
+ v-if="$store.state.rijihuaMenu"
+ v-cloak
title="鏃ュ彂杩愯鍒�"
isLink
url="/pages/jihua/jihua" style="color:blue"
@@ -63,70 +65,19 @@
// },
data() {
return {
- menuShow:false,
- rijihuaMenu:false,
- shenqingMenu:false,
+ menuShow:false
};
},
onShow() {
alert(111)
},
methods: {
- checkRijihua(data) {
- let labelArry = []
- let newObj = data.filter(e => e.label == '鍦伴攢璁¢噺')
- newObj && newObj.forEach(e => {
- if(e.children.length > 0) {
- e.children.forEach(item => {
- labelArry.push(item.label)
- })
- }else{
- this.rijihuaMenu = false
- }
- })
- if(labelArry.indexOf('姹借溅鏃ュ彂杩愯鍒掔鐞�') > -1) {
- this.rijihuaMenu = true
- }else {
- this.rijihuaMenu = false
- }
- },
- checkShenqing(data) {
- let labelArry = []
- let newObj = data.filter(e => e.label == '宸ヤ綔瀹℃壒')
- newObj && newObj.forEach(e => {
- if(e.children.length > 0) {
- e.children.forEach(item => {
- labelArry.push(item.label)
- })
- }else{
- this.shenqingMenu = false
- }
- })
- if(labelArry.indexOf('鎴戠殑鐢宠') > -1) {
- this.shenqingMenu = true
- }else {
- this.shenqingMenu = false
- }
- },
- menu() {
- // 鏉冮檺鍒ゆ柇
- this.$reqGet('menu').then(res => {
- if(res.data == null) {
- this.rijihuaMenu = false
- this.shenqingMenu = false
- }else {
- this.checkRijihua(res.data)
- this.checkShenqing(res.data)
- }
- })
- },
menuClick(){
this.menuShow = !this.menuShow
this.$emit('menuShow',this.menuShow)
},
open() {
- console.log('open');
- this.menu()
+ console.log(this.$store.state,'shenqingMenu====')
},
close() {
this.menuShow = false;
diff --git a/main.js b/main.js
index 29b062f..06880df 100644
--- a/main.js
+++ b/main.js
@@ -2,6 +2,7 @@
import Vue from 'vue'
import uView from '@/uni_modules/uview-ui';
import '@/api/constant.js';
+import store from './store'
uni.$u.config.unit = 'rpx'
Vue.use(uView)
@@ -13,6 +14,7 @@
Vue.prototype.$reqGet = reqGet;
Vue.prototype.$reqPost = reqPost;
+Vue.prototype.$store = store
Vue.config.productionTip = false
@@ -20,6 +22,7 @@
App.mpType = 'app'
const app = new Vue({
+ store,
...App
})
app.$mount()
diff --git a/pages/jihua/jihua.vue b/pages/jihua/jihua.vue
index 9f2ccff..6f8f2b1 100644
--- a/pages/jihua/jihua.vue
+++ b/pages/jihua/jihua.vue
@@ -180,6 +180,7 @@
title: '姝e湪鍔犺浇...'
});
let compId = uni.getStorageSync('userInfo').compId
+
let params = {
current: 1,
size: 100,
diff --git a/pages/login/login.vue b/pages/login/login.vue
index bc1020f..35995e9 100644
--- a/pages/login/login.vue
+++ b/pages/login/login.vue
@@ -46,6 +46,7 @@
setTokenType(token_type);
setRefreshToken(refresh_token);
setScope(scope);
+ this.$store.dispatch('menus')
redirectHome();
uni.hideLoading();
} catch (e) {
diff --git a/store/index.js b/store/index.js
new file mode 100644
index 0000000..0b0a277
--- /dev/null
+++ b/store/index.js
@@ -0,0 +1,69 @@
+import Vue from 'vue'
+import Vuex from 'vuex'
+Vue.use(Vuex)
+
+// 璇锋眰鐩稿叧
+import { reqAll, reqGet, reqPost } from '../utils/index.js';
+
+const store = new Vuex.Store({
+ state: {
+ shenqingMenu: uni.getStorageSync('shenqingMenu') || false, //鐢宠鑿滃崟
+ rijihuaMenu: uni.getStorageSync('rijihuaMenu') || false, //鏃ヨ鍒掕彍鍗�
+ },
+ mutations: {
+ ISHAS_SHENQING: (state, data) => {
+ let labelArry = []
+ let newObj = data.filter(e => e.label == '宸ヤ綔瀹℃壒')
+ newObj && newObj.forEach(e => {
+ if(e.children.length > 0) {
+ e.children.forEach(item => {
+ labelArry.push(item.label)
+ })
+ }else{
+ state.shenqingMenu = false
+ uni.setStorageSync('shenqingMenu',state.shenqingMenu)
+ }
+ })
+ if(labelArry.indexOf('鎴戠殑鐢宠') > -1) {
+ state.shenqingMenu = true
+ uni.setStorageSync('shenqingMenu',state.shenqingMenu)
+ }else {
+ state.shenqingMenu = false
+ uni.setStorageSync('shenqingMenu',state.shenqingMenu)
+ }
+
+ },
+ ISHAS_RIJIHUA: (state, data) => {
+ let labelArry = []
+ let newObj = data.filter(e => e.label == '鍦伴攢璁¢噺')
+ newObj && newObj.forEach(e => {
+ if(e.children.length > 0) {
+ e.children.forEach(item => {
+ labelArry.push(item.label)
+ })
+ }else{
+ state.rijihuaMenu = false
+ uni.setStorageSync('rijihuaMenu',state.rijihuaMenu)
+ }
+ })
+ if(labelArry.indexOf('姹借溅鏃ュ彂杩愯鍒掔鐞�') > -1) {
+ state.rijihuaMenu = true
+ uni.setStorageSync('rijihuaMenu',state.rijihuaMenu)
+ }else {
+ state.rijihuaMenu = false
+ uni.setStorageSync('rijihuaMenu',state.rijihuaMenu)
+ }
+ }
+ },
+ actions: {
+ menus({commit}) {
+ reqGet('menu').then(response => {
+ console.log(response,'response=====response----')
+ commit('ISHAS_SHENQING',response.data)
+ commit('ISHAS_RIJIHUA',response.data)
+ })
+ }
+ }
+})
+
+export default store
\ No newline at end of file
--
Gitblit v1.9.1