12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758 |
- import * as SettingApi from '@/api/setting'
- import storage from '@/utils/storage'
- const CACHE_KEY = 'Setting'
- // 写入缓存, 到期时间30分钟
- const setStorage = (data) => {
- const expireTime = 30 * 60;
- storage.set(CACHE_KEY, data, expireTime);
- }
- // 获取缓存中的数据
- const getStorage = () => {
- return storage.get(CACHE_KEY);
- }
- // 获取系统设置
- const getApiData = () => {
- return new Promise((resolve, reject) => {
- SettingApi.data()
- .then(result => {
- resolve(result.data.setting);
- })
- })
- }
- /**
- * 获取商城设置
- * 有缓存的情况下返回缓存, 没有缓存从后端api获取
- * @param {bool} isCache 是否从缓存中获取
- */
- const data = (isCache = true) => {
- return new Promise((resolve, reject) => {
- const cacheData = getStorage()
- if (isCache && cacheData) {
- resolve(cacheData)
- } else {
- getApiData().then(data => {
- setStorage(data)
- resolve(data)
- })
- }
- })
- }
- // 获取指定的系统设置
- const item = (key, isCache = true) => {
- return new Promise((resolve, reject) => {
- data(isCache).then(setting => {
- resolve(setting[key])
- })
- })
- }
- export default {
- data,
- item
- }
|