我尝试通过与Facebook连接来创建用户服务。我尝试过LocalStorage插件,但是当内存不足时,iOS会删除文件并导致白屏。
所以,现在,我使用Cordova文件插件,我希望实现此用户服务来存储一些用户数据。
这是我的第一个应用程序,我的目标是iOS和Android,我的设备是iPhone 5s,iOS 8.3和我在MacOS中开发。
在Config.xml中,我已经这样做了:
<preference name="iosPersistentFileLocation" value="Library"/>
而且,我的用户服务是这样的:
myapp.service('UserService', function($cordovaFile) {
var setUser = function(user_data) {
$cordovaFile.writeFile(cordova.file.dataDirectory, "myapp_user", JSON.stringify(json), true)
}
var userIsLoggedIn = function() {
var user = getUser()
return user && user.authResponse && user.authResponse.userID != null;
}
var userIsNotLoggedIn = function() {
var user = getUser()
return user && user.authResponse && user.authResponse.userID == null;
}
var getUser = function() {
return $cordovaFile.readAsText("myapp_user");
}
return {
getUser: getUser,
setUser: setUser,
userIsLoggedIn: userIsLoggedIn,
userIsNotLoggedIn: userIsNotLoggedIn
}
})
在Facebook连接中,我这样做是为了恢复数据(它与LocalStorage合作,问题不在这里)
UserService.setUser({
authResponse: authResponse,
name: profileInfo.name,
user_id: profileInfo.id,
first_name: profileInfo.first_name,
picture: profileInfo.picture.data.url,
ionic_id: ionicUser.id
})
因此,登录Facebook的工作就像一个魅力,但当我想阅读JSON数据时,我无法做到! 我有一个白色屏幕和错误:UserID未定义!
你能帮我看一下JSON文件吗?
感谢您的帮助!