index.js 5.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161
  1. import axios from '~plugins/axios-nuxt'
  2. import cityService from '~plugins/city-service'
  3. // var axios = axiosHttp()
  4. export const actions = {
  5. // 全局服务初始化
  6. nuxtServerInit (store, context) {
  7. // 检查设备类型
  8. // axios = axiosHttp(store, context.req)
  9. const route = context.route
  10. const isServer = context.isServer
  11. const isDev = context.isDev
  12. const userAgent = isServer ? context.req.headers['user-agent'] :context.req.headers['user-agent']
  13. const isMobile = /(iPhone|iPad|Opera Mini|Android.*Mobile|NetFront|PSP|BlackBerry|Windows Phone)/ig.test(userAgent)
  14. const cookie = process.server ? context.req.headers['cookie'] : null
  15. store.commit('option/SET_MOBILE_LAYOUT', isMobile)
  16. store.commit('option/SET_USER_AGENT', userAgent)
  17. store.commit('option/SET_COOKIES', cookie)
  18. // 保存appId和returnUrl信息
  19. // 保存链接?之后的所有键值对以字符串形式
  20. let fullPath = route.fullPath.lastIndexOf('?') !== -1 ? route.fullPath.slice(route.fullPath.lastIndexOf('?')) : ''
  21. store.commit('option/SET_FULLPATH', fullPath)
  22. if (route.query) {
  23. let appId = route.query.appId || ''
  24. let returnUrl = route.query.returnURL || ''
  25. let baseUrl = route.query.baseUrl || ''
  26. let inviteSpaceUU = route.query.inviteSpaceUU || ''
  27. let inviteUserUU = route.query.inviteUserUU || ''
  28. let invitationTime = route.query.invitationTime || ''
  29. store.commit('option/SET_APPID', appId)
  30. store.commit('option/SET_RETURNURL', returnUrl)
  31. store.commit('option/SET_BASEURL', baseUrl)
  32. store.commit('option/SET_INVITESPACEUU', inviteSpaceUU)
  33. store.commit('option/SET_INVITEUSERUU', inviteUserUU)
  34. store.commit('option/SET_INVITATIONTIME', invitationTime)
  35. }
  36. if (cookie && cookie.length) {
  37. // let cookies = cookie.split(';')
  38. // for (let i = 0; i < cookies.length; i++) {
  39. // let cookieArr = cookies[i].split('=')
  40. // if (cookieArr.length === 2 && cookieArr[0] === 'JSESSIONID') {
  41. // store.commit('option/SET_SESSION_ID', cookieArr[1])
  42. // break
  43. // }
  44. // }
  45. axios.defaults.headers['cookie'] = store.state.option.cookies
  46. axios.defaults.headers['User-Agent'] = store.state.option.userAgent
  47. } else {
  48. axios.defaults.headers['cookie'] = ''
  49. axios.defaults.headers['User-Agent'] = ''
  50. }
  51. // 设置跳转的URL
  52. if (!isDev) {
  53. store.commit('option/UPDATE_URL', 'http://192.168.253.66:8081/')
  54. }
  55. return Promise.all([
  56. // 全局数据
  57. // store.dispatch('loadCarouselInfo', { client_type: 'cc', cityId: '5' }),
  58. store.dispatch('loadIsLogin'),
  59. store.dispatch('loadUserInfo')
  60. ])
  61. },
  62. // 判断是否登录
  63. loadIsLogin ({ commit }) {
  64. commit('option/REQUEST_IS_LOGIN')
  65. return axios.get('/sso/login/isLogin')
  66. .then(response => {
  67. console.log(response.data)
  68. commit('option/REQUEST_IS_LOGIN_SUCCESS', response.data)
  69. }, err => {
  70. commit('option/REQUEST_IS_LOGIN_FAILURE', err)
  71. })
  72. },
  73. // 获取用户登录信息
  74. loadUserInfo ({ commit }) {
  75. commit('option/REQUEST_USER_INFO')
  76. return axios.get('/sso/center/user/info')
  77. .then(response => {
  78. // console.log(response.data)
  79. commit('option/REQUEST_USER_INFO_SUCCESS', response.data)
  80. }, err => {
  81. commit('option/REQUEST_USER_INFO_FAILURE', err)
  82. })
  83. },
  84. // 获取成员列表信息
  85. loadMemberList ({ commit }, params = {}) {
  86. commit('cloudCenter/REQUEST_MEMBER')
  87. // console.log(axios)
  88. return axios.get('/sso/center/member/info', {params})
  89. .then(res => {
  90. commit('cloudCenter/REQUEST_MEMBER_SUCCESS', res.data)
  91. }, err => {
  92. commit('cloudCenter/REQUEST_MEMBER_FAILURE', err)
  93. })
  94. },
  95. // 获取申请列表信息
  96. loadApplyList ({commit}, params = {}) {
  97. commit('cloudCenter/REQUEST_APPLY')
  98. return axios.get('/sso/center/apply/info', {params})
  99. .then(res => {
  100. commit('cloudCenter/REQUEST_APPLY_SUCCESS', res.data)
  101. }, err => {
  102. commit('cloudCenter/REQUEST_APPLY_FAILURE', err)
  103. })
  104. },
  105. // 关键字查询企业名称
  106. searchForName ({ commit }, params = {}) {
  107. commit('search/REQUEST_KEYWORDS')
  108. return axios.get('/api/userspace/search/name', {params})
  109. .then(res => {
  110. commit('search/GET_KEYWORDS_SUCCESS', res.data)
  111. }, err => {
  112. commit('search/GET_KEYWORDS_FAILURE', err)
  113. })
  114. },
  115. // 清空企业数据
  116. restForName ({commit}) {
  117. commit('search/REST_KEYWORDS')
  118. },
  119. // 通过企业名查询企业信息
  120. searchForInfo ({commit}, params = {}) {
  121. commit('search/REQUEST_ENTERPRISE')
  122. return axios.get('/api/userspace/info/name', {params})
  123. .then(res => {
  124. commit('search/GET_ENTERPRISE_SUCCESS', res.data)
  125. }, err => {
  126. commit('search/GET_ENTERPRISE_FAILURE', err)
  127. })
  128. },
  129. // 清空查询企业信息数据
  130. restForInfo ({commit}) {
  131. commit('search/REST_ENTERPRISE')
  132. },
  133. // 获取表单配置
  134. loadFormData ({ commit }, params = {}) {
  135. commit('formConfig/REQUEST_FORMDATA')
  136. return cityService.get('/api/serve/config.action', {params})
  137. .then(response => {
  138. commit('formConfig/GET_FORMDATA_SUCCESS', response.data)
  139. }, err => {
  140. commit('formConfig/GET_FORMDATA_FAILURE', err)
  141. })
  142. },
  143. // 登录页样式
  144. GetLoginStyle ({ commit }, params = {}) {
  145. return axios.get('/sso/login/page/style', { params })
  146. .then(response => {
  147. commit('login/REQUEST_LOGIN_STYLE_SUCCESS', response.data)
  148. }, err => {
  149. commit('login/REQUEST_LOGIN_STYLE_FAILURE', err)
  150. })
  151. },
  152. // 获取协议
  153. GetAgreementUrl ({ commit }, params = {}) {
  154. return axios.get('/api/app/getAgreementUrl', { params })
  155. .then(response => {
  156. commit('login/REQUEST_AGREEMENT_URL_SUCCESS', response.data)
  157. }, err => {
  158. commit('login/REQUEST_AGREEMENT_URL_FAILURE', err)
  159. })
  160. }
  161. }