2015-06-09 4 views
1

Я внедрил новый модуль для hello.js. Мне нужен auth, grant и base, чтобы быть динамичным. Есть ли способ установить/переопределить эти значения из вызова hello.init()?hello.js: Можно ли динамически устанавливать настройки провайдера?

Мой модуль выглядит следующим образом:

(function(hello) { 

    hello.init({ 

     my_service_name: { 

      name: 'My-Service-Name', 

      oauth: { 
       version: 2, 
       auth: 'http://mydomain/oauth/authorize', 
       grant: 'http://mydomain/oauth/token' 
      }, 

      scope: { 
       basic: ['basic_scope'] 
      }, 

      base: 'http://mydomain/', 

      xhr: function(p) { 

       if (p.method !== 'get' && p.data) { 

        // Serialize payload as JSON 
        p.headers = p.headers || {}; 
        p.headers['Content-Type'] = 'application/json'; 
        if (typeof (p.data) === 'object') { 
         p.data = JSON.stringify(p.data); 
        } 
       } 

       return true; 
      } 
     } 
    }); 

})(hello); 

и мой hello.init() вызова:

hello.init({ 
    my_service_name: server.consumerKey 
}, { 
    redirect_uri : server.callbackUrl, 
}); 

Потребительное дело в том, что приложение я развиваю буду взаимодействовать с несколькими серверами, так что я не могу жёстко URL-адреса в файле модуля.

ответ

0

Я понял, что я могу переопределить параметры по умолчанию, передавая весь oauth объект в hello.init() вызова:

hello.init({ 
    my_service_name: { 
     id: server.consumerKey, 
     oauth: { 
      version: 2, 
      auth: server.auth_url, 
      grant: server.token_url 
     }, 
     base: server.baseUrl 
    } 
}, { 
    redirect_uri : server.callbackUrl 
}); 
Смежные вопросы