index.js 1.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869
  1. import cookieparser from 'cookieparser'
  2. import Cookies from 'js-cookie'
  3. export const state = () => ({
  4. token: '',
  5. category: [],
  6. publicData: {},
  7. config: {}
  8. })
  9. export const mutations = {
  10. setToken(state, token) {
  11. state.token = token
  12. },
  13. logout() {
  14. state.token = ''
  15. Cookies.remove('token')
  16. },
  17. setCategory(state, data) {
  18. state.category = data
  19. },
  20. setConfig(state, data) {
  21. state.config = data
  22. },
  23. setPublic(state, data) {
  24. state.publicData = data
  25. },
  26. }
  27. export const getters = {
  28. isLogin:(state) => !!state.token,
  29. headTitle: (state) => state.config.name,
  30. favicon: (state) => state.config.web_favicon
  31. }
  32. export const actions = {
  33. async nuxtServerInit({dispatch, commit}, {req, app}) {
  34. let cookie = req.headers.cookie;
  35. if (cookie) {
  36. const parsed = cookieparser.parse(cookie)
  37. commit('setToken', parsed.token || "")
  38. }
  39. await dispatch('getCategory')
  40. await dispatch('getConfig')
  41. await dispatch('getPublicData')
  42. },
  43. // 获取分类
  44. async getCategory({commit}) {
  45. const { data, code } = await this.$get("category");
  46. if (code == 1) {
  47. commit('setCategory', data)
  48. }
  49. },
  50. // 获取配置
  51. async getConfig({commit}) {
  52. const { data, code } = await this.$get("common/config");
  53. if (code == 1) {
  54. console.log(data)
  55. commit('setConfig', data)
  56. }
  57. },
  58. async getPublicData({commit}) {
  59. // commit('setPublic', {})
  60. const { data, code } = await this.$get("user/refresh");
  61. if (code == 1) {
  62. commit('setPublic', data)
  63. }
  64. },
  65. }