新增线下收款记录和 ai 修图优化

This commit is contained in:
han xin
2026-08-21 15:51:52 +08:00
parent 6fe9928b49
commit 5cf4409bad
40 changed files with 5482 additions and 56 deletions
+30 -1
View File
@@ -19,8 +19,13 @@ class SceneDelegate: UIResponder, UIWindowSceneDelegate {
AppNavigationBarAppearance.applyGlobalAppearance()
let debugPreviewRoot = makeAccountDeletionDebugPreviewRootIfNeeded()
if debugPreviewRoot == nil {
enforceAccountDeletionStateBeforeLaunch()
}
let window = UIWindow(windowScene: windowScene)
window.rootViewController = AppRouter.makeRootViewController()
window.rootViewController = debugPreviewRoot ?? AppRouter.makeRootViewController()
window.makeKeyAndVisible()
self.window = window
(UIApplication.shared.delegate as? AppDelegate)?.window = window
@@ -86,6 +91,30 @@ class SceneDelegate: UIResponder, UIWindowSceneDelegate {
)
}
/// 为设计核对提供仅 Debug 生效的注销页直达入口,不影响正式启动流程。
private func makeAccountDeletionDebugPreviewRootIfNeeded() -> UIViewController? {
#if DEBUG
guard ProcessInfo.processInfo.arguments.contains("--account-deletion-preview") else { return nil }
let service = AccountDeletionMockService(responseDelayNanoseconds: 0)
let viewModel = AccountDeletionViewModel(username: "18651857230", service: service)
return UINavigationController(rootViewController: AccountDeletionViewController(viewModel: viewModel))
#else
return nil
#endif
}
/// App 冷启动时若账号已进入注销冷静期,则清除旧登录态并返回登录页。
private func enforceAccountDeletionStateBeforeLaunch() {
guard AppStore.shared.session.isLoggedIn,
let username = AccountDeletionIdentity.currentUsername() else { return }
switch AccountDeletionMockService.shared.loginState(for: username) {
case .pending, .completed:
AppStore.shared.logout()
case .none:
break
}
}
@objc private func handleSessionDidExpire() {
guard AppStore.shared.session.isLoggedIn else { return }
guard sessionExpiredDialog == nil else { return }