完善首页权限申请流程与队列播报体验。

对齐 Android 无权限强制弹窗、角色下拉与申请页交互,补充 UIButton configuration 适配,并增强景区排队 TTS 与相关单元测试。

Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
2026-07-14 13:46:45 +08:00
parent c083f1d4b3
commit efb3925257
50 changed files with 2585 additions and 455 deletions

View File

@ -81,6 +81,7 @@ final class DateRangePickerViewController: UIViewController {
StatisticsRangeShortcut.allCases.forEach { shortcut in
let button = StatisticsPeriodButton()
button.cornerStyle = .fixed(10)
button.periodTitle = shortcut.rawValue
button.isSelected = shortcut.rawValue == selectedShortcut
button.addTarget(self, action: #selector(shortcutTapped(_:)), for: .touchUpInside)
@ -130,6 +131,7 @@ final class DateRangePickerViewController: UIViewController {
shortcutStack.snp.makeConstraints { make in
make.top.equalTo(view.safeAreaLayoutGuide).offset(12)
make.leading.trailing.equalToSuperview().inset(16)
make.height.equalTo(36)
}
monthRow.snp.makeConstraints { make in
make.top.equalTo(shortcutStack.snp.bottom).offset(12)

View File

@ -0,0 +1,17 @@
//
// UIButton+Configuration.swift
// suixinkan
//
import UIKit
/// `UIButton` configuration
extension UIButton {
/// configuration
func setConfigurationContentInsets(_ contentInsets: NSDirectionalEdgeInsets) {
var updatedConfiguration = configuration ?? .plain()
updatedConfiguration.contentInsets = contentInsets
configuration = updatedConfiguration
}
}