k94314517
2023-09-05 fa2f172812de8344fa22c4ef088ea2a67257a0d3
minipro_standard/store/index.js
@@ -1,6 +1,10 @@
import Vue from 'vue'
import Vuex from 'vuex'
import { pageCount } from '@/util/api/index.js'
import {
   pageCount,
   getTreeList,
   getUserInfo
} from '@/util/api/index.js'
Vue.use(Vuex) // vue的插件机制
@@ -9,6 +13,8 @@
const menuButtonWidth = uni.getStorageSync('menuButtonWidth');
const token = uni.getStorageSync('token');
const userInfo = uni.getStorageSync('userInfo');
const Menu = uni.getStorageSync('MenuList');
const session = uni.getStorageSync('session');
// Vuex.Store 构造器选项
@@ -21,6 +27,9 @@
      menuButtonWidth: menuButtonWidth || '0',
      statusbarHeight: statusbarHeight || '0',
      navHeight: navHeight || '0',
      session: session ? session : '',
      // 菜单权限
      Menu: Menu ? JSON.parse(Menu) : [],
      // 待办数量
      upcomingNum: {
         d: 0,
@@ -47,12 +56,37 @@
      SETNUM(state, val) {
         state.upcomingNum.d = val.d
         state.upcomingNum.y = val.y
      },
      SETMENU(state, data) {
         state.Menu = data
         uni.setStorageSync('MenuList', JSON.stringify(data));
      },
      SETSESSION(state, data) {
         state.session = data;
         uni.setStorageSync('session', data);
      },
      clearCache(state) {
         state.userInfo = ''
         state.token = ''
         state.session = ''
         state.Menu = []
         state.upcomingNum.d = 0
         state.upcomingNum.y = 0
         uni.clearStorageSync()
      }
   },
   actions: {
      // 向后端获取菜单栏权限
      async getMenuList(content, type) {
         let res = await getTreeList({
            type: type
         })
         if (res.code === 200) {
            content.commit('SETMENU', res.data)
         }
      },
      // 获取状态高度
      getHeight(context) {
         let res = uni.getMenuButtonBoundingClientRect()
         let status = uni.getSystemInfoSync()
         let menuButtonWidth = res.width
@@ -69,7 +103,18 @@
      async getUpcomingNum() {
         let res = await pageCount({})
         if (res.code === 200) {
            content.commit('SETNUM', { d: res.data.startNum, y: res.data.endNum })
            content.commit('SETNUM', {
               d: res.data.startNum,
               y: res.data.endNum
            })
         }
      },
      // 向后端获取个人信息
      async getUserInfos(content) {
         let res = await getUserInfo()
         if (res.code === 200) {
            content.commit('SETUSERINFO', res.data)
            return true;
         }
      }
   }