Align iOS home common apps and all-functions page with Android.

Add unified HomeCommonMenu/HomeAllFunctions diagnostics, rebuild all-functions from top-level menuList permissions, and document Home and AllFunctions module logic.

Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
2026-06-30 09:40:02 +08:00
parent 63fb0462d6
commit 5692134efc
11 changed files with 693 additions and 138 deletions

View File

@ -74,13 +74,17 @@ final class PermissionContext: ObservableObject {
/// URI API
func topLevelPermissionURIs(for roleCode: String?) -> [String] {
topLevelPermissions(for: roleCode).map(\.uri)
}
/// API
func topLevelPermissions(for roleCode: String?) -> [PermissionItem] {
guard let roleCode,
let rolePermission = matchedRolePermission(roleCode: roleCode) else {
return []
}
return rolePermission.role.permission.compactMap { item in
let uri = item.uri.trimmingCharacters(in: .whitespacesAndNewlines)
return uri.isEmpty ? nil : uri
return rolePermission.role.permission.filter { item in
!item.uri.trimmingCharacters(in: .whitespacesAndNewlines).isEmpty
}
}