diff --git a/librx/Base.lproj/Main.storyboard b/librx/Base.lproj/Main.storyboard
index 51c6444..9cdae47 100644
--- a/librx/Base.lproj/Main.storyboard
+++ b/librx/Base.lproj/Main.storyboard
@@ -319,6 +319,7 @@
+
@@ -342,6 +343,7 @@
+
@@ -354,6 +356,7 @@
+
diff --git a/librx/ContainerViewController.swift b/librx/ContainerViewController.swift
index 3822f21..9600d76 100644
--- a/librx/ContainerViewController.swift
+++ b/librx/ContainerViewController.swift
@@ -34,7 +34,6 @@ class ContainerViewController: UIPageViewController {
}
let staticProfileTableViewController = self.storyboard?.instantiateViewControllerWithIdentifier("ProfileTableViewController") as! UITableViewController
-
return [myPostStoriesTableViewController, likeProfileTableViewController, faviroteProfileTableViewController, staticProfileTableViewController]
}()
diff --git a/librx/JsonPaser.swift b/librx/JsonPaser.swift
index 93a8525..d69dfac 100644
--- a/librx/JsonPaser.swift
+++ b/librx/JsonPaser.swift
@@ -14,7 +14,7 @@ struct JsonPaser{
private static let defaultThumail = "http://7pn5d3.com1.z0.glb.clouddn.com/9050353.png"
static func parseProfile(json: JSON) -> Profile {
-
+
print(json)
let id: Int = json["id"].int!
diff --git a/librx/LibrxService.swift b/librx/LibrxService.swift
index 6a2fa6a..e488297 100644
--- a/librx/LibrxService.swift
+++ b/librx/LibrxService.swift
@@ -76,7 +76,7 @@ struct LibrxService {
case .User(let userId): return "/api/v1/users/\(userId)"
case .UserPosts(let userId): return "/api/v1/users/\(userId)/posts"
case .UserLikedPosts(let userId): return "/api/v1/users/\(userId)/posts/liked"
- case .UserBookMarkPosts(let userId): return "api/v1/users/\(userId)/posts/bookmarked"
+ case .UserBookMarkPosts(let userId): return "/api/v1/users/\(userId)/posts/bookmarked"
default: return ""
}
@@ -137,6 +137,8 @@ struct LibrxService {
let urlString = baseURL + ResourcePath.UserBookMarkPosts(userId: userId).description
let headers: [String:String] = buildHttpRequestHeader()
+
+ print(urlString)
loadPostsByUrl(urlString, headers: headers, response: response)
}
@@ -193,11 +195,11 @@ struct LibrxService {
static func loadPostsByUrl(urlString: String, headers:[String:String], response: ([Post]) ->()) {
+ print(urlString)
Alamofire.request(.GET, urlString, headers: headers)
.response{ (request, res, data, error) in
let json = JSON(data: data!)
-
var posts:[Post] = []
for index in 0..()) {
+ static func loginWithEmail(email: String, password: String, response: (user:User?) ->()) {
let urlString = baseURL + ResourcePath.SignIn.description
let parameters = [
@@ -225,12 +227,20 @@ struct LibrxService {
let data = JSON(data: json!)
let jwt = data["user"]["token"].stringValue
+ let name = data["user"]["name"].stringValue
+ let email = data["user"]["email"].stringValue
+ let id = data["user"]["id"].intValue
+
+
do {
+
let payload = try JWT.decode(jwt, algorithm: .HS256(email))
let token: String = payload["token"]! as! String
- response(token: token)
+ let user = User(id: id, name: name, email: email, token: token)
+
+ response(user: user)
} catch{
- response(token: nil)
+ response(user: nil)
}
}
@@ -307,7 +317,6 @@ struct LibrxService {
static func profile(userId: Int, response: (Profile) -> ()) {
-
let urlString = baseURL + ResourcePath.User(userId: userId).description
Alamofire.request(.GET, urlString).response{
diff --git a/librx/LocalStore.swift b/librx/LocalStore.swift
index 8d4d174..271bb47 100644
--- a/librx/LocalStore.swift
+++ b/librx/LocalStore.swift
@@ -11,6 +11,7 @@ import UIKit
struct LocalStore {
private static let accessTokenKey = "accessTokenKey"
+ private static let accessUserKey = "accessUserId"
private static let userDefaults = NSUserDefaults.standardUserDefaults()
static func setAccessToken(token: String) {
@@ -18,11 +19,20 @@ struct LocalStore {
userDefaults.synchronize()
}
+ static func setAccessUserId(id: Int) {
+ userDefaults.setObject(id, forKey: accessUserKey)
+ userDefaults.synchronize()
+ }
+
private static func deleteAccessToken() {
userDefaults.removeObjectForKey(accessTokenKey)
userDefaults.synchronize()
}
+ static func accessUserId() -> Int? {
+ return userDefaults.integerForKey(accessUserKey)
+ }
+
static func accessToken() -> String? {
return userDefaults.stringForKey(accessTokenKey)
}
diff --git a/librx/LoginViewController.swift b/librx/LoginViewController.swift
index 7e8f000..66b01d7 100644
--- a/librx/LoginViewController.swift
+++ b/librx/LoginViewController.swift
@@ -79,11 +79,11 @@ class LoginViewController: UIViewController {
let email = emailTextField.text
let password = passwordTextField.text
- LibrxService.loginWithEmail(email!, password: password!) { (token) -> () in
+ LibrxService.loginWithEmail(email!, password: password!) { (user) -> () in
- if let token = token {
+ if let _user = user {
self.delegate?.loginViewControllerDidLogin(self)
- LocalStore.setAccessToken(token)
+ LocalStore.setAccessToken(_user.token)
self.dismissViewControllerAnimated(true, completion: nil)
}else {
self.alert(NSLocalizedString("username or password error", comment: "for login error"))