12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091 |
- import Vue from 'vue'
- import Vuex from 'vuex'
- Vue.use(Vuex)
- let moduleTrue = {};
- // 为了兼容如果用户,不按规范创建,或者不使用vuex时就可略过导入用户的模块。
- try {
- const modulesList = require.context('@/store', true, /\.js$/);
- if (typeof modulesList === 'function' && typeof modulesList !== 'undefined') {
- // 加载modules目录下所有文件(分模块)
- const modules = modulesList.keys().reduce((modules, modulePath) => {
- const moduleName = modulePath.replace(/^\.\/(.*)\.\w+$/, '$1')
- const value = modulesList(modulePath)
- modules[moduleName] = { namespaced: true, ...value.default }
- return modules
- }, {});
- moduleTrue = modules;
- }
- } catch (e) {
- //TODO handle the exception
- // console.warn('tmui提醒:用户未使用vuex')
- console.error('如果未使用vuex,不用理会,如果使用了vuex报错请检错误信息:',e);
- }
- let pdefault_cookies_color = uni.getStorageSync('setTmVuetifyColor')
- let pdefault_cookies_black = uni.getStorageSync('setTmVuetifyBlack')
- const store = new Vuex.Store({
- modules: {
- ...moduleTrue
- },
- state: {
- tmVuetify: {
- color: typeof pdefault_cookies_color === 'string' ? pdefault_cookies_color : '',
- black: typeof pdefault_cookies_black === 'boolean' ? pdefault_cookies_black : false,
- tmVueTifly_pages: '',
- tmVueTifly_pagesIndex: '',
- //这里是微信小程序和微信H5的配置资料。
- wxshareConfig_miniMp: {
- title: '', // 分享标题
- desc: '', // 描述
- imageUrl: '', // 分享图片
- path: '', // 分享路径
- copyLink: '', // 复制链接
- query: {}, // 分享参数
- }
- },
- },
- getters: {
- // $tm:state=>{
- // return $tm;
- // }
- },
- mutations: {
- setTmVuetifyColor(state, color) {
- Vue.set(state.tmVuetify, 'color', color)
- },
- setPageNow(state, url) {
- Vue.set(state.tmVuetify, 'tmVueTifly_pages', url);
- },
- setPageNowIndex(state, index) {
- Vue.set(state.tmVuetify, 'tmVueTifly_pagesIndex', index);
- },
- setTmVuetifyBlack(state, black) {
- Vue.set(state.tmVuetify, 'black', black)
- if (black === true) {
- uni.setTabBarStyle({
- backgroundColor: "#212121"
- })
- } else {
- uni.setTabBarStyle({
- backgroundColor: "#FFFFFF"
- })
- }
- },
- setWxShare(state, cfg) {
-
- let pcf = cfg||{};
- if(typeof pcf !=='object' || Array.isArray(cfg)) pcf = {};
- Vue.set(state.tmVuetify, 'wxshareConfig_miniMp', { ...state.tmVuetify.wxshareConfig_miniMp,...pcf});
-
- }
- }
- })
- export default store;
|