FlutterStorage.swift
1.99 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
//
// FlutterStorage.swift
// Runner
//
// Created by 权海 on 2026/6/17.
//
import Foundation
private let kFlutterStorageKey = "flutter.double_feel_user_preferences_json"
class FlutterStorage{
static func userSummary() -> FlutterUserSummary?{
guard let json = UserDefaults.standard.object(forKey: kFlutterStorageKey) else{
return nil
}
do{
let data = try JSONSerialization.data(withJSONObject: json)
let model = try JSONDecoder().decode(FlutterUserSummary.self, from: data)
return model
}catch{
return nil
}
}
}
struct FlutterUserSummary: Codable{
var meUserInfo: FlutterUserInfo?
var partnerUserInfo: FlutterUserInfo?
var accessToken: String?
var rongcloudToken: String?
var vipInfo: FlutterVipInfo?
enum CodingKeys: String, CodingKey {
case meUserInfo = "me_user_info"
case partnerUserInfo = "partner_user_info"
case accessToken = "access_token"
case rongcloudToken = "rongcloud_token"
case vipInfo = "vip_info"
}
}
struct FlutterVipInfo: Codable{
var isVip: Bool?
var isForeverVip: Bool?
var isShare: Bool?
var vipStartDate: Int?
var vipEndDate: Int?
enum CodingKeys: String, CodingKey {
case isVip = "is_vip"
case isForeverVip = "is_forever_vip"
case isShare = "is_share"
case vipStartDate = "vip_start_date"
case vipEndDate = "vip_end_date"
}
}
struct FlutterUserInfo: Codable{
var id: Int?
var pairId: Int?
var pairCode: String?
var nickname: String?
var avatar: String?
var telephone: String?
var persona: Int?
var isBot: Int?
enum CodingKeys: String, CodingKey {
case id
case pairId = "pair_id"
case pairCode = "pair_code"
case nickname
case avatar
case telephone
case persona
case isBot = "is_bot"
}
}