diff --git a/Sources/Models/AppConfig.swift b/Sources/Models/AppConfig.swift index 278acb5..0f3c379 100644 --- a/Sources/Models/AppConfig.swift +++ b/Sources/Models/AppConfig.swift @@ -16,6 +16,7 @@ struct AppConfig: Codable, Equatable { var statusField: String = "Status" var assigneeField: String = "Assignee" var reporterField: String = "Reporter" + var customerField: String = "客户名称" var createdAtField: String = "Created At" var updatedAtField: String = "Updated At" diff --git a/Sources/Models/Bug.swift b/Sources/Models/Bug.swift index ca187ca..11ac118 100644 --- a/Sources/Models/Bug.swift +++ b/Sources/Models/Bug.swift @@ -7,6 +7,7 @@ struct Bug: Identifiable, Equatable, Hashable { let status: BugStatus let assignee: String let reporter: String? + let customer: String? let createdAt: Date let updatedAt: Date let feishuURL: URL diff --git a/Sources/Services/Feishu/FeishuModels.swift b/Sources/Services/Feishu/FeishuModels.swift index b7ea633..793dede 100644 --- a/Sources/Services/Feishu/FeishuModels.swift +++ b/Sources/Services/Feishu/FeishuModels.swift @@ -120,6 +120,7 @@ enum BugMapper { status: mapStatus(stringValue(in: fields, key: mappings.statusField), mappings: mappings), assignee: userName(in: fields, key: mappings.assigneeField) ?? "Unknown", reporter: userName(in: fields, key: mappings.reporterField), + customer: stringValue(in: fields, key: mappings.customerField), createdAt: FeishuDateParser.parse(rawValue(in: fields, key: mappings.createdAtField)) ?? .distantPast, updatedAt: FeishuDateParser.parse(rawValue(in: fields, key: mappings.updatedAtField)) ?? .distantPast, feishuURL: FeishuURLBuilder.recordURL( diff --git a/Sources/Views/MenuBar/BugRow.swift b/Sources/Views/MenuBar/BugRow.swift index 17306b7..3497369 100644 --- a/Sources/Views/MenuBar/BugRow.swift +++ b/Sources/Views/MenuBar/BugRow.swift @@ -29,6 +29,11 @@ struct BugRow: View { .font(.caption2) .foregroundStyle(.secondary) } + if let customer = bug.customer { + Text(customer) + .font(.caption2) + .foregroundStyle(.blue.opacity(0.8)) + } } } diff --git a/Sources/Views/Settings/SettingsView.swift b/Sources/Views/Settings/SettingsView.swift index 874d9b4..b279a1e 100644 --- a/Sources/Views/Settings/SettingsView.swift +++ b/Sources/Views/Settings/SettingsView.swift @@ -73,6 +73,7 @@ struct SettingsView: View { TextField("Status field", text: $config.fieldMappings.statusField) TextField("Assignee field", text: $config.fieldMappings.assigneeField) TextField("Reporter field", text: $config.fieldMappings.reporterField) + TextField("Customer field", text: $config.fieldMappings.customerField) TextField("Created At field", text: $config.fieldMappings.createdAtField) TextField("Updated At field", text: $config.fieldMappings.updatedAtField) }