|
@@ -49,7 +49,7 @@ struct UserInfo: Decodable {
|
|
var xydLink: String
|
|
var xydLink: String
|
|
var serviceLink: String
|
|
var serviceLink: String
|
|
var studyLink: String
|
|
var studyLink: String
|
|
- var tableData: [PurpleDatum]
|
|
|
|
|
|
+ var tableData: [[PurpleDatum]]
|
|
init() {
|
|
init() {
|
|
name = "-"
|
|
name = "-"
|
|
oid = "-"
|
|
oid = "-"
|
|
@@ -163,7 +163,7 @@ struct Welcome: Codable {
|
|
|
|
|
|
struct Block: Codable {
|
|
struct Block: Codable {
|
|
let ownObjID, type: String
|
|
let ownObjID, type: String
|
|
- let name: Name
|
|
|
|
|
|
+ let name: String
|
|
let data: [BlockDatum]
|
|
let data: [BlockDatum]
|
|
let weekMetas: JSONNull?
|
|
let weekMetas: JSONNull?
|
|
|
|
|
|
@@ -192,13 +192,13 @@ struct PurpleDatum: Codable {
|
|
|
|
|
|
struct FluffyDatum: Codable {
|
|
struct FluffyDatum: Codable {
|
|
let timetableID: JSONNull?
|
|
let timetableID: JSONNull?
|
|
- let className: Name
|
|
|
|
- let classID: ClassID
|
|
|
|
|
|
+ let className: String
|
|
|
|
+ let classID: String
|
|
let courseName: String
|
|
let courseName: String
|
|
let courseID, courseType: Int
|
|
let courseID, courseType: Int
|
|
let placeID: JSONNull?
|
|
let placeID: JSONNull?
|
|
- let placeName: PlaceName
|
|
|
|
- let placeSn: PlaceSn
|
|
|
|
|
|
+ let placeName: String
|
|
|
|
+ let placeSn: String
|
|
let teacher: [Teacher]
|
|
let teacher: [Teacher]
|
|
let room: JSONNull?
|
|
let room: JSONNull?
|
|
let start, end: String
|
|
let start, end: String
|
|
@@ -216,30 +216,6 @@ struct FluffyDatum: Codable {
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
|
|
-enum ClassID: String, Codable {
|
|
|
|
- case ac342897 = "AC_342897"
|
|
|
|
- case tac8109 = "TAC_8109"
|
|
|
|
- case tac8123 = "TAC_8123"
|
|
|
|
-}
|
|
|
|
-
|
|
|
|
-enum Name: String, Codable {
|
|
|
|
- case 高一数学P1班 = "高一数学[P]1班"
|
|
|
|
- case 高一物理A5班 = "高一物理[A]5班"
|
|
|
|
- case 高中2025届11班
|
|
|
|
-}
|
|
|
|
-
|
|
|
|
-enum PlaceName: String, Codable {
|
|
|
|
- case 信毅楼408 = "信毅楼4-08"
|
|
|
|
- case 信毅楼412 = "信毅楼4-12"
|
|
|
|
- case 本班教室
|
|
|
|
-}
|
|
|
|
-
|
|
|
|
-enum PlaceSn: String, Codable {
|
|
|
|
- case bxXy408 = " BX-XY-408 "
|
|
|
|
- case bxXy410 = " BX-XY-410 "
|
|
|
|
- case empty = ""
|
|
|
|
-}
|
|
|
|
-
|
|
|
|
// MARK: - Teacher
|
|
// MARK: - Teacher
|
|
|
|
|
|
struct Teacher: Codable {
|
|
struct Teacher: Codable {
|
|
@@ -360,7 +336,22 @@ func getUserInfo(userInfoIn: UserInfo, action: @escaping (_: UserInfo) -> Void)
|
|
let table = try! JSONSerialization.jsonObject(with: data!) as? [String: Any]
|
|
let table = try! JSONSerialization.jsonObject(with: data!) as? [String: Any]
|
|
let decoder = JSONDecoder()
|
|
let decoder = JSONDecoder()
|
|
let kkd = try decoder.decode(Welcome.self, from: data!)
|
|
let kkd = try decoder.decode(Welcome.self, from: data!)
|
|
- userInfo.tableData = kkd.blocks.first?.data.first?.data ?? []
|
|
|
|
|
|
+ let pp = kkd.blocks.first?.data.first?.data ?? []
|
|
|
|
+ var ret: [[PurpleDatum]] = [], mx: Int = 0
|
|
|
|
+ for i in 0 ..< pp.count {
|
|
|
|
+ print(pp[i])
|
|
|
|
+ mx = max(mx, pp[i].lesson)
|
|
|
|
+ }
|
|
|
|
+ for i in 0 ... mx {
|
|
|
|
+ ret.append([])
|
|
|
|
+ for j in 0 ... 5 {
|
|
|
|
+ ret[i].append(PurpleDatum(day: 0, lesson: 0, data: []))
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+ for i in 0 ..< pp.count {
|
|
|
|
+ ret[pp[i].lesson][pp[i].day] = pp[i]
|
|
|
|
+ }
|
|
|
|
+ userInfo.tableData = ret
|
|
} catch {
|
|
} catch {
|
|
print(error)
|
|
print(error)
|
|
}
|
|
}
|