index.js 1.5 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364
  1. import Vue from 'vue'
  2. import Vuex from 'vuex'
  3. import axios from 'axios'
  4. Vue.use(Vuex)
  5. const state = {
  6. wordpressAPI: 'http://visney.cn:81',
  7. wordpressAPIForJob: 'http://visney.cn:8082',
  8. headProdNav: {},
  9. headNewsNav: {},
  10. headJobNav: {},
  11. indexLinksData: null,
  12. // indexShowLinks: false
  13. };
  14. const mutations = {
  15. //头部导航产品与新闻信息
  16. setHeadProdNav(state,data){
  17. state.headProdNav = data
  18. },
  19. setHeadNewsNav(state,data){
  20. state.headNewsNav = data
  21. },
  22. setHeadJobNav(state,data){
  23. state.headJobNav = data
  24. },
  25. setIndexLinksData(state,data){
  26. state.indexLinksData = data
  27. },
  28. // setIndexShowLinks(state,bool){
  29. // state.indexShowLinks = bool
  30. // }
  31. };
  32. const getters = {
  33. };
  34. const actions = {
  35. async nuxtServerInit({commit,state,req}) {
  36. //产品导航
  37. let headProdNav = await axios(`${state.wordpressAPI}/proCategory/showAll/main`);
  38. commit('setHeadProdNav',headProdNav.data);
  39. //新闻导航
  40. let headNewsNav = await axios(`${state.wordpressAPI}/articleCategory/getAll`);
  41. commit('setHeadNewsNav',headNewsNav.data);
  42. //招聘导航
  43. let headJobNav = await axios(`${state.wordpressAPIForJob}/jobClass/getAll`);
  44. commit('setHeadJobNav',headJobNav.data);
  45. //友情链接
  46. let indexLinksData = await axios(`${state.wordpressAPI}/link/selectAll`);
  47. commit('setIndexLinksData',indexLinksData.data);
  48. }
  49. };
  50. const store = () => new Vuex.Store({
  51. state,
  52. getters,
  53. mutations,
  54. actions
  55. })
  56. export default store