配置

Parse.Config是存储在Parse上的配置对象,是远程应用配置的最佳实践。它可以帮你实现全局设置、每日消息之类的功能。

要开始使用Parse.Config,你需要在Parse配置面板添加一些键值对到你的app,然后你就可以在客户端拉取到Parse.Config对象:

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

获取配置

ParseConfig即便在糟糕的网络下,也会尽可能的保持可用,默认配置会被缓存,以确保最后一次成功拉取的配置始终可用。在下面的例子中,我们从服务器拉取配置的最新版本,如果get失败,我们通过current回退到最近一次成功拉取的配置:

  1. Parse.Config.get().then(function(config) {
  2. console.log("Yay! Config was fetched from the server.");
  3. var welcomeMessage = config.get("welcomeMessage");
  4. console.log("Welcome Message = " + welcomeMessage);
  5. }, function(error) {
  6. console.log("拉取失败,使用缓存配置");
  7. var config = Parse.Config.current();
  8. var welcomeMessage = config.get("welcomeMessage");
  9. if (welcomeMessage === undefined) {
  10. welcomeMessage = "Welcome!";
  11. }
  12. console.log("Welcome Message = " + welcomeMessage);
  13. });

当前配置

每一个Parse.Config实例都是不可改变的,当你从云端获取到一个新的Parse.Config实例,这并不会修改已经存在的任何Parse.Config,但是会通过Parse.Config.current()新创建一个替换掉之前的,因此,你可以安全地传递任何current()对象,并且认定它不会自动改变。

如果每次要使用配置的时候都拉取一次,这可能过于麻烦,你可以通过current()的缓存来避免此麻烦,然后隔一段时间拉取一次就可以了。

  1. // 应用每过12小时重新更新配置
  2. var refreshConfig = function() {
  3. var lastFetchedDate;
  4. var configRefreshInterval = 12 * 60 * 60 * 1000;
  5. return function() {
  6. var currentDate = new Date();
  7. if (lastFetchedDate === undefined ||
  8. currentDate.getTime() - lastFetchedDate.getTime() > configRefreshInterval) {
  9. Parse.Config.get();
  10. lastFetchedDate = currentDate;
  11. }
  12. };
  13. }();

参数

ParseConfig支持Parse.Object支持的绝大多数数据类型:

string

  • number
  • Date
  • Parse.File
  • Parse.GeoPoint
  • JS Array
  • JS Object

目前配置支持最多100个参数,并且支持的所有参数总大小为128Kb。