import { ANALYTIZE_PARAMS } from '~/common/c.js' import { MyCookie, parseEncodeURIComponent } from '~/common/utils.js' export const state = () => ({ locales: ['cn', 'en'], locale: 'cn', countrySelectObj: {}, citySelectObj: {}, loginUserInfo: {}, mobilePrefixArr: [], analytizeQuery: {}, analyzeObj: ANALYTIZE_PARAMS }) export const mutations = { SET_LANG(state, locale) { if (state.locales.indexOf(locale) !== -1) { state.locale = locale } }, SET_COUNTRY_SELECT_OBJ(state, countrySelectObj) { if (countrySelectObj && countrySelectObj.id) { state.countrySelectObj = countrySelectObj } }, SET_CITY_SELECT_OBJ(state, citySelectObj) { if (citySelectObj && citySelectObj.id) { state.citySelectObj = citySelectObj } }, SET_LOGIN_USER_INFO(state, loginUserInfo) { if (loginUserInfo && loginUserInfo.token) { state.loginUserInfo = loginUserInfo } }, SET_MOBILE_PREFIX_ARR(state, mobilePrefixArr) { if ( mobilePrefixArr && Array.isArray(mobilePrefixArr) && mobilePrefixArr.length > 0 ) { state.mobilePrefixArr = mobilePrefixArr } }, SET_ANALYTIZE_QUERY(state, analytizeQuery) { if (analytizeQuery) { state.analytizeQuery = analytizeQuery } }, SET_ANALYZE_OBJ(state, analyzeObj) { if (analyzeObj) { state.analyzeObj = { ...state.analyzeObj, ...analyzeObj } } } } export const actions = { async nuxtServerInit({ commit }, { app, req, query }) { try { const cookies = MyCookie.transferCookieStrToObj(req.headers.cookie) let { loginUserInfo, citySelectObj, countrySelectObj, analytizeQuery } = cookies if (loginUserInfo) { loginUserInfo = JSON.parse(parseEncodeURIComponent(loginUserInfo)) commit('SET_LOGIN_USER_INFO', loginUserInfo) } if (citySelectObj) { citySelectObj = JSON.parse(parseEncodeURIComponent(citySelectObj)) commit('SET_CITY_SELECT_OBJ', citySelectObj) } if (countrySelectObj) { countrySelectObj = JSON.parse(parseEncodeURIComponent(countrySelectObj)) commit('SET_COUNTRY_SELECT_OBJ', countrySelectObj) } if (analytizeQuery) { analytizeQuery = JSON.parse(parseEncodeURIComponent(analytizeQuery)) commit('SET_ANALYTIZE_QUERY', analytizeQuery) } } catch (e) {} } }