config.js 2.6 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485
  1. /**
  2. * 功能:应用配置
  3. * 作者:小莫唐尼
  4. * 邮箱:studio@925i.cn
  5. * 时间:2024年06月22日 12:00:44
  6. * 版本:v0.1.0
  7. */
  8. import {DefaultAppConfigs, getAppConfigs, setAppConfigs,setAppMockJson,getAppMockJson} from '@/config/index.js'
  9. import v2Config from '@/api/v2/all.config.js'
  10. import utils from '@/utils/index.js'
  11. export default {
  12. namespaced: true,
  13. state: {
  14. configs: getAppConfigs(),
  15. mockJson: getAppMockJson(),
  16. },
  17. getters: {
  18. getConfigs(state) {
  19. if (state.configs) return state.configs;
  20. return getAppConfigs()
  21. },
  22. getMockJson(state) {
  23. if(state.mockJson) return state.mockJson;
  24. return getAppMockJson()
  25. }
  26. },
  27. mutations: {
  28. setConfigs(state, data) {
  29. state.configs = data;
  30. setAppConfigs(data)
  31. },
  32. setMockJson(state, data) {
  33. setAppMockJson(data)
  34. state.mockJson = data;
  35. }
  36. },
  37. actions: {
  38. fetchConfigs({commit, dispatch}) {
  39. return new Promise(async (resolve, reject) => {
  40. try {
  41. const res = await v2Config.getAppConfigs()
  42. if (res) {
  43. commit('setConfigs', res)
  44. resolve(res)
  45. } else {
  46. dispatch("setDefaultAppSettings");
  47. reject()
  48. }
  49. } catch (e) {
  50. dispatch("setDefaultAppSettings");
  51. reject()
  52. }
  53. })
  54. },
  55. // 设置默认的数据
  56. setDefaultAppSettings({commit}) {
  57. commit('setConfigs', JSON.parse(JSON.stringify(DefaultAppConfigs)))
  58. },
  59. // 请求模拟数据
  60. fetchMockJson({state, commit, dispatch}) {
  61. return new Promise(async (resolve, reject) => {
  62. const mockJsonUrl = utils.checkUrl(state.configs.basicConfig.auditModeMockUrl)
  63. uni.request({
  64. url: mockJsonUrl,
  65. method: "GET",
  66. success: (res) => {
  67. console.log("mockJson", res.data)
  68. commit('setMockJson', res.data)
  69. resolve({
  70. ok: true,
  71. data: res.data
  72. })
  73. },
  74. fail: (err) => {
  75. resolve({
  76. ok: false,
  77. data: err
  78. })
  79. }
  80. })
  81. })
  82. },
  83. }
  84. };