feat: 品牌化那拉提景区收款页
This commit is contained in:
@ -9,10 +9,40 @@ import Foundation
|
||||
struct RolePermissionResponse: Codable, Equatable, Sendable {
|
||||
let role: RoleInfo
|
||||
let scenic: [ScenicInfo]
|
||||
let store: [RolePermissionStoreInfo]
|
||||
|
||||
init(role: RoleInfo, scenic: [ScenicInfo] = []) {
|
||||
enum CodingKeys: String, CodingKey {
|
||||
case role
|
||||
case scenic
|
||||
case store
|
||||
}
|
||||
|
||||
init(
|
||||
role: RoleInfo,
|
||||
scenic: [ScenicInfo] = [],
|
||||
store: [RolePermissionStoreInfo] = []
|
||||
) {
|
||||
self.role = role
|
||||
self.scenic = scenic
|
||||
self.store = store
|
||||
}
|
||||
|
||||
init(from decoder: Decoder) throws {
|
||||
let container = try decoder.container(keyedBy: CodingKeys.self)
|
||||
role = try container.decode(RoleInfo.self, forKey: .role)
|
||||
scenic = try container.decodeIfPresent([ScenicInfo].self, forKey: .scenic) ?? []
|
||||
store = try container.decodeIfPresent([RolePermissionStoreInfo].self, forKey: .store) ?? []
|
||||
}
|
||||
}
|
||||
|
||||
/// 当前角色账号可使用的店铺摘要,来源于 `role-permission` 的 `store` 字段。
|
||||
struct RolePermissionStoreInfo: Codable, Equatable, Sendable {
|
||||
let id: Int
|
||||
let name: String
|
||||
|
||||
init(id: Int = 0, name: String = "") {
|
||||
self.id = id
|
||||
self.name = name
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user