1107
This commit is contained in:
@@ -0,0 +1,78 @@
|
||||
/**
|
||||
* vuex 系统状态管理模块
|
||||
*/
|
||||
import config from '@/app.config.js'
|
||||
|
||||
let lifeData = uni.getStorageSync('lifeData') || {};
|
||||
|
||||
let $app = lifeData.$app || {};
|
||||
|
||||
export default {
|
||||
// 通过添加 namespaced: true 的方式使其成为带命名空间的模块
|
||||
namespaced: true,
|
||||
/**
|
||||
* vuex的基本数据,用来存储变量
|
||||
*/
|
||||
state: {
|
||||
/**
|
||||
* 是否已经初始化
|
||||
* js调用示例
|
||||
* vk.getVuex('$app.inited');
|
||||
* 页面上直接使用示例
|
||||
* {{ vk.getVuex('$app.inited') }}
|
||||
* js更新示例
|
||||
* vk.setVuex('$app.inited', true);
|
||||
*/
|
||||
inited: $app.inited || false,
|
||||
config:{
|
||||
...config
|
||||
},
|
||||
/**
|
||||
* vk.getVuex('$app.originalPage');
|
||||
* vk.setVuex('$app.originalPage', originalPage);
|
||||
*/
|
||||
originalPage: $app.originalPage || null, // 跳登录前的页面
|
||||
// 静态资源路径 vk.getVuex('$app.staticUrl.navBar.logo1') vk.setVuex('$app.staticUrl.navBar.logo1','')
|
||||
staticUrl: $app.staticUrl || config.staticUrl,
|
||||
// 左侧菜单列表(树形结构) vk.getVuex('$app.navMenu');
|
||||
navMenu: $app.navMenu || [],
|
||||
// 左侧菜单列表(数组形式) vk.getVuex('$app.menuList');
|
||||
menuList: $app.menuList || [],
|
||||
// 菜单地图 vk.getVuex('$app.menuMap');
|
||||
menuMap: $app.menuMap || [],
|
||||
// 当前打开的页面路由信息 vk.getVuex('$app.route'); vk.setVuex('$app.route', route);
|
||||
route: $app.route || {},
|
||||
// 系统后台名称
|
||||
appName: process.env.VUE_APP_NAME || '',
|
||||
// 屏幕宽度
|
||||
width: $app.width || '',
|
||||
// 屏幕高度
|
||||
height: $app.height || '',
|
||||
// 是否是PC
|
||||
isPC: $app.isPC || true,
|
||||
// PC状态下左侧菜单是否折叠文字(只显示图标,如果不要记忆功能,则去掉$app.leftCollapse ||即可,直接leftCollapse:false)
|
||||
leftCollapse: $app.leftCollapse || false,
|
||||
},
|
||||
/**
|
||||
* 从基本数据(state)派生的数据,相当于state的计算属性
|
||||
*/
|
||||
getters: {
|
||||
|
||||
},
|
||||
/**
|
||||
* 提交更新数据的方法,必须是同步的(如果需要异步使用action)。
|
||||
* 每个 mutation 都有一个字符串的 事件类型 (type) 和 一个 回调函数 (handler)。
|
||||
* 回调函数就是我们实际进行状态更改的地方,并且它会接受 state 作为第一个参数,提交载荷作为第二个参数。
|
||||
*/
|
||||
mutations: {
|
||||
|
||||
},
|
||||
/**
|
||||
* 和mutation的功能大致相同,不同之处在于 ==》
|
||||
* 1. Action 提交的是 mutation,而不是直接变更状态。
|
||||
* 2. Action 可以包含任意异步操作。
|
||||
*/
|
||||
actions: {
|
||||
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,54 @@
|
||||
/**
|
||||
* vuex 错误日志管理模块
|
||||
*/
|
||||
export default {
|
||||
// 通过添加 namespaced: true 的方式使其成为带命名空间的模块
|
||||
namespaced: true,
|
||||
/**
|
||||
* vuex的基本数据,用来存储变量
|
||||
*/
|
||||
state: {
|
||||
logs: []
|
||||
},
|
||||
/**
|
||||
* 从基本数据(state)派生的数据,相当于state的计算属性
|
||||
*/
|
||||
getters: {
|
||||
|
||||
},
|
||||
/**
|
||||
* 提交更新数据的方法,必须是同步的(如果需要异步使用action)。
|
||||
* 每个 mutation 都有一个字符串的 事件类型 (type) 和 一个 回调函数 (handler)。
|
||||
* 回调函数就是我们实际进行状态更改的地方,并且它会接受 state 作为第一个参数,提交载荷作为第二个参数。
|
||||
*/
|
||||
mutations: {
|
||||
add: (state, log) => {
|
||||
state.logs.unshift(log)
|
||||
},
|
||||
clear: (state) => {
|
||||
state.logs.splice(0);
|
||||
}
|
||||
},
|
||||
/**
|
||||
* 和mutation的功能大致相同,不同之处在于 ==》
|
||||
* 1. Action 提交的是 mutation,而不是直接变更状态。
|
||||
* 2. Action 可以包含任意异步操作。
|
||||
*/
|
||||
actions: {
|
||||
// vk.vuex.dispatch('$error/add', log);
|
||||
add({ commit }, log) {
|
||||
if (!log.route) {
|
||||
const pages = getCurrentPages();
|
||||
if (pages.length) {
|
||||
log.route = pages[pages.length - 1].route;
|
||||
}
|
||||
}
|
||||
log.route = '/' + (log.route || '');
|
||||
commit('add', log);
|
||||
},
|
||||
// vk.vuex.dispatch('$error/clear');
|
||||
clear({ commit }) {
|
||||
commit('clear');
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,51 @@
|
||||
/**
|
||||
* vuex 用户状态管理模块
|
||||
*/
|
||||
let lifeData = uni.getStorageSync('lifeData') || {};
|
||||
|
||||
let $user = lifeData.$user || {};
|
||||
|
||||
export default {
|
||||
// 通过添加 namespaced: true 的方式使其成为带命名空间的模块
|
||||
namespaced: true,
|
||||
/**
|
||||
* vuex的基本数据,用来存储变量
|
||||
*/
|
||||
state: {
|
||||
/**
|
||||
* 登录用户信息
|
||||
* js调用示例
|
||||
* (推荐) vk.getVuex('$user.userInfo');
|
||||
* 或 vk.vuex.get('$user.userInfo');
|
||||
* 页面上直接使用示例
|
||||
* {{ vk.getVuex('$user.userInfo') }}
|
||||
* js更新示例
|
||||
* vk.setVuex('$user.userInfo.avatar', avatar);
|
||||
*/
|
||||
userInfo: $user.userInfo || {},
|
||||
permission:$user.permission || [],
|
||||
login:$user.login || {},
|
||||
},
|
||||
/**
|
||||
* 从基本数据(state)派生的数据,相当于state的计算属性
|
||||
*/
|
||||
getters: {
|
||||
|
||||
},
|
||||
/**
|
||||
* 提交更新数据的方法,必须是同步的(如果需要异步使用action)。
|
||||
* 每个 mutation 都有一个字符串的 事件类型 (type) 和 一个 回调函数 (handler)。
|
||||
* 回调函数就是我们实际进行状态更改的地方,并且它会接受 state 作为第一个参数,提交载荷作为第二个参数。
|
||||
*/
|
||||
mutations: {
|
||||
|
||||
},
|
||||
/**
|
||||
* 和mutation的功能大致相同,不同之处在于 ==》
|
||||
* 1. Action 提交的是 mutation,而不是直接变更状态。
|
||||
* 2. Action 可以包含任意异步操作。
|
||||
*/
|
||||
actions: {
|
||||
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user