Files
suixinkan_ios_new/suixinkan/Features/Invite/Invite.md
汉秋 311a70d610 新增项目、排期与邀请模块,并接入首页路由
将项目管理、排期管理与摄影师邀请流程从占位页迁移为完整实现,包含项目图片 OSS 上传与共享业务模型。

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

1.3 KiB
Raw Blame History

Invite 模块业务逻辑

模块职责

Invite 模块负责首页 registration_invitationphotographer_inviteinvite_record 入口。

邀请页展示邀请码、邀请链接、二维码和规则;邀请记录页展示邀请用户和奖励记录。模块不保存业务状态到全局对象。

邀请页

PhotographerInviteViewModel 通过 InviteAPI.inviteInfo() 获取邀请信息,并使用 CoreImage 在本地生成二维码图片。二维码图片只用于当前页面展示,不落盘。

复制邀请链接时只由 View 层写入剪贴板ViewModel 不关心系统剪贴板状态。

邀请记录

InviteRecordViewModel 提供“邀请记录 / 奖励记录”分段:

  • 邀请记录来自 InviteAPI.inviteUserList
  • 奖励记录复用 WalletAPI.walletEarningDetail
  • 顶部奖励汇总复用 WalletAPI.walletSummary(type: 2)

分页状态、筛选分段和展示行只存在 ViewModel 内存中。

接口边界

InviteAPI 只封装邀请信息和邀请用户列表。钱包收益和提现入口继续由 Wallet 模块负责Invite 模块只调用其公开服务协议,不持有钱包业务状态。

缓存边界

邀请码、邀请记录、奖励记录和二维码都不落盘。后续如果需要分享图片,应在分享流程中临时生成。