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|iPad|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) // 保存appId和returnUrl信息 // 保存链接?之后的所有键值对以字符串形式 let fullPath = route.fullPath.slice(route.fullPath.lastIndexOf('?')) || '' store.commit('option/SET_FULLPATH', fullPath) // console.log('111', route.fullPath.slice(route.fullPath.lastIndexOf('?'))) if (route.query) { let appId = route.query.appId || '' let returnUrl = route.query.returnURL || '' let baseUrl = route.query.baseUrl || '' let inviteSpaceUU = route.query.inviteSpaceUU || '' let inviteUserUU = route.query.inviteUserUU || '' let invitationTime = route.query.invitationTime || '' store.commit('option/SET_APPID', appId) store.commit('option/SET_RETURNURL', returnUrl) store.commit('option/SET_BASEURL', baseUrl) store.commit('option/SET_INVITESPACEUU', inviteSpaceUU) store.commit('option/SET_INVITEUSERUU', inviteUserUU) store.commit('option/SET_INVITATIONTIME', invitationTime) } // 设置跳转的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 => { console.log(response.data) 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 => { // console.log(response.data) commit('option/REQUEST_USER_INFO_SUCCESS', response.data) }, err => { commit('option/REQUEST_USER_INFO_FAILURE', err) }) }, // 获取成员列表信息 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) }) }, // 登录页样式 GetLoginStyle ({ commit }, params = {}) { return axios.get('/sso/login/page/style', { params }) .then(response => { commit('login/REQUEST_LOGIN_STYLE_SUCCESS', response.data) }, err => { commit('login/GET_LOGIN_STYLE_FAILURE', err) }) } }