配置
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支持大多数数据类型:
- string
- number
- Date
- Parse.File
- Parse.GeoPoint
- JS Array
- JS Object
我们目前在配置中最多允许100个参数,并且所有参数的总大小不超过128KB。