feat: update app workflows and permissions

This commit is contained in:
2026-07-09 17:34:00 +08:00
parent 43e6133c21
commit 8e356973bd
44 changed files with 2944 additions and 307 deletions

View File

@ -10,10 +10,34 @@ enum MainScanTabItem {
/// TabBarItem `MainTabBarController`
static func makeTabBarItem() -> UITabBarItem {
let image = UIImage(named: "icon_scan")?.withRenderingMode(.alwaysOriginal)
let image = makeScanImage()
let item = UITabBarItem(title: nil, image: image, selectedImage: image)
item.accessibilityLabel = "扫码核销"
item.accessibilityIdentifier = "main.scan"
return item
}
private static func makeScanImage() -> UIImage {
let diameter: CGFloat = 48
let renderer = UIGraphicsImageRenderer(size: CGSize(width: diameter, height: diameter))
return renderer.image { _ in
let bounds = CGRect(origin: .zero, size: CGSize(width: diameter, height: diameter))
AppColor.primary.setFill()
UIBezierPath(ovalIn: bounds).fill()
let configuration = UIImage.SymbolConfiguration(pointSize: 25, weight: .semibold)
guard let symbol = UIImage(systemName: "qrcode.viewfinder", withConfiguration: configuration) else {
return
}
let image = symbol.withTintColor(.white, renderingMode: .alwaysOriginal)
let symbolSize = CGSize(width: 28, height: 28)
let symbolRect = CGRect(
x: (diameter - symbolSize.width) / 2,
y: (diameter - symbolSize.height) / 2,
width: symbolSize.width,
height: symbolSize.height
)
image.draw(in: symbolRect)
}.withRenderingMode(.alwaysOriginal)
}
}