index.js 1.1 KB

123456789101112131415161718192021222324252627282930313233
  1. export const actions = {
  2. // 全局服务初始化
  3. nuxtServerInit (store, {isDev, req}) {
  4. // 检查设备类型
  5. const userAgent = process.server ? req.headers['user-agent'] : navigator.userAgent
  6. const isMobile = /(iPhone|iPad|Opera Mini|Android.*Mobile|NetFront|PSP|BlackBerry|Windows Phone)/ig.test(userAgent)
  7. const cookie = process.server ? req.headers['cookie'] : null
  8. store.commit('option/SET_MOBILE_LAYOUT', isMobile)
  9. store.commit('option/SET_USER_AGENT', userAgent)
  10. store.commit('option/SET_COOKIES', cookie)
  11. // 设置跳转的URL
  12. if (!isDev) {
  13. store.commit('option/UPDATE_URL', 'http://127.0.0.1:3000')
  14. }
  15. return Promise.all([
  16. // 全局数据
  17. store.dispatch('loadUserInfo')
  18. ])
  19. },
  20. // 获取用户信息
  21. loadUserInfo ({ commit, state }) {
  22. return this.$axios.get('/mobile/userspace/register')
  23. .then(response => {
  24. commit('option/REQUEST_USER_INFO_SUCCESS', response.data)
  25. state.option.sessionId = response.data.content.sessionId
  26. }, err => {
  27. commit('option/REQUEST_USER_INFO_FAILURE', err)
  28. })
  29. }
  30. }