config.js 1.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051
  1. /**
  2. * 功能:应用配置
  3. * 作者:小莫唐尼
  4. * 邮箱:studio@925i.cn
  5. * 时间:2024年06月22日 12:00:44
  6. * 版本:v0.1.0
  7. */
  8. import {DefaultAppConfigs, getAppConfigs, setAppConfigs} from '@/config/index.js'
  9. import v2Config from '@/api/v2/all.config.js'
  10. export default {
  11. namespaced: true,
  12. state: {
  13. configs: getAppConfigs(),
  14. },
  15. getters: {
  16. getConfigs(state) {
  17. if (state.configs) return state.configs;
  18. return getAppConfigs()
  19. },
  20. },
  21. mutations: {
  22. setConfigs(state, data) {
  23. state.configs = data;
  24. setAppConfigs(data)
  25. },
  26. },
  27. actions: {
  28. fetchConfigs({commit, dispatch}) {
  29. return new Promise(async (resolve, reject) => {
  30. try {
  31. const res = await v2Config.getAppConfigs()
  32. if (res) {
  33. commit('setConfigs', res)
  34. resolve(res)
  35. } else {
  36. dispatch("setDefaultAppSettings");
  37. reject()
  38. }
  39. } catch (e) {
  40. dispatch("setDefaultAppSettings");
  41. reject()
  42. }
  43. })
  44. },
  45. // 设置默认的数据
  46. setDefaultAppSettings({commit}) {
  47. commit('setConfigs', JSON.parse(JSON.stringify(DefaultAppConfigs)))
  48. },
  49. }
  50. };