Cordova文件插件和Angular - 读取JSON

时间:2016-01-24 19:13:58

标签: angularjs json cordova ionic-framework

我尝试通过与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文件吗?

感谢您的帮助!

0 个答案:

没有答案