import axios from '~plugins/axios' import cityService from '~plugins/city-service' export const actions = { // 全局服务初始化 nuxtServerInit (store, { params, route, isDev, isServer, req }) { // 检查设备类型 const userAgent = isServer ? req.headers['user-agent'] : navigator.userAgent const isMobile = /(iPhone|iPod|Opera Mini|Android.*Mobile|NetFront|PSP|BlackBerry|Windows Phone)/ig.test(userAgent) const cookie = isServer ? req.headers['cookie'] : null store.commit('option/SET_MOBILE_LAYOUT', isMobile) store.commit('option/SET_USER_AGENT', userAgent) store.commit('option/SET_COOKIES', cookie) // 设置跳转的URL if (!isDev) { store.commit('option/UPDATE_URL', 'http://192.168.253.66:8081/') } return Promise.all([ // 全局数据 // store.dispatch('loadCarouselInfo', { client_type: 'cc', cityId: '5' }), store.dispatch('loadIsLogin'), store.dispatch('loadUserInfo') ]) }, // 判断是否登录 loadIsLogin ({ commit }) { commit('option/REQUEST_IS_LOGIN') return axios.get('/sso/login/isLogin') .then(response => { commit('option/REQUEST_IS_LOGIN_SUCCESS', response.data) }, err => { commit('option/REQUEST_IS_LOGIN_FAILURE', err) }) }, // 获取用户登录信息 loadUserInfo ({ commit }) { commit('option/REQUEST_USER_INFO') return axios.get('/sso/center/user/info') .then(response => { commit('option/REQUEST_USER_INFO_SUCCESS', response.data) }, err => { commit('option/REQUEST_USER_INFO_FAILURE', err) }) }, // 用户退出 logout ({ commit }) { return axios.get('/sso/login/logout') .then(response => { commit('option/REQUEST_LOGOUT_SUCCESS', response.data) }) }, // 获取成员列表信息 loadMemberList ({ commit }, params = {}) { commit('cloudCenter/REQUEST_MEMBER') return axios.get('/sso/center/member/info', {params}) .then(res => { commit('cloudCenter/REQUEST_MEMBER_SUCCESS', res.data) }, err => { commit('cloudCenter/REQUEST_MEMBER_FAILURE', err) }) }, // 获取申请列表信息 loadApplyList ({commit}, params = {}) { commit('cloudCenter/REQUEST_APPLY') return axios.get('/sso/center/apply/info', {params}) .then(res => { commit('cloudCenter/REQUEST_APPLY_SUCCESS', res.data) }, err => { commit('cloudCenter/REQUEST_APPLY_FAILURE', err) }) }, // 关键字查询企业名称 searchForName ({ commit }, params = {}) { commit('search/REQUEST_KEYWORDS') return axios.get('/api/userspace/search/name', {params}) .then(res => { commit('search/GET_KEYWORDS_SUCCESS', res.data) }, err => { commit('search/GET_KEYWORDS_FAILURE', err) }) }, // 清空企业数据 restForName ({commit}) { commit('search/REST_KEYWORDS') }, // 通过企业名查询企业信息 searchForInfo ({commit}, params = {}) { commit('search/REQUEST_ENTERPRISE') return axios.get('/api/userspace/info/name', {params}) .then(res => { commit('search/GET_ENTERPRISE_SUCCESS', res.data) }, err => { commit('search/GET_ENTERPRISE_FAILURE', err) }) }, // 清空查询企业信息数据 restForInfo ({commit}) { commit('search/REST_ENTERPRISE') }, // 获取表单配置 loadFormData ({ commit }, params = {}) { commit('formConfig/REQUEST_FORMDATA') return cityService.get('/api/serve/config.action', {params}) .then(response => { commit('formConfig/GET_FORMDATA_SUCCESS', response.data) }, err => { commit('formConfig/GET_FORMDATA_FAILURE', err) }) } }