mirror of
https://github.com/wahyd4/libr-ios.git
synced 2026-08-09 05:06:46 +10:00
保存当前用户ID
This commit is contained in:
@@ -319,6 +319,7 @@
|
||||
<constraint firstItem="SIX-Qg-kL0" firstAttribute="leading" secondItem="yIh-xg-eKG" secondAttribute="leading" id="UPE-bI-ir4"/>
|
||||
<constraint firstItem="bPm-kp-unG" firstAttribute="leading" secondItem="rID-rz-Ikg" secondAttribute="leading" constant="15" id="WbN-st-6HW"/>
|
||||
<constraint firstItem="x2Y-ZI-8hQ" firstAttribute="leading" secondItem="zAW-lF-yk5" secondAttribute="trailing" constant="12" id="ZAr-BQ-eq9"/>
|
||||
<constraint firstItem="XGc-Dl-Wje" firstAttribute="top" secondItem="vXj-aq-evk" secondAttribute="bottom" constant="15" id="a7O-cr-fyT"/>
|
||||
<constraint firstItem="Pb5-rZ-PRn" firstAttribute="bottom" secondItem="bIG-eJ-I2C" secondAttribute="bottom" id="aJ0-p2-ni5"/>
|
||||
<constraint firstItem="x2Y-ZI-8hQ" firstAttribute="bottom" secondItem="bIG-eJ-I2C" secondAttribute="bottom" id="bEJ-rM-Uqg"/>
|
||||
<constraint firstItem="u7v-Eu-NfC" firstAttribute="top" secondItem="bPm-kp-unG" secondAttribute="top" id="bVH-tC-kn8"/>
|
||||
@@ -342,6 +343,7 @@
|
||||
<constraint firstItem="XGc-Dl-Wje" firstAttribute="top" secondItem="yIh-xg-eKG" secondAttribute="bottom" constant="8" id="pVq-Nw-oxo"/>
|
||||
<constraint firstItem="x2Y-ZI-8hQ" firstAttribute="leading" secondItem="zAW-lF-yk5" secondAttribute="trailing" constant="2" id="pwe-T5-7Dc"/>
|
||||
<constraint firstItem="dd1-LB-NAs" firstAttribute="bottom" secondItem="bIG-eJ-I2C" secondAttribute="bottom" id="qoE-qP-ZbA"/>
|
||||
<constraint firstItem="XGc-Dl-Wje" firstAttribute="top" secondItem="yIh-xg-eKG" secondAttribute="bottom" constant="13" id="rs2-wH-q7v"/>
|
||||
<constraint firstAttribute="trailing" secondItem="XGc-Dl-Wje" secondAttribute="trailing" constant="15" id="tRH-wd-dEt"/>
|
||||
<constraint firstItem="yIh-xg-eKG" firstAttribute="top" secondItem="rID-rz-Ikg" secondAttribute="top" id="tsa-ww-OpR"/>
|
||||
<constraint firstItem="yIh-xg-eKG" firstAttribute="top" secondItem="rID-rz-Ikg" secondAttribute="top" id="v4L-cf-1kL"/>
|
||||
@@ -354,6 +356,7 @@
|
||||
<exclude reference="QFx-AC-Ggk"/>
|
||||
<exclude reference="LBg-us-noG"/>
|
||||
<exclude reference="v4L-cf-1kL"/>
|
||||
<exclude reference="dU1-mX-4gK"/>
|
||||
<exclude reference="jUv-1R-Hm4"/>
|
||||
<exclude reference="pVq-Nw-oxo"/>
|
||||
<exclude reference="hy0-dm-MUW"/>
|
||||
|
||||
@@ -34,7 +34,6 @@ class ContainerViewController: UIPageViewController {
|
||||
}
|
||||
|
||||
let staticProfileTableViewController = self.storyboard?.instantiateViewControllerWithIdentifier("ProfileTableViewController") as! UITableViewController
|
||||
|
||||
return [myPostStoriesTableViewController, likeProfileTableViewController, faviroteProfileTableViewController, staticProfileTableViewController]
|
||||
|
||||
}()
|
||||
|
||||
@@ -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!
|
||||
|
||||
@@ -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..<json.count {
|
||||
@@ -211,7 +213,7 @@ struct LibrxService {
|
||||
|
||||
}
|
||||
|
||||
static func loginWithEmail(email: String, password: String, response: (token:String?) ->()) {
|
||||
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{
|
||||
|
||||
@@ -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)
|
||||
}
|
||||
|
||||
@@ -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"))
|
||||
|
||||
Reference in New Issue
Block a user