jiangping
2023-10-16 9ab4955166b7b1370fc2a49b152353241ca9e64a
minipro_standard/store/index.js
@@ -1,78 +0,0 @@
import Vue from 'vue'
import Vuex from 'vuex'
import { pageCount } from '@/util/api/index.js'
Vue.use(Vuex) // vue的插件机制
const navHeight = uni.getStorageSync('navHeight');
const statusbarHeight = uni.getStorageSync('statusbarHeight');
const menuButtonWidth = uni.getStorageSync('menuButtonWidth');
const token = uni.getStorageSync('token');
const userInfo = uni.getStorageSync('userInfo');
// Vuex.Store 构造器选项
const store = new Vuex.Store({
   // 为了不和页面或组件的data中的造成混淆,state中的变量前面建议加上$符号
   state: {
      // 用户信息
      userInfo: userInfo || null,
      token: token || null,
      menuButtonWidth: menuButtonWidth || '0',
      statusbarHeight: statusbarHeight || '0',
      navHeight: navHeight || '0',
      // 待办数量
      upcomingNum: {
         d: 0,
         y: 0
      },
   },
   mutations: {
      setHeight(state, val) {
         state.navHeight = val.navHeight
         state.statusbarHeight = val.statusbarHeight
         state.menuButtonWidth = val.menuButtonWidth
         uni.setStorageSync('navHeight', val.navHeight);
         uni.setStorageSync('statusbarHeight', val.statusbarHeight);
         uni.setStorageSync('menuButtonWidth', val.menuButtonWidth);
      },
      SETTOKEN(state, val) {
         state.token = val
         uni.setStorageSync('token', val);
      },
      SETUSERINFO(state, val) {
         state.userInfo = val
         uni.setStorageSync('userInfo', val);
      },
      SETNUM(state, val) {
         state.upcomingNum.d = val.d
         state.upcomingNum.y = val.y
      }
   },
   actions: {
      // 获取状态高度
      getHeight(context) {
         let res = uni.getMenuButtonBoundingClientRect()
         let status = uni.getSystemInfoSync()
         let menuButtonWidth = res.width
         let height = res.height
         let statusbarHeight = status.statusBarHeight
         let navHeight = res.height + (res.top - statusbarHeight) * 2;
         context.commit('setHeight', {
            statusbarHeight,
            navHeight,
            height,
            menuButtonWidth
         })
      },
      async getUpcomingNum() {
         let res = await pageCount({})
         if (res.code === 200) {
            content.commit('SETNUM', { d: res.data.startNum, y: res.data.endNum })
         }
      }
   }
})
export default store