index.js 1.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081
  1. import Vue from 'vue'
  2. import Vuex from 'vuex'
  3. import { getMyButton, getFarm } from '../utils/api'
  4. Vue.use(Vuex)
  5. export default new Vuex.Store({
  6. state: {
  7. color: '#31C3A6',
  8. mode: true,
  9. // 按钮权限
  10. buttons: [],
  11. ip: 'http://115.238.57.190:8100',
  12. // 所选择的farmId
  13. farmId: '',
  14. farmList: [],
  15. },
  16. mutations: {
  17. setColor(state, data) {
  18. state.color = data
  19. },
  20. setMode(state, data){
  21. state.mode = data
  22. },
  23. SET_BUTTONS(state, data) {
  24. state.buttons = data
  25. },
  26. SET_FARMID(state, data) {
  27. state.farmId = data;
  28. },
  29. SET_FARMLIST(state, data) {
  30. state.farmList = data;
  31. }
  32. },
  33. actions: {
  34. setModeAsync(context, data) {
  35. context.commit('setMode' ,data)
  36. },
  37. setColorAsync(context, data) {
  38. context.commit('setColor', data)
  39. },
  40. setFarmIdAsync(context,data) {
  41. context.commit('SET_FARMID', data)
  42. },
  43. // 获取用户按钮权限
  44. GetButtons({ commit }) {
  45. return new Promise((resolve, reject) => {
  46. getMyButton({userId: localStorage.getItem('UserId')}).then(res => {
  47. if(res.code === 10000) {
  48. commit('SET_BUTTONS', res.data)
  49. resolve(res.data)
  50. } else {
  51. reject(new Error(res.message))
  52. }
  53. }).catch(error => {
  54. reject(error)
  55. })
  56. })
  57. },
  58. // 获取牧场列表
  59. GetFarm({ commit }){
  60. return new Promise((resolve, reject) => {
  61. getFarm().then(res => {
  62. if (res.code === 10000) {
  63. commit('SET_FARMLIST', res.data);
  64. resolve(res.data);
  65. } else {
  66. reject(new Error(res.message))
  67. }
  68. }).catch(error => {
  69. reject(error)
  70. })
  71. })
  72. }
  73. },
  74. modules: {
  75. },
  76. getters: {
  77. buttons: state => state.buttons
  78. }
  79. })