Add OSS upload and Kingfisher image support
This commit is contained in:
@ -8,7 +8,7 @@ Profile 模块负责“我的/个人信息”页面及其二级页面,包括
|
||||
- 拉取用户基础资料。
|
||||
- 拉取实名认证信息。
|
||||
- 展示头像、昵称、UID、手机号、账号状态和实名认证状态。
|
||||
- 修改昵称。
|
||||
- 修改昵称和头像。
|
||||
- 修改密码。
|
||||
- 切换当前景区/门店业务账号。
|
||||
- 提交实名认证基础资料。
|
||||
@ -26,6 +26,7 @@ Profile 模块负责“我的/个人信息”页面及其二级页面,包括
|
||||
- `RealNameAuthView` / `RealNameAuthViewModel`:实名认证页面和表单逻辑。
|
||||
- `SettingsCenterView` / `AgreementView`:设置中心和协议 H5 页面。
|
||||
- `ProfileAPI`:封装用户资料、实名认证和资料更新接口。
|
||||
- `OSSUploadService`:上传头像和实名认证证件图片,返回可提交给业务接口的 OSS URL。
|
||||
- `UserInfoResponse`:用户基础资料。
|
||||
- `RealNameInfoResponse` / `RealNameInfo`:实名认证信息。
|
||||
- `UpdateInfoRequest`:昵称、密码或头像更新请求体。
|
||||
@ -42,15 +43,18 @@ Profile 模块负责“我的/个人信息”页面及其二级页面,包括
|
||||
5. `ProfileView` 将最新 `userInfo` 交给 `AuthSessionCoordinator.refreshCachedProfile`。
|
||||
6. 协调器更新 `AccountContext.profile`,并同步刷新账号快照。
|
||||
|
||||
## 昵称编辑流程
|
||||
## 资料编辑流程
|
||||
|
||||
1. 用户点击编辑按钮。
|
||||
2. `ProfileViewModel.beginEditing` 进入编辑状态,并把当前昵称写入编辑框。
|
||||
3. 用户提交后,`ProfileViewModel.saveProfile` 校验昵称非空。
|
||||
4. 昵称未变化时直接退出编辑状态。
|
||||
5. 昵称变化时调用 `ProfileAPI.updateUserInfo(nickname:)`。
|
||||
6. 接口成功后本地更新 `userInfo.nickname`。
|
||||
7. `ProfileView` 刷新全局账号资料和账号快照。
|
||||
3. 用户点击头像时通过 `PhotosPicker` 选择本地图片。
|
||||
4. `AvatarImageProcessor` 将头像压缩为 JPEG,并暂存在内存中。
|
||||
5. 用户提交后,`ProfileViewModel.saveProfile` 校验昵称非空。
|
||||
6. 头像变化时先调用 `OSSUploadService.uploadUserAvatar` 上传到 OSS。
|
||||
7. 头像上传成功后调用 `ProfileAPI.updateUserAvatarURL` 回写头像 URL。
|
||||
8. 昵称变化时调用 `ProfileAPI.updateUserInfo(nickname:)`。
|
||||
9. 接口成功后本地更新 `userInfo.nickname` 和 `userInfo.avatar`。
|
||||
10. `ProfileView` 刷新全局账号资料和账号快照。
|
||||
|
||||
## 密码修改流程
|
||||
|
||||
@ -76,11 +80,15 @@ Profile 模块负责“我的/个人信息”页面及其二级页面,包括
|
||||
1. 用户点击“认证状态”进入 `RealNameAuthView`。
|
||||
2. `RealNameAuthViewModel.load` 调用 `ProfileAPI.realNameInfo` 并回填姓名、身份证号、证件有效期、图片 URL 和审核状态。
|
||||
3. 用户可发送短信验证码,接口为 `/api/yf-handset-app/photog/real-name/sms-verify-code`。
|
||||
4. 提交前校验姓名、身份证号、短信验证码、证件图片 URL 和有效期。
|
||||
5. 校验通过后调用 `/api/yf-handset-app/photog/real-name/submit`。
|
||||
6. 提交成功后重新加载实名认证信息。
|
||||
4. 用户通过图片卡片选择身份证人像面和国徽面。
|
||||
5. `RealNameImageProcessor` 将证件图片压缩为 JPEG,并暂存在内存中。
|
||||
6. 提交前校验姓名、身份证号、短信验证码、证件图片和有效期。
|
||||
7. 校验通过后先调用 `OSSUploadService.uploadRealNameImage` 上传证件图片。
|
||||
8. 上传成功后把 OSS URL 写入 `RealNameAuthRequest.frontUrl/backUrl`。
|
||||
9. 调用 `/api/yf-handset-app/photog/real-name/submit` 提交实名资料。
|
||||
10. 提交成功后重新加载实名认证信息。
|
||||
|
||||
本轮证件图片先保留 URL 输入和网络预览,阿里云 OSS 图片选择上传后续接入时替换该输入区。
|
||||
证件图片的原始 Data、压缩 Data 和上传进度只保存在内存中,不写入本地缓存。
|
||||
|
||||
## 设置和协议流程
|
||||
|
||||
|
||||
Reference in New Issue
Block a user