Преглед изворни кода

优化:新增配置项是否启用商城设置缓存

Yahoo пре 4 година
родитељ
комит
30afb02c28
4 измењених фајлова са 22 додато и 8 уклоњено
  1. 7 3
      common/model/Setting.js
  2. 14 2
      core/config/defaultConfig.js
  3. 0 1
      pages/login/index.vue
  4. 1 2
      pages/user/index.vue

+ 7 - 3
common/model/Setting.js

@@ -1,5 +1,6 @@
-import * as SettingApi from '@/api/setting'
+import Config from '@/core/config'
 import storage from '@/utils/storage'
+import * as SettingApi from '@/api/setting'
 
 const CACHE_KEY = 'Setting'
 const OTHER = '_other'
@@ -30,7 +31,10 @@ const getApiData = () => {
  * 有缓存的情况下返回缓存, 没有缓存从后端api获取
  * @param {bool} isCache 是否从缓存中获取 [优点不用每次请求后端api 缺点后台更新设置后需等待时效性]
  */
-const data = (isCache = false) => {
+const data = isCache => {
+  if (isCache == undefined) {
+    isCache = Config.get('enabledSettingCache')
+  }
   return new Promise((resolve, reject) => {
     const cacheData = getStorage()
     if (isCache && cacheData) {
@@ -46,7 +50,7 @@ const data = (isCache = false) => {
 }
 
 // 获取商城设置(指定项)
-const item = (key, isCache = false) => {
+const item = (key, isCache) => {
   return new Promise((resolve, reject) => {
     data(isCache)
       .then(setting => {

+ 14 - 2
core/config/defaultConfig.js

@@ -1,8 +1,20 @@
-// ** 本文件是config.js的默认数据 (考虑后期迭代 请勿修改本文件中的内容)
+// ** 本文件是config.js的默认数据 (请勿修改本文件中的内容)
 // ** 如需修改配置请移步到根目录的config.js文件
 export default {
+
   // 系统名称
   name: "萤火商城2.0",
-  // 后端api地址
+
+  /**
+   * 后端api地址 (必填; 斜杠/结尾; 请确保能访问)
+   * 例如: https://www.你的域名.com/index.php?s=/api/
+   */
   apiUrl: "./index.php?s=/api/",
+
+  /**
+   * 是否启用商城设置缓存
+   * 正式运营时启用, 将减少用户端重复请求
+   */
+  enabledSettingCache: false,
+
 }

+ 0 - 1
pages/login/index.vue

@@ -56,7 +56,6 @@
         const isMpWeixin = app.$platform === 'MP-WEIXIN' && wx.canIUse('getUserProfile')
 
         // 获取后台设置
-        // 优化建议: 可以将isCache改为true启用缓存
         await SettingModel.item(SettingKeyEnum.REGISTER.value, false)
           .then(setting => {
             app.isMpWeixinAuth = isMpWeixin && setting.isOauthMpweixin

+ 1 - 2
pages/user/index.vue

@@ -264,8 +264,7 @@
       getSetting() {
         const app = this
         return new Promise((resolve, reject) => {
-          // 优化建议:data()方法传参true,启用缓存
-          SettingModel.data(true)
+          SettingModel.data()
             .then(setting => {
               app.setting = setting
               resolve(setting)