fuint-uniapp-master/common/model/Setting.js

(完整代码) 1KB

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
}

24 小时内免费解锁 3 个项目,之后 1 算力/个。 规则说明

AI 解读 AI

登录后可用,每次 10 算力,解读结果公开显示在下面。

还没有人解读过这个文件。