import Vue from 'vue'
|
import Vuex from 'vuex'
|
|
Vue.use(Vuex)
|
|
// 尝试获取本地是否存在变量
|
|
let vuex_user = uni.getStorageSync('vuex_user') || ''
|
let phone = uni.getStorageSync('phone') || ''
|
|
let vuex_is_login = uni.getStorageSync('vuex_is_login') || ''
|
|
let isbase = uni.getStorageSync('isbase') || ''
|
let isfence = uni.getStorageSync('isfence') || ''
|
let isoffline = uni.getStorageSync('isoffline') || ''
|
|
let isyuyin = uni.getStorageSync('isyuyin') || ''
|
let is3wei = uni.getStorageSync('is3wei') || ''
|
let isSilence = uni.getStorageSync('isSilence') || ''
|
|
let bleHeight = uni.getStorageSync('bleHeight') || ''
|
let juese = uni.getStorageSync('juese') || ''
|
let company = uni.getStorageSync('company') || ''
|
let fatherCode = uni.getStorageSync('fatherCode') || ''
|
let chiledCode = uni.getStorageSync('chiledCode') || ''
|
let juli = uni.getStorageSync('juli') || ''
|
let companyid = uni.getStorageSync('companyid') || ''
|
let zystate = uni.getStorageSync('zystate') || ''
|
let newBaseURL = uni.getStorageSync('newBaseURL') || ''
|
let companylogo = uni.getStorageSync('companylogo') || ''
|
let lonlat = uni.getStorageSync('lonlat') || ''
|
|
|
// 标记需要永久存储的变量,在每次启动时取出,在state中的变量名
|
let saveStateKeys = ['isyuyin', 'lonlat', 'companylogo', 'newBaseURL', 'bleHeight','zystate', 'chiledCode', 'juli','fatherCode', 'isSilence' ,'is3wei', 'vuex_user','vuex_is_login','vuex_status_bar_height','vuex_custom_bar_height','isbase','isoffline','isfence','uuid','access_token','username','phone','juese','company','companyid']
|
|
// 保存变量到本地存储
|
const saveLocalData = function(key, value) {
|
// 判断变量是否在存储数组中
|
if (saveStateKeys.indexOf(key) != -1) {
|
// 将变量再次放回本地存储中
|
uni.setStorageSync(key, value)
|
}
|
}
|
|
const store = new Vuex.Store({
|
state: {
|
// 加上vuex_前缀,是防止变量名冲突,也让人一目了然
|
vuex_user: vuex_user || '昵称',
|
GET_CONNECT_DEVICEId:'',
|
GET_BLE_DATA:'请先连接蓝牙',
|
// app版本
|
vuex_version: "1.0.0",
|
// 是否使用自定义导航栏
|
vuex_custom_nav_bar: true,
|
// 状态栏高度
|
vuex_status_bar_height: 0,
|
// 自定义导航栏的高度
|
vuex_custom_bar_height: 0,
|
// 自定义导航栏的高度-内容高度
|
vuex_custom_scroll_height: 0,
|
// index - height
|
vuex_custom_index_height: 0,
|
//是否登录
|
vuex_is_login: vuex_is_login || true,
|
// 自定义导航栏的高度-内容-margin-top
|
vuex_padding_top : 64,
|
uuid: '',
|
access_token:'',
|
username:'',
|
nickname: false,
|
imgUrl: '',
|
phone:phone||'',
|
is3wei:is3wei||false,
|
isyuyin:isyuyin || false,
|
isceju:false,
|
isSilence:isSilence||false,
|
fatherCode:fatherCode||'',
|
chiledCode:chiledCode||'',
|
juli:juli||'',
|
bledistance:0,
|
bleHeight:bleHeight||'',
|
bledeviceId :'',
|
bleserviceId:'',
|
blewriteId:'',
|
// version:version||'',
|
company:company||'',
|
zystate:zystate||'STOP',
|
companyid:companyid||'',
|
juese: juese || '',
|
isbase: isbase || false,
|
isfence: isfence || false,
|
isoffline: isoffline || false,
|
newBaseURL:newBaseURL|| 'http://123.117.152.120:8090',
|
companylogo:companylogo||'../../static/companylogo.png',
|
lonlat:lonlat||'',
|
},
|
mutations: {
|
$tStore(state, payload) {
|
// 判断是否多层调用,state中为对象存在的情况,例如user.info.score = 1
|
let nameArr = payload.name.split('.')
|
let saveKey = ''
|
let len = nameArr.length
|
if (len >= 2) {
|
let obj = state[nameArr[0]]
|
for (let i= 1; i < len - 1; i++) {
|
obj = obj[nameArr[i]]
|
}
|
obj[nameArr[len - 1]] = payload.value
|
saveKey = nameArr[0]
|
} else {
|
// 单层级变量
|
state[payload.name] = payload.value
|
saveKey = payload.name
|
}
|
|
// 保存变量到本地中
|
saveLocalData(saveKey, state[saveKey])
|
}
|
},
|
actions: {
|
}
|
})
|
|
export default store
|