移除 ScenicPromotion 宣传页模块,并隐藏首页 promotion_page 入口。
删除 Mock 模块、图片资源与路由;从常用菜单白名单剔除该权限,后端仍下发时客户端静默忽略。 Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
@ -64,4 +64,4 @@ Home 模块负责登录后的首页工作台,包括当前景区展示、工作
|
||||
|
||||
`report_photographer` 已由 `Features/WildPhotographerReport` 接管。
|
||||
|
||||
`promotion_page` 已由 `Features/ScenicPromotion` 接管。
|
||||
`promotion_page`(宣传页)已从 iOS 移除;该 URI 列入 `HomeCommonMenuStore.hiddenHomeMenuURIs`,首页与全部功能页均不展示。
|
||||
|
||||
@ -68,7 +68,6 @@ enum HomeRoute: Hashable {
|
||||
case travelAlbumEntry
|
||||
case operatingArea
|
||||
case pilotCertification
|
||||
case scenicPromotion
|
||||
case modulePlaceholder(uri: String, title: String)
|
||||
}
|
||||
|
||||
|
||||
@ -47,7 +47,6 @@ enum HomeMenuRouter {
|
||||
"project_edit": "项目管理",
|
||||
"location_report": "位置上报",
|
||||
"report_photographer": "举报摄影师",
|
||||
"promotion_page": "宣传页",
|
||||
"registration_invitation": "注册邀请",
|
||||
"store": "店铺管理",
|
||||
"fly": "飞行管理",
|
||||
@ -135,8 +134,6 @@ enum HomeMenuRouter {
|
||||
return .destination(.locationReportHistory)
|
||||
case "report_photographer":
|
||||
return .destination(.photographerReport)
|
||||
case "promotion_page":
|
||||
return .destination(.scenicPromotion)
|
||||
case "deposit_order_detail", "deposit_order", "deposit_order_shooting_info":
|
||||
return .destination(.depositOrders)
|
||||
case "withdrawal_audit":
|
||||
@ -223,7 +220,6 @@ enum HomeMenuRouter {
|
||||
"project_edit",
|
||||
"location_report",
|
||||
"report_photographer",
|
||||
"promotion_page",
|
||||
"registration_invitation",
|
||||
"photographer_invite",
|
||||
"invite_record",
|
||||
@ -304,8 +300,6 @@ enum HomeMenuRouter {
|
||||
return "位置上报"
|
||||
case "report_photographer":
|
||||
return "举报摄影师"
|
||||
case "promotion_page":
|
||||
return "宣传页"
|
||||
case "pm", "project_edit":
|
||||
return "项目管理"
|
||||
case "pm_manager":
|
||||
|
||||
@ -31,7 +31,6 @@ struct HomeCommonMenuStore {
|
||||
"pm",
|
||||
"location_report",
|
||||
"report_photographer",
|
||||
"promotion_page",
|
||||
"registration_invitation",
|
||||
"store",
|
||||
"fly",
|
||||
@ -45,6 +44,11 @@ struct HomeCommonMenuStore {
|
||||
"cooperation_order"
|
||||
]
|
||||
|
||||
/// 已从 iOS 移除的首页菜单 URI,即使后端仍下发权限也不展示。
|
||||
static let hiddenHomeMenuURIs: Set<String> = [
|
||||
"promotion_page"
|
||||
]
|
||||
|
||||
private let defaults: UserDefaults
|
||||
|
||||
/// 初始化常用应用存储服务,并允许测试注入独立 UserDefaults。
|
||||
@ -129,9 +133,11 @@ struct HomeCommonMenuStore {
|
||||
|
||||
let finalCommon: [String]
|
||||
if !saved.isEmpty {
|
||||
finalCommon = saved.filter { availableTopLevelSet.contains($0) }
|
||||
finalCommon = saved
|
||||
.filter { availableTopLevelSet.contains($0) }
|
||||
.filter { !Self.hiddenHomeMenuURIs.contains($0) }
|
||||
} else {
|
||||
finalCommon = defaultCommon
|
||||
finalCommon = defaultCommon.filter { !Self.hiddenHomeMenuURIs.contains($0) }
|
||||
save(finalCommon, roleCode: roleCode, accountScope: accountScope)
|
||||
}
|
||||
|
||||
@ -216,6 +222,6 @@ struct HomeCommonMenuStore {
|
||||
|
||||
/// 判断 URI 是否属于 Android 首页菜单白名单。
|
||||
private static func isAndroidHomeMenuURI(_ uri: String) -> Bool {
|
||||
androidHomeMenuURIs.contains(uri)
|
||||
androidHomeMenuURIs.contains(uri) && !hiddenHomeMenuURIs.contains(uri)
|
||||
}
|
||||
}
|
||||
|
||||
@ -80,6 +80,7 @@ final class HomeViewModel: ObservableObject {
|
||||
var seen = Set<String>()
|
||||
var deduplicated: [PermissionItem] = []
|
||||
for item in permissionItems where !item.uri.trimmingCharacters(in: .whitespacesAndNewlines).isEmpty {
|
||||
guard !HomeCommonMenuStore.hiddenHomeMenuURIs.contains(item.uri) else { continue }
|
||||
if seen.insert(HomeMenuRouter.menuAliasKey(for: item.uri)).inserted {
|
||||
deduplicated.append(item)
|
||||
}
|
||||
|
||||
@ -56,8 +56,6 @@ enum HomeIconCatalog {
|
||||
"mappin.circle.fill"
|
||||
case "report_photographer":
|
||||
"shield.fill"
|
||||
case "promotion_page":
|
||||
"rectangle.on.rectangle.angled"
|
||||
case "registration_invitation", "photographer_invite":
|
||||
"envelope.open.fill"
|
||||
case "store":
|
||||
|
||||
@ -112,8 +112,6 @@ extension HomeRoute {
|
||||
OperatingAreaView()
|
||||
case .pilotCertification:
|
||||
PilotCertificationView()
|
||||
case .scenicPromotion:
|
||||
ScenicPromotionView()
|
||||
case let .modulePlaceholder(uri, title):
|
||||
HomeMigrationModuleView(title: title, uri: uri)
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user