0
我在應用程序中使用JSONStore來存儲一些敏感數據。要加密收藏,我們正在傳遞帶有用戶名和密碼的選項,如下所述。在android到目前爲止它的工作正常,但在ios設備中,我們正在從集合中檢索數據時獲得空白頁(在模擬器中正常工作)。我也沒有得到任何錯誤。沒有在iOS中傳遞選項,它的工作正常。有人遇到過類似的問題嗎?Worklight JSON商店加密集合在ios中不工作
factory('todoJsonStorage',['$q', function ($q) {
'use strict';
var COLLECTION_NAME = 'Users';
var collections = {
Users: {
searchFields: {UserId: 'string', password: 'string'}
},
};
var options = {};
//Optional username
options.username = 'testuser';
//Optional password
options.password = 'test123';
//Optional local key generation flag
options.localKeyGen = true;
var inited = false;
//checks if inited and if not inits
function initJSONStore(){
var initDeferred = $q.defer();
if (inited){
initDeferred.resolve();
} else {
//Initialize the collection
WL.JSONStore.init(collections,options).then(function() {
console.log("-> JSONStore init successful");
initDeferred.resolve();
}).fail(function (errorObject) {
console.log("-> JSONStore error: " + errorObject.msg);
});
return initDeferred.promise;
};
}
return {
get: function() {
var deferred = $q.defer();
initJSONStore().then(function(){
WL.JSONStore.get(COLLECTION_NAME).findAll().then(function (res) {
if (res.length > 0){
deferred.resolve(JSON.parse(res[0].json.data || '[]'));
} else {
deferred.resolve(res);
}
}).fail(function (errorObject) {
console.log("JSONStore findbyid error: " + errorObject.msg);
});
});
return deferred.promise;
},
put: function (todos) {
WL.JSONStore.get(COLLECTION_NAME).clear();
WL.JSONStore.get(COLLECTION_NAME).add({data:JSON.stringify(todos)});
}
};
}])
謝謝阿達爾。但是我們測試了ios版本小於10,即使我在檢索json商店時也得到空白頁面。 – Abinaya
嗨伊丹,我們正在使用IBM 7.1.0.00-20151023-1441版本,同時在ios中傳遞密碼選項,我們得到以下錯誤,獲取方法調用(控制檯通過logger.js,行175) [日誌] get method called(console-via-logger.js,line 175) [日誌] - > JSONStore init成功(console-via-logger.js,第175行) [日誌] - > JSONStore錯誤:PROVISION_TABLE_SEARCH_FIELDS_MISMATCH控制檯通過-logger.js,線175) [登錄] JSONStore findbyid錯誤:PERSISTENT_STORE_NOT_OPEN(控制檯通過-logger.js,線175) 請幫助 – Abinaya
請隨意打開一個PMR使O支持可能幫你。 –