Files
suixinkan_ios_new/功能同步Checklist.md
汉秋 abcac9bfdf 新增打卡点与位置上报模块,并接入首页路由
将打卡点管理与位置上报从占位页迁移为完整 MVVM 流程,包含前台定位支持与单元测试。

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-06-24 11:08:41 +08:00

12 KiB
Raw Blame History

功能同步 Checklist

更新时间2026-06-24

状态说明

  • 完成UI、核心功能、文档和必要单元测试已同步并通过编译验证。
  • 部分完成:已有入口、壳、路由或部分主流程,但旧工程完整业务尚未迁移。
  • 未开始new 工程尚无对应真实业务页面或服务。
  • 不迁移:已明确不纳入 iOS 迁移范围。

基础架构

状态 模块 同步内容 剩余事项
完成 App 根结构 RootView 按登录态切换登录页/主 Tab主界面使用 TabView,每个 Tab 独立 NavigationStack 持续随业务路由扩展。
完成 Tab 导航 首页、订单、数据、我的四个 Tabpush 子页面时隐藏 TabBar。 后续新增真实子页面时继续复用 AppRoute
完成 全局状态拆分 AppSessionAccountContextPermissionContextScenicSpotContextAppRouterToastCenter 拆分。 继续避免新增大而全全局状态。
完成 登录态缓存 token 使用 Keychain账号快照、上次手机号、偏好使用 UserDefaults冷启动恢复登录态。 后续业务缓存按账号和景区/门店作用域隔离。
完成 网络框架 APIClientAPIRequestAPIEnvelope、统一错误处理和 token 注入。 业务 API 继续按模块拆分。
完成 OSS 上传 UploadAPIOSSUploadService、上传策略、头像、实名图片、任务附件、云盘文件、相册文件、素材/样片文件上传处理。 后续新上传场景继续复用。
完成 网络图片 新增 RemoteImage / RemoteAvatarImage,当前网络图片展示均使用 Kingfisher。 后续新页面禁止直接使用 AsyncImage 加载网络图片。
完成 设计常量 AppDesignAppMetrics 统一颜色、字号、间距等通用尺寸。 继续替换新页面中的零散常量。
完成 文档规范 已有 AGENTS.md 约束;现有模块均有模块说明文档。 后续每个新功能模块同步新增模块 md。

登录与账号上下文

状态 模块 同步内容 剩余事项
完成 登录页 登录 UI、手机号/密码登录、协议勾选、上次手机号恢复。 后续如有验证码登录再迁移。
完成 多账号选择 登录后多账号选择、临时 token 内存保存、选择后写正式 token。 继续跟随后端账号结构变化维护。
完成 账号上下文 用户信息、角色权限、景区列表、门店列表、当前景区/门店选择和恢复。 后续业务模块按当前上下文取数。
完成 景点/打卡点上下文 当前景区下景点/打卡点懒加载,失败不影响登录态。 打卡点管理页面已接入,后续可继续增强地图交互。
完成 权限菜单数据 递归解析角色权限、URI 去重、按旧工程顺序排序。 新 URI 出现时补路由映射或标记不支持。

首页

状态 模块 同步内容 剩余事项
完成 首页主 UI 顶部景区、工作状态、位置上报卡、快捷操作、门店卡、常用应用网格。 视觉可随旧工程细节继续微调。
完成 首页权限菜单 PermissionContext 构建菜单,支持 URI 别名去重和旧工程排序。 未知 URI 继续通过诊断报告跟踪。
完成 常用应用 默认常用应用、添加/移除、UserDefaults 持久化、按权限过滤。 后续可加入拖拽排序。
完成 更多功能 全部功能页、常用应用增删、首页入口跳转。 未迁移功能仍进入占位页。
完成 首页路由壳 已迁移入口跳真实页面;订单/数据入口切换 Tab未知入口安全占位。 按模块逐步替换占位页。
完成 景区选择入口 旧工程同款景区选择页、搜索、定位距离、景区卡片、封面、地址、营业状态、切换景区并持久化。 后续如有景区选择视觉细节变化再微调。
完成 权限申请入口 permission_applypermission_apply_statusscenicapplication 已接真实页面。 景区结算仍按独立模块后续迁移。

订单 Tab

状态 模块 同步内容 剩余事项
完成 订单 Tab 根页面 订单管理/核销订单分段入口。 后续继续补长尾订单流程。
完成 订单管理列表 景区上下文校验、状态筛选、手机号搜索、日期筛选、分页、刷新。 无。
完成 核销订单列表 核销列表、分页、刷新、手动输入订单号核销。 无。
完成 扫码核销 AVFoundation 扫码、订单号解析、命中高亮、二次确认后核销。 后续可继续补扫码 UI 细节。
完成 订单详情 订单管理详情、核销订单详情、详情接口和列表摘要兜底。 退款、历史拍摄、任务上传、视频预告等长尾流程仍未迁移。
未开始 退款流程 暂未迁移。 需要同步旧工程退款 UI、接口和状态流。
未开始 历史拍摄 暂未迁移。 需要同步旧工程相关页面和接口。

数据 Tab

状态 模块 同步内容 剩余事项
完成 数据看板 今日、昨日、7 日、本月时间段切换;统计汇总卡;每日明细。 后续按旧工程继续补图表细节。
完成 数据分页 日数据分页加载、切换时间段重置分页、加载失败保留当前数据。 持续跟随后端字段变化。
完成 角色接口分流 摄影师/景区管理员两套统计接口。 其他角色如有特殊逻辑再补。

个人中心

状态 模块 同步内容 剩余事项
完成 个人信息首页 头像、昵称、UID、姓名、手机号、账号状态、当前景区、退出登录。 后续可继续细化旧工程视觉。
完成 头像上传 PhotosPicker 选图、压缩、OSS 上传、回写头像 URL、刷新账号快照。 后续可补裁剪体验。
完成 昵称编辑 昵称校验、保存、同步 AccountContext 无。
完成 修改密码 密码弹窗、最小长度校验、接口提交。 无。
完成 账号切换 可切换账号列表、默认选中、set-user、刷新登录上下文。 无。
完成 实名认证 信息加载、短信验证码、身份证校验、证件图片选择、OSS 上传、提交审核。 后续可补示例图或拍照入口。
完成 系统设置 关于我们、版本号、下载链接、协议入口。 若旧工程有更多设置项需继续核对。
完成 协议页 关于我们、用户协议、隐私政策、钱包协议页面。 无。

首页子业务模块

状态 模块 当前情况 后续事项
完成 钱包 钱包首页、收益明细、提现记录、提现资格校验、提现申请、银行卡设置、积分兑换。 withdrawal_audit 提现审核仍按独立管理模块后续迁移。
部分完成 提现审核 首页入口已识别,进入占位页。 迁移审核列表、详情、操作接口。
部分完成 消息中心 首页入口已识别,进入占位页。 迁移消息列表、已读状态和详情。
部分完成 排队管理 /scenic-queue / queue_management 已识别,进入占位页。 迁移队列列表、叫号、设置等流程。
完成 立即收款/收款码 收款码、设置金额、动态二维码、保存二维码、收款记录、到账轮询、语音提醒。 后续可按业务继续优化收款反馈细节。
部分完成 押金订单 入口已识别,进入占位页。 迁移押金订单详情和拍摄信息。
完成 任务管理 任务列表、筛选、分页、任务详情、发布任务入口。 旧工程里订单/核销订单拼成待办任务的逻辑本轮未迁移,订单仍归订单 Tab 管理。
完成 发布任务 发布表单、选择订单、选择云盘文件、本地图片/视频 OSS 上传、提交任务。 完整云盘资产管理已由相册云盘模块接管,任务页只保留发布所需选择能力。
部分完成 日程管理 入口已识别,进入占位页。 迁移日程列表、日历和详情。
完成 打卡点管理 列表、筛选、分页、详情、二维码、新建、编辑、删除、前台定位选点和图片 OSS 上传已接入。 后续可把高德地图完整选点 UI 替换进编辑页。
部分完成 项目管理 pm / pm_manager / project_edit 已识别,进入占位页。 迁移项目列表、详情、编辑、新建。
完成 相册云盘 云盘文件/文件夹浏览、搜索筛选、排序、分页、上传、预览、下载、重命名、移动、删除、传输记录。 云盘下载只保存到 App 沙盒 Documents/CloudDownloads,不写入系统相册。
完成 相册管理 相册列表、搜索筛选、日期筛选、创建相册、相册详情、图片/视频列表、预览、设置封面、删除文件、编辑名称/备注。 后续如旧工程补充更多相册运营动作再继续迁移。
完成 相册预览上传 album_trailer 入口已接真实页面;支持选择相册、本地图片/视频 OSS 上传、上传后入库到相册。 不恢复旧工程手填 URL 主流程。
完成 素材管理 素材列表、关键词/审核状态筛选、分页、详情、上传素材、编辑素材、上下架、删除、标签输入、素材文件 OSS 上传。 无。
完成 样片管理 样片列表、关键词/审核状态筛选、分页、详情、上下架、删除、上传样片、关联项目选择、样片文件 OSS 上传。 完整项目管理、样片编辑、视频播放器增强后续单独迁移。
部分完成 直播管理 入口已识别,进入占位页。 迁移直播管理和直播相册。
完成 景区申请 景区申请表单、地区选择、合作类型、图片选择、OSS 上传、待审核/驳回状态回填。 景区结算不属于本模块,后续单独迁移。
完成 权限申请 角色权限申请、景区多选、已有权限禁用、申请状态页、驳回编辑入口。 后续如有附件上传入口再补。
部分完成 景区结算 入口已识别,进入占位页。 迁移结算列表、审核、详情。
部分完成 运营区域 入口已识别,进入占位页。 迁移区域列表、地图/范围配置。
完成 位置上报 当前位置、标记点、在线状态、立即上报、提醒设置、历史记录、筛选和分页已接入。 本轮不做后台定位、离线队列或推送提醒。
部分完成 注册邀请 入口已识别,进入占位页。 迁移邀请摄影师、邀请记录。
部分完成 飞手认证 入口已识别,进入占位页。 迁移飞手认证页面。
不迁移 飞控/DJI fly / pilot_controller 已明确为 iOS 不支持。 不再迁移。

旧工程能力尚未系统迁移

状态 模块 说明
完成 Assets 模块 已迁移相册管理、相册预览上传、相册云盘、素材管理、样片管理和上传样片。
未开始 Core/Map 旧工程地图相关能力尚未迁移。
未开始 Core/Push 旧工程推送能力尚未迁移。
未开始 Core/Queue 旧工程队列基础能力尚未迁移。
未开始 Core/Validation 旧工程独立校验能力尚未系统迁移;当前只迁移了实名身份证校验等必要逻辑。
未开始 UIKit 旧代码 旧工程 UIKit 目录下的兼容/旧版页面尚未迁移,除非后续明确仍需保留。

最近验证记录

已通过:

xcodebuild test -workspace suixinkan.xcworkspace -scheme suixinkan -destination 'platform=iOS Simulator,name=iPhone 17'
xcodebuild build -workspace suixinkan.xcworkspace -scheme suixinkan -destination 'generic/platform=iOS Simulator'

下一批建议迁移顺序

  1. 项目管理/排班/邀请:依赖当前景区和角色权限,能继续按首页入口逐个迁移。
  2. 押金订单/退款/历史拍摄:订单主链路已完成,适合继续补订单长尾。
  3. 提现审核/景区结算:涉及审核和资金流,建议单独一轮迁移并补足单元测试。
  4. 项目管理:样片上传已具备轻量项目选择,后续可迁移完整项目列表、详情和编辑。