import Foundation
struct CookieUtil {
private static let cookieName = "login_token"
private static var baseUrl: URL { NetworkApi.activeBaseURL }
// 删除
static func removeToken(){
let cookieStorage = HTTPCookieStorage.shared
guard let cookies = cookieStorage.cookies(for: baseUrl) else { return }
for cookies: HTTPCookie in cookies {
cookieStorage.deleteCookie(cookies)
}
}
// 获取, 可以保存到 userdefault 中
static func getToken() -> String {
guard let cookies = HTTPCookieStorage.shared.cookies(for: baseUrl) else { return "" }
let token = cookies.first(where: { $0.name == cookieName }).map{ $0.value }
return token ?? ""
}
// 设置
static func setToken(token: String){
var properties = [HTTPCookiePropertyKey : Any]()
properties[HTTPCookiePropertyKey.domain] = baseUrl
properties[HTTPCookiePropertyKey.name] = cookieName
properties[HTTPCookiePropertyKey.value] = token
properties[HTTPCookiePropertyKey.expires] = Date().addingTimeInterval(3600*24*30)
guard let cookie = HTTPCookie(properties: properties) else { return }
HTTPCookieStorage.shared.setCookie(cookie)
}
}
[Swift] Cookie 使用
©著作权归作者所有,转载或内容合作请联系作者
- 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
- 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
- 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
推荐阅读更多精彩内容
- 问题描述 Azure应用程序网关设置 set_Cookie=key=value; SameSite=Strict;...
- 最近在研究express,学着使用cookie,开始不会用,就百度了一下,没有百度到特别完整的解答。查阅了expr...
- 参考地址://www.greatytc.com/p/c93fc8c42311 安装 引入 使用 1、设置...
- 什么是cookie: 在网站中,http请求是无状态的。也就是说即使第一次和服务器连接后并且登录成功后,第二次请求...
- 一、新建项目 rails new app --skip-bundle 完成后修改Gemfile文件:vim Gem...