如何存储 Ionic/Cordova 应用程序的连接字符串?
How to store connection strings for Ionic/Cordova app?
我维护一组连接字符串(local、dev、stg、prod)并且更喜欢将其保存在一个位置以便仅更改一次。在开发和测试期间,我将这些放在 JSON 文件中,并使用 $.getJSON 获取相关的连接字符串。
var serviceBase;
$.getJSON("../config.json", function (data) {
serviceBase = data['serviceBase'];
});
这在本地机器上测试时工作正常,但在模拟器或设备上我收到一个错误,它找不到文件;我认为这是对 jQuery 的 getJSON 无法访问 iOS 文件系统的限制。
我暂时将连接字符串硬编码到我的javascript;但是如何以安全的方式将连接字符串存储在我的 Ionic/Cordova 应用程序中?
如果 "safe" 你的意思是安全,那你会很不开心。
无论您将它们存储在何处,始终可以访问它们...即使您将它们存储在编译的 Objective C 代码中。
至于您无法访问文件系统的问题,那应该不是问题。您遇到问题的原因可能是 URL 中的“../”。试着把它拿出来,这样它就只有 "config.json"。请记住,您使用的是单页应用程序,并且 javascript 在您所在页面的上下文中运行 (index.html)。
虽然我们正在做这件事,但为什么 JQuery?您可以使用 Angular 的 $http 模块完成同样的事情。
var serviceBase;
$http.get("config.json").success(function (data) {
serviceBase = data['serviceBase'];
});
我维护一组连接字符串(local、dev、stg、prod)并且更喜欢将其保存在一个位置以便仅更改一次。在开发和测试期间,我将这些放在 JSON 文件中,并使用 $.getJSON 获取相关的连接字符串。
var serviceBase;
$.getJSON("../config.json", function (data) {
serviceBase = data['serviceBase'];
});
这在本地机器上测试时工作正常,但在模拟器或设备上我收到一个错误,它找不到文件;我认为这是对 jQuery 的 getJSON 无法访问 iOS 文件系统的限制。
我暂时将连接字符串硬编码到我的javascript;但是如何以安全的方式将连接字符串存储在我的 Ionic/Cordova 应用程序中?
如果 "safe" 你的意思是安全,那你会很不开心。
无论您将它们存储在何处,始终可以访问它们...即使您将它们存储在编译的 Objective C 代码中。
至于您无法访问文件系统的问题,那应该不是问题。您遇到问题的原因可能是 URL 中的“../”。试着把它拿出来,这样它就只有 "config.json"。请记住,您使用的是单页应用程序,并且 javascript 在您所在页面的上下文中运行 (index.html)。
虽然我们正在做这件事,但为什么 JQuery?您可以使用 Angular 的 $http 模块完成同样的事情。
var serviceBase;
$http.get("config.json").success(function (data) {
serviceBase = data['serviceBase'];
});