init
This commit is contained in:
58
fuintUniapp/common/model/Setting.js
Normal file
58
fuintUniapp/common/model/Setting.js
Normal file
@@ -0,0 +1,58 @@
|
||||
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
|
||||
}
|
||||
Reference in New Issue
Block a user