mirror of
https://github.com/ialley-workshop-open/uni-halo.git
synced 2026-06-10 20:29:28 +08:00
91 lines
2.9 KiB
JavaScript
91 lines
2.9 KiB
JavaScript
/**
|
|
* 功能:应用配置
|
|
* 作者:小莫唐尼
|
|
* 邮箱:studio@925i.cn
|
|
* 时间:2024年06月22日 12:00:44
|
|
* 版本:v0.1.0
|
|
*/
|
|
import {DefaultAppConfigs, getAppConfigs, getAppMockJson, setAppConfigs, setAppMockJson} from '@/config/index.js'
|
|
import v2Config from '@/api/v2/all.config.js'
|
|
import utils from '@/utils/index.js'
|
|
import {setTokens} from "@/utils/token";
|
|
|
|
export default {
|
|
namespaced: true,
|
|
state: {
|
|
configs: getAppConfigs(),
|
|
mockJson: getAppMockJson(),
|
|
},
|
|
getters: {
|
|
getConfigs(state) {
|
|
if (state.configs) return state.configs;
|
|
return getAppConfigs()
|
|
},
|
|
getMockJson(state) {
|
|
if (state.mockJson) return state.mockJson;
|
|
return getAppMockJson()
|
|
}
|
|
},
|
|
mutations: {
|
|
setConfigs(state, data) {
|
|
state.configs = data;
|
|
setAppConfigs(data)
|
|
},
|
|
setMockJson(state, data) {
|
|
setAppMockJson(data)
|
|
state.mockJson = data;
|
|
}
|
|
},
|
|
actions: {
|
|
fetchConfigs({state, commit, dispatch}) {
|
|
return new Promise(async (resolve, reject) => {
|
|
try {
|
|
const res = await v2Config.getAppConfigs()
|
|
if (res) {
|
|
commit('setConfigs', utils.deepMerge(DefaultAppConfigs, res))
|
|
|
|
// 存储token
|
|
if (res?.basicConfig?.tokenConfig) {
|
|
setTokens(res.basicConfig.tokenConfig)
|
|
}
|
|
resolve(res)
|
|
} else {
|
|
dispatch("setDefaultAppSettings");
|
|
reject()
|
|
}
|
|
} catch (e) {
|
|
dispatch("setDefaultAppSettings");
|
|
reject()
|
|
}
|
|
})
|
|
},
|
|
// 设置默认的数据
|
|
setDefaultAppSettings({commit}) {
|
|
commit('setConfigs', JSON.parse(JSON.stringify(DefaultAppConfigs)))
|
|
},
|
|
// 请求模拟数据
|
|
fetchMockJson({state, commit, dispatch}) {
|
|
return new Promise(async (resolve, reject) => {
|
|
const mockJsonUrl = utils.checkUrl(state.configs.basicConfig.auditModeMockUrl)
|
|
uni.request({
|
|
url: mockJsonUrl,
|
|
method: "GET",
|
|
success: (res) => {
|
|
commit('setMockJson', res.data)
|
|
resolve({
|
|
ok: true,
|
|
data: res.data
|
|
})
|
|
},
|
|
fail: (err) => {
|
|
resolve({
|
|
ok: false,
|
|
data: err
|
|
})
|
|
}
|
|
})
|
|
})
|
|
},
|
|
}
|
|
};
|