开源Parse Server

12.配置Config

2017-09-23  本文已影响0人  xiangdong_9013

配置

Parse.Config是一种通过在Parse上存储单个Config对象来远程配置应用程序的好方法。它使您可添加功能开关或简单的“每日消息”等功能。要使用Parse.Config,您需要在Parse Config Dashboard上向应用程序添加一些键/值对(参数)。

之后,您可以在客户端获取Parse.Config,例如:

Parse.Config.get().then(function(config) {
  var winningNumber = config.get("winningNumber");
  var message = "Yay! The number is " + winningNumber + "!";
  console.log(message);
}, function(error) {
  // Something went wrong (e.g. request timed out)
});

1.检索配置

即使在网络连接不畅的情况下,ParseConfig仍然保持尽可能的强大可靠。默认情况下会使用缓存来确保最新成功获取的配置始终可用。在下面的示例中,我们使用get从服务器检索最新版本的配置,如果提取失败,我们可以通过current直接回滚到我们之前成功获取的版本。

Parse.Config.get().then(function(config) {
  console.log("Yay! Config was fetched from the server.");

  var welcomeMessage = config.get("welcomeMessage");
  console.log("Welcome Message = " + welcomeMessage);
}, function(error) {
  console.log("Failed to fetch. Using Cached Config.");

  var config = Parse.Config.current();
  var welcomeMessage = config.get("welcomeMessage");
  if (welcomeMessage === undefined) {
    welcomeMessage = "Welcome!";
  }
  console.log("Welcome Message = " + welcomeMessage);
});

2.当前配置

你得到的每一个Parse.Config实例始终保持不变。当您以后从网络中检索到新的Parse.Config实例时,它将不会修改任何现有的实例,而是创建一个新的实例,并通过Parse.Config.current()使其可用。因此,您可以安全地绕过任何current()对象,并放心地假定它不会自动更改。

每当您想要使用配置时都从服务器检索可能很麻烦。您可以直接使用缓存的current()对象和仅定时获取配置来避免这种情况。

// Fetches the config at most once every 12 hours per app runtime
var refreshConfig = function() {
  var lastFetchedDate;
  var configRefreshInterval = 12 * 60 * 60 * 1000;
  return function() {
    var currentDate = new Date();
    if (lastFetchedDate === undefined ||
        currentDate.getTime() - lastFetchedDate.getTime() > configRefreshInterval) {
      Parse.Config.get();
      lastFetchedDate = currentDate;
    }
  };
}();

3.参数

通过Parse.Object,ParseConfig支持大多数数据类型:

我们目前在配置中最多允许100个参数,并且所有参数的总大小不超过128KB。

上一篇 下一篇

猜你喜欢

热点阅读