早季ios客户端兼产品原型

摘要
早季社区的ios客户端规划

前言

初始开发阶段

swift接触是在20年10月,那时候经常加班学习时间不是很多,一开始是午休挤时间.后来发现这样不行,效率太低.开始减少加班,傍晚回去7点搞到10点.
又因为忙碌了一天,回去的时候基本都在听些直播、相声之类的,状态不是很集中,听着听着就去看了.过年期间1周的学习进取要比过去3、4个月的效率还恐怖
,挺痛苦的,内心很纠结.经过胜楠建议我早起,结合我实际情况,进一步取消加班.到点就走,每天8-9点就睡觉,早起4-5点起床,这三个小时精力非常集中,效果还不错.
坚持了一个月,公司给员工涨薪,和每个人都要聊一边.过程中询问领导对我的工作评价,总体评价是不如去年的,他应该挺失望的(我猜测).回归原来的节奏,每天最少留公司1小时.
节奏崩盘,此时根据swiftui开发的app原型已经差不多了,还差临门一脚了.此时我决定辞职,我不能做到兼顾.

学习与开发周期

  • 学习是20年10月到21年2月,断断续续的
  • 2-3开始编写早季客户端原型
  • 3-5月之间在纠结与实践辞职
  • 7月玩了两周游戏1周java框架重构,
  • 7月19号正式继续开发ios原型

一阶段目标(21年3月-5月)

  • 已经在21年2月-3月实现,80%的页面

二阶段目标(21年7月完成)

  • 完成度提高到100%,分析当前功能是否已经满足市场需求,补充细节,或缺失功能

三阶段目标(21年9月完成)

  • 8月份将java后端4.0版本开发完毕后,实现api

模仿

  • 初次加载参考youtube将栅格展示出来
  • 没有网络提示参考youtube利用底部安全区域展示

未完成部分

  • 现在剩余模块为
    • 相集(上传照片模块)
    • 评论模块
    • 我的模块
    • 用户中心模块
  • 原型修改与添加(遗漏或后续想到)
    • 支付与提现模块
    • 通知(点赞、评论、回复)的跳转逻辑

常驻bug

  1. 下拉刷新偶尔无法下拉,必须关闭程序重启 换了种方式实现刷新与加载
  2. 首页onapper放在lazystack内为了解决swiftui小键盘隐藏时触发onapper bug . 但是破坏了原有的视图结构(重试界面)

需补充

  • 照片发布被点赞次数,被集邮次数的展示
  • 信息预览接口
  • 相集界面展示时添加筛选条件,全部 我参与集邮

开发日志

2021/01/15

  • 集邮页面添加删除
  • 集邮页面添加举报

    2021/01/07

  • 添加-管理员审核日推页
  • 调整-日推详情页如果是管理员将展示设置状态按钮和删除按钮
  • 修复-编辑拒绝状态版本应该不变

    2021/01/06

  • 调整-同一场漫展发布coser与pho算作1次参展
  • 修复-发布相集校验是否已经在同板块下存在数据
  • 优化-上传相集页面的发布按钮 删除按钮 上传图片 添加隐藏小键盘事件
  • 修复-上传所有页面 pickerphoto的view使用同一loading
  • 调整-底部删除框由offset改为transition
  • 修复-相集发布 集邮发布图片覆盖在texteditor
  • 添加-用户中心 日推模块
  • 修复-头像上传没有loading加载
  • 修复-所有图像上传添加disable控制
  • 修复-更新用户心成功时没有更新mine页面

    2021/01/05

  • 修复登录后未重新加载mineview
  • 修复发布日推页面 因图片覆盖texteditor无法获取焦点的问题
  • 修复通知列表未加载coredata的问题
  • 对点赞通知与回复通知添加link news
  • 日推删除后返回上一页
  • 修复通知内跳转到日推 编辑后没有变化的bug
  • 评论与回复时校验顶级id是否被删除 针对news校验status是否合法
  • 修复部分列表不触发onappear的问题 但并没有将所有列表进行测试

    2022/01/04

  • 更新时需要添加修改说明
  • 正文页面添加拒绝说明
  • 删除时返回历史
  • 删除时历史清除对应item

2022/01/03

  • 对接编辑接口
  • 编辑成功时返回newsContentInfo 状态与内容变化
  • 编辑成功时newsHistory item提到首位 item状态与内容变化

2022/01/02

  • 新闻发布页面设计与对接接口
  • 现嗯历史页面
  • 将历史与主页跳转整合
  • 重新设计newsSendPage模式将 upload与update整合

2021/12/29

  • 新闻静态页面重新设计

2021/12/28

  • 漫展添加城市筛选

2021/12/23

  • 测试与修复bug
    • 集邮文字未展示
    • 集邮用户id与文字间距
    • 集邮页面card用户文字位置调整
    • 漫展详情添加跳转源作者链接
    • 一级评论后未弹到顶部

2021/12/22

  • 调试完毕第三方授权登录与首次登录绑定手机号
  • core data 添加userinfoid字段 以区别不同用户
  • 发现bug 留言后自己可以回复
  • 留言详情页面删除留言后添加提示 并且展示页面丢失

2021/12/21

  • 完善登录页面,初次第三方授权登录时需要绑定手机号
  • 对接接口-登录
  • 对接接口-绑定手机号
  • 对接接口-发送手机验证码

2021/12/19

  • 自定义imgTextFieldAlert 用于输入图形验证码

2021/12/18

  • qq登录折磨中
  • 主要参考文档
  • 引用sdk会报错 - 解决方案
  • 授权之前会1005 - 关闭vpn
  • 授权之前443 - 解决方案
  • 调用handleOpen没有任何反馈

    2021/12/17

  • 注册调试验证码登录
  • 2021/12/16

  • 折磨了好几天微信登录 终于找到一篇保姆级的代码片段 但是不走回调还是测试中 参考代码
  • swiftu 加载 SceneDelegate
  • 2021/12/13

  • 所有讨论与评论tab添加数量
  • 评论通知 分化为 漫展讨论 相集评论 新番讨论三部分的跳转路由
  • 2021/12/12

  • 下拉刷新偶尔失灵bug找到 在imageTabView出现以后bounces初始化为false 所以 应该在隐藏式 设置true
  • 2021/12/11

  • 漫展按照标题检索
  • 新番按照标题检索
  • 2021/12/10

  • 关注动态主页展示
  • 我的动态主页展示
  • 优化界面查漏补缺阶段 不再详细记录
  • 漫展页面添加讨论(评论)模块
  • 2021/12/09

  • 发现bug 下拉刷新时 会触发上滑刷新
  • 删除留言
  • 留言通知查询
  • 留言通知详情
  • 留言通知回复

2021/12/08

  • 关注/取消关注
  • 关注列表
  • 粉丝列表
  • 留言
  • 回复留言

2021/12/07

  • 链接到更多其他平台
  • 用户中心信息修改

2021/12/06

  • 用户中心主页数据读取
  • 链接到更多参展
  • 链接到更多集邮

2021/12/05

  • 最后尝试了一下swiftui无法将布局设置为【沾粘、头部、分段、分页】(uikit可以实现,但需要大改,与我封装的model冲突很大)重新设计用户中心页面
    • 装备、动态、我的点赞、精选动态 删除
    • 参加漫展、参与集邮整合到首页
  • 完善参展与集邮
    • 补充缺失id字段导致的序列化失败
    • 添加跳转到photo
  • 修补布局
    • 漫展主页因标题过短导致右居中

2021/12/04

  • 计划完成
    • 点赞详情页面
    • 本机缓存编写与网络接口链调
  • 最后思考了一下用户中页面

2021/12/03

  • CommentTwoListView 解耦 为了可以让通知详情页通用
  • 一级评论通知详情 接口对接
  • 二级评论通知详情 接口对接
  • 修复二级评论bug 只删除index=0
  • 优化显示 删除清空应该显示listEmpty

2021/12/02

  • 点赞通知页面设计
  • 集邮通知页面设计
  • 评论引用图片改为photoCoverImg
  • 删除集邮时多余的上传字段 漫展封面 漫展标题 用户相集封面
  • 修复bug 集邮上传没有添加loading
  • 修复bug 曾与他集邮一直为1
  • 通知相集集邮详情页面设计

    2021/11/30

  • 我的页面添加未读集邮
  • 回复我的通知页面
  • 修改我的页面接口,将个人信息缓存到userDefault
  • 2021/11/25

  • 一级评论删除举报界面(菜单按钮)
  • 对接一级评论删除接口
  • 获取不到主对象将作出相对应的提示 为此修改模块-弹窗 更换组件,与request解耦
  • 删除动画

2021/11/24

  • 微调一二级评论页面, 页面样式 发布按钮 等等

2021/11/23

  • 对接几口-一级评论附加部分二级评论预览

2021/11/22

  • 优化模块-展示三级评论
  • 优化空数据与断网重试的页面模块,更好的兼容scrollview与Vstack不同场合
  • 优化小键盘弹出遮罩,统一HscrollView与other模式
  • 二级评论
    1. 点击用户为回复此用户
    2. 隐藏小键盘恢复默认回复楼主
      • 条件: 输入框内文字长度为0时
      • 说明: 如果存在文字,可能表示用户正在输入误触导致隐藏,会下意识再继续编辑
    3. 提示也随之变化,小键盘弹出为回复 @{用户} 隐藏小键盘为恢复默认值 请发一条友善的评论哦
  • 底部输入框添加文字长度限制
  • 评论成功添加提示框
  • 二级评论点赞界面修改,实现接口

2021/11/21

  • 优化显示-添加评论后显示在顶部
  • 优化显示-添加评论添加loading
  • 优化显示-添加评论后跳转到top1
  • 集邮与相集合并-因为这样相对来说逻辑简洁,用户只需要一个入口,同时可以共享评论,减少开发复杂度
  • 对接接口-发布二级评论
  • 对接接口-分页二级评论
  • 优化显示-keyboard弹出时界面抖动问题
  • 优化显示-初次加载为empty时默认展示还没有数据,此时评论后的临时数据不会展示
    ,原策略评论时会向addModel.array内插入一条数据,这列数据用于展示我的发送,经过之前的优化,
    现在可以将这两个array合并

2021/11/20

  • 对接接口-添加评论
  • 对接接口-展示评论
  • 删除预览二级评论,暂时考虑不到如何更好的实现此功能,非重点先搁置

2021/11/19

  • websocket 客户端搭建并对接服务端

2021/11/18

  • 我的参展接口对接
  • 发现bug-隐藏小键盘时会调用tabView内的onapper,解决方法为将tabview内的onapper放置于lazyStack,此问题本质为swiftui bug
  • 发现bug-未解决添加到常驻bug 2.
  • 我的参展-集邮页面设计,几乎无改动,使用原有的photoHomeViewItem 添加字段在此漫展内的集邮次数
  • 我的参展-集邮页面对接

2021/11/17

  • 对接我的页面
  • 思考参展的方案,并实现界面

2021/11/15

  • 对接我的页面接口
  • 思考系统通知、回复评论等通知的策略

2021/11/14

  • 计划重新排版一下我的页面
    • 取消等级
    • 访客改获赞
    • 历史浏览改留言通知

2021/11/13

  • 新番表的封面重新排版
  • 新番表主页接口
  • 新番详情接口
  • 粗略完成失败跳转到登陆页面,并且实现登陆过程

2021/11/12

  • 集邮数相关接口改造

2021/11/11

  • 找了很久的下拉组件,效果最好的还是uiscroll内的组件效果最好,但是我不清楚如何兼容到swifuti,网络上找到的轮子也只是普通的,唯一一个
    youtube的视频,他要计算card高度,并不能通用.还有就是ios15的刷新,但是只适用于list,list也有尝试,但是很复杂,要去除各种样式,太麻烦了,放弃了
  • coser上传接口添加字段photoTitle photoCoverImg字段
  • coser发布添加文字限制
  • 小键盘隐藏区域

2021/11/10

  • 升级ios15后多个问题
    • 所有的navigationBarHidden失效,将top改到navigationBarItem
    • tabbar变成透明色,问题待处理
    • navigationLink有时失效,很懵
  • 返回按钮没有携带title是因为item太宽
  • 页面加载卡顿
    • 尝试增强for循环方式能否解决卡顿
    • 后测试发现是刷新组件导致的lazyview失效,每次append数据会导致所有数据重新加载
    • 放弃第三方组件,想到一种方式,可以利用lazyStack的机制来触发上滑加载,用ios15新特性下拉刷新

      2021/11/09

  • 删除接口
  • 上传接口
  • 遇到bug数组清空如果用binding下标会越界,解决方式换为增强for循环形式
  • 添加限制,文字<=10
  • 升级ios15

2021/11/08

  • coser上传接口需要补充相集title和相集content

2021/11/07

  • 发布集邮页面设计
  • 发现bug,coser上传,图片上传失败可以点保存 已解决 判断失败list是否存在

2021/11/06

  • 点赞、取消点赞改写2.0继承规则
  • 集邮页面点赞功能实现,模块写好直接调用是有点爽

2021/11/05

  • 调整集邮样式
    • 将点赞按钮布置在底部,改为黑色,背景为模糊透明
    • 用户内容放在用户名下方
    • 添加与ta集邮次数标记
    • 还是将功能区放在了照片下方,模糊背景方式展示影响观感
    • request请求添加isPreview字段,用于判断是否为预览,预览将不加载,return方法

2021/11/04

  • 照片详情的load预览
  • 照片详情初次加载error,展示重试页面,重试成功后照片没有加载成功
    • 原因: 重试按钮调用的是loadRequest,但是loadRequest出来的数据需要二次加载
    • 解决办法: retry时调用retryLoad.子类重写retryLoad.retryLoad调用loadRequest
  • 照片详情页面重新调整格式
    • 封面单张照片改1-4
    • 总照片量限制为4张
    • 点赞,照片数量等信息添加浅色透明白底
  • 发现bug 此页面的下拉箭头看不到
    • ..颜色设置的白色,难怪
  • 发布照片时,初始化冗余的照片数量

2021/11/03

  • photoContentHome返回格式为objectName方式
    • 照片圆角
  • 发现bug 上滑加载卡顿,会error
    • 经测试是因为双层foreach加grid造成的
    • 解决方案9宫格改4宫格
  • 照片详情展示策略兼容新的展示方式
    • 修改返回格式为cos模式,兼容sakiInfoLoad
  • 照片详情实现likebutton
  • 将coser与pho部分融合,之前分离是因为第一版代码所致,第二版修改后本可以融合,但是搁置了,今天合并在一起
  • 发现bug,新的视图展现方式在前端展现较慢,多重if判断导致?已解决,同上
  • 发现bug,下啦刷新在linkview内点击likebutton后失效?已解决,同上

2021/11/02

  • 根据youtube的分享修改了自己原有的ImageTabView,增加滑动返回,
    有一点点小瑕疵,zoom时缩小焦点在左上角,一时半会没找到什么好的解决方案,等全做完优化的时候和群友问问好了
  • 今天还是在尝试将effect融合进去,但是尝试了各种方法最后放弃了,这个模式还是有待改进,等待ios15的swiftui再看看好了
  • 突然发现上传策略还是有遗漏,比如用户上传照片失败如何删除失败照片(以判断存在失败上传不允许发布或发表)
  • 修复bug showCoserPhotoPicker为coser专用改为showPhotoPicker
  • 修复bug useExchangeDelegate为coser专用已修改
  • 想尝试解开上传时 禁止交换、禁止查看、禁止删除
    • 交换bug,当group==8时还可以交换,上传成功后恢复限制()
    • 查看bug,上传过程中openImageTabView会加载old图片(已修复,问题是多层view其中一层objectName为@State,将此层去除即可)
  • 优化体验,上传/保存/删除成功时,不重置另一方数据

2021/11/01

  • 尝试将sendCoserPanel有navigationLink改为类似与微博 推特 微信 bilibili从屏幕底部弹出,并且在退出是提示用户正在编辑,
    结合自己的ui实际测试后发现并不适合
    • 因为结构导致,修改coser并且修改pho.同时发布pho,此时coser结构会被重制,但这并不是问题,很少可能会出现此类情况,而且就算出现问题也不大
    • 我认为返回应该随心所欲一点比较舒服,哪怕是未保存状态,滑动返回更舒服
    • 总体来说是因为我个人认为不适合
  • 删除成功并且加载成功 输出成功提示框
  • 修改imageTabView策略,与现在的cos模式同步
  • 在尝试如何通过matchedGeometryEffect来让图像与图像查看器之间过渡展示
    • 最后发现需要将scrollview隐藏,这样就就可以达到效果,但是scrollview隐藏再展示会让position重置
    • 尝试将问题发布于stackoverflow
      希望会有大佬回复我,嘤嘤嘤

2021/10/31

  • 修改细节,存在历史状态按钮为保存,否则为发表
  • 发布错误弹出提示框,成功则重新loading
  • 修复bug快速划过item为nil,nil时退出负面效果为停止替换
  • 修复bug请求第一次alertshowing后,第二次成功依旧alertshowing->在loadrequest初始化true

2021/10/30

  • 修复滑动返回时顶部出现白条,原因是历史遗留问题navigationBarBackButtonHidden改成navigationBarHidden
  • 添加删除按钮与发布按钮
  • 完成sendpage删除接口调用
  • 待优化alert模块 因为成功时也有可能需要触动

2021/10/26

  • 删除框

    • onDrop太敏感,滑动到上方就会被删除掉,看看有没有其他更好的解决方案.DropDelegate内存在一个方法可以解决这个问题
    • onDrag展示删除框以后不知道该如何隐藏,考虑是否常显示deleteBox.DropDelegate内存在一个方法可以解决这个问题
  • 上传过程中禁止切换到pho

  • 重试按钮调整样式

  • 发现bug,当组内容为空时,因为原逻辑需要获取appendIndex,计算没有对照组,没有获取到appedIndex,导致无法上传新照片

  • 移动图片时添加细节,to>from to<from to == from + 1 || to - 1 == from

  • 明日计划完成删除的业务逻辑,与上传服务器,完成将coserupload 修改为与pho通用,或者pho单独再copy一份,再说吧

    2021/10/25

  • 添加loading效果,以免多次上传

  • 最后效果是将重新上传与上传整合在一起了,唯独有点小瑕疵,进度条偶尔鬼畜,再看看是哪里的问题

2021/10/24

  • 为了进一步优化存储,决定再次修改json格式
    • 添加originObjectName与miniObjectName,之前使用路径+originName方式弊端太大,还是区分开比较好
  • 优化上传,先判断源数据是否存在相同md5
    • 不存在,调用上传
    • 存在并且成功
      1. 将所有相同md5结果同步
    • 存在并且失败
      1. 调用上传
      2. 将所有相同md5结果同步
  • 优化体验,添加重新上传工程
    • 重新上传某一照片时,匹配所有md5结果
  • 重构过程中,目前完成了上传,明天完成失败回调,重传,重传成功、进度、失败回调+测试

2021/10/23

  • 上传图片过程中不允许添加图片,将plus图标display
  • 上传图片过程中禁止拖放
  • 限制上传找片数量,每组8张
  • 当一组上传的照片达到8张,第二组拖放时采取交换策略

2021/10/21

  • 上传图片时同时上传缩略图
  • 修改数据返回格式添加对应新上传的对应参数

2021/10/20

  • 缓存问题解决

    我现在将图片存储在云平台的对象存储,但是有个疑问

    1. 上传后的图片会返还对象访问url,此url不能直接访问,对象访问url加签后生成的预签名url才可以正确加载图片
    2. 我服务端保存对象访问url
    3. 前端加载图片的时候,先将对象访问url处理为预加签url,然后通过Kingfisher框架加载图片
    4. 但因为预加签url会变化,导致Kingfisher的缓存功能失效

    请问:像这种情况有什么比较好的处理措施吗,如何让缓存与防盗一定程度上的兼容

    这一切的疑问伴随着人家告诉我,kingfisher有key缓存,话题终结,不用自己写一个一级缓存框架了,太好了
    修改MyKingfisherView展示策略ing

  • 缓存策略调整后,图片展示已兼容

  • 添加照片上传到cos 简单实现

2021/10/19

  • 在理解cos,同时思考如何嵌入自己的系统内
  • 理解了如何生成下载url并且在线访问,
    1. 配置控制台的header
    2. 后端获取临时密钥(密钥权限需要可下载)
    3. 前端通过key与临时密钥生成签名url
    4. 最后访问签名url
  • swift有点恶心人,暂时没有async/await,无法将闭包内的值return出来,暂时使用封装view结合onapper 与 combine封装url来实现

2021/10/18

  • 封装上传到cos策略
    • 可监听上传进度与完成状态
  • 封装 alertEnvironment挂在到contentView,修改request loadRequest方法,添加可选参数alertDTO辅助展示
  • 完善request try策略 转换error时递归执行

2021/10/15

  • cos接口调通
  • 思考一下上传策略

2021/10/13

  • 除了动画,交换策略完美优化实现,可以跨天交换
  • 接下来准备改造list,可以实现添加照片,然后实现删除照片,核心重点是如何让list兼容显示url与name.或者说是url显示与image显示
  • 格式化名称environemnt->model module->VO
  • 封装上传照片model

2021/10/12

  • 决定重构数据库格式[{“date”:”2021/10/11”,”fdfsPath”:”http://xxxxx"}],因为安卓所需要的格式可能与ios不同,数据库存储基础类型
  • 前端格式也修改了,但是遇到一个,我reorder gird时 必须在一个list内,但我展示时又要按天分段展示目前格式为
    {“content”:””,”holdDayList”:[“2021/10/11”],”imgList”:[{“date”:”2021/10/11”,”fdfsPath”:”http://xxxxx"}]} 现在可以单独排序 也可以单独分段展示,如何分段展示又可以排序呢.因为我想先渲染holdDayList作为段落标题,段落标题内只渲染以日期为id的item 看看移动时能不能获取到对应item的信息吧,我不确定和我联想的是否一致,还有个问题,我将12日第三个图片想移动到11日最后一个,和12日第一个,所获取到的信息应该是一致的
    • 效果实现的不错,但是,如果我将第一日的照片都移动到第二日,第一日为空时,我要如何将第一日数据移动到第二日呢…
      • 完美实现,通过+号站位,然后通过日期相同找索引

2021/10/11

  • 先尝试将预览视图展示出来,在此基础上实现拖动换位置
    • 找了两种demo,第一个list 第二个List
    • 第一个用url做id,交换时会因为id重复导致交换错位
    • 在尝试第二种时要更改数据格式,挺麻烦的,前后端改完才想起来,生产环境我用fastdfs url好像并不会重复- -靠
    • 期间遇到了fastdfs无法使用的问题,日后再说先记一笔
    • 有个bug,跨list拖动会error,以为是都在用一个dragged的问题,拆开后发现还是不行…,明天考虑一下其他方案
      • 可以跨天拖动 改动较多
      • 查找约束单天list 未知
    • 2021/10/08

      • 页面关闭再打开refreshing箭头会露出一半… 最后发现是历史遗留问题,当年的navigationbar方式过时了,
        第二次加载有隐藏的lineText
      • 发现一个新问题,如果一次loading时间过长,在open view->close view 不断重复这个过程,
        会因为之前的n次request未中断,全部延迟到最后一次.原因:存储在environment,所以这个request不会销毁,会累加
      • 和群里学到一招,把声明方式改为StateObject 绑定单个页面即可,也确实,我其他页面用不到,也没必要非要放环境
      • 优化一下分页的view封装

      2021/10/06

      • 尝试解决因toppost的高度变化影响scrollview刷新,最后发现可以在scrollviewwithrefresh内加一层scrollview解决,
        只不过显示效果会差一内内,可以接受
      • 存在异步线程问题,会导致清空dataarray后,视图获取不到对象更新而导致的数组越界 第三层视图binding属性时出现问题
        在第二层建立中间变量过度一下,虽然代码有所冗余,凑合用吧
      • 和首页的下拉刷新效果还是有差距,在查找是哪里问题 添加动画解决
      • 页面关闭再打开error 原因是async加错位置
      • 页面关闭再打开refreshing箭头会露出一半… 原因是关闭视图再打开后高度会变化,设置固定值解决,就还挺离谱的,偏偏第一次正常

      2021/10/05

      • 完美兼容继承方式来实现接口对接,代码简洁的一批
      • 测试了相集主页分页加载,当前代码下完美兼容

      2021/10/03

      • coser/pho发布照片预览数据展示
      • 优化environment api封装,将loading、result等,添加到控制参数对象,方便管理与调用,简洁化environment
      • 改造所有environment

      2021/10/02

      • 找到合适的loading提示方法
      • coser/pho发布照片预览接口对接完毕

      2021/09/28

      • 封装toastMessage模块添加到content上,但是发现一个问题,sheet弹出后是覆盖在content上的,还是需要调整
      • 修改封装TextTips,将string替换为anyview,提高自由度

      2021/09/26

      • coser/pho发布照片预览接口对接

      2021/09/24

      • coser/pho发布照片的api封装

      2021/09/15

      • 点赞模块改写callback
      • 取消点赞

      2021/09/13

      • 开始改写点赞模块
      • 添加测试token
      • 调试完like server时回来看list,九空格达到3行时scrollview会鬼畜- -.后来发现是因为读取arraycount的原因,很迷惑,改成了固定索引9,无伤大雅

      2021/09/10

      • 我的照片主页浏览完成
      • 封装单页预览
      • 开始集邮页面,后续又思考了一下,集邮页面应该单纯一点,只放用户集邮,将我的照片与集邮照片共有的header删除
        ,并且需要为集邮用户添加点赞功能,即使是集邮,也想被人关注吧
      • 集邮为用户添加留言,但是就会比较臃肿,可能要改结构
      • 完成集邮展示,还算是顺利
      • 开始实现点赞功能,比较麻烦,需要集成coredata存储点赞记录,用于比对是否可以点赞的第一重拦截,帮助后端减轻压力

      2021/09/09

      • 将coser详情渲染出来
      • 遇到一个swiftui的bug,第二层navigationlink onAppear会被触发两次,头疼.
      • 再次测试后发现不是onappear触发两次,而是跳转了两次?但是视觉上并没有这种效果.我淦
      • 问题出在第二层的HScrollViewController内的navigationLink跳转时会触发这个bug,这个问题太严重了,有很多页面在用这套分页模式,和难受,伤及根本
      • 我以为是HScrollController的问题,换成tabview后发现,是这种分页策略的问题一,一时间很无语
      • 最后在NavigationView添加.navigationViewStyle(StackNavigationViewStyle())解决,就物语

      2021/09/08

      • 煎熬的尝试matchedGeometryEffect,最后勉强达到效果,但是切换tabview时由于切换了matchedGeometryEffect id来达到关闭tabview时提示用户当
        前查看的照片索引.但,正因如此,导致滑动tabview切换item时,会因id的变化让上一张照片闪现消失缩小.

      matchedGeometryEffect效果

      • 最后修改后的效果为,关闭弹窗后,为当前照片添加描边效果,以提示用户照片索引

      最后效果

      2021/09-07

      • 封装tabview实现图片查看,实现zoom.通过tabview实现有局限性,关于缩放自己实现没有很好的体验.找到了一个uikit的缩放封装,完美兼容tabview,
        可以实现缩放+移动,并且还可以放大滑动到边缘时切换到下一张图片,体验和微信朋友圈的查看方式很相似.关闭方式采用单击返回,没有采用滑动缩放返回,因为我的能力无法实现,同时我认为牺牲的这点体验问题不大.
        { % post_link learn/language/swift/swiftui/technical-point/image-zoom % }
      • 纠结一下是否需要实现,tabview的出现与消失动画,最后实现的效果不是特别理想,但解决一个问题:用户知道当前看到了哪张照片,只是动画有点奇怪

      2021/09-06

      • 网络图片加载,开始使用的是sdwebimage,但是没有缓存,经考虑,更换为url-image.缓存时遇到一个问题就是,调用enviroment加载vo时以加载图片会由
        success -> initial 很迷惑.最后选择了老牌的kingfisher

      2021/08/24

      • 巨大优化分页代码结构,方便以后直接套用

      2021/08/23

      • 相集用户照片分页展示
      • 分页模块添加空集tips

      2021/08/22

      • 当前技术下完美兼容下拉刷新,上滑加载

      2021/08/19

      • 初次加载网络异常重试界面
      • 耦合分页查询调用规范

      2021/08/18

      • 网络请求未授权时,接口会加载异常
      • 调整网络请求策略时,跳到了图片选择.结果意识在想图片权限的问题,为什么选了拒绝图片权限,还可以添加图片,我很蒙蔽,最后求助群友,说系统的imagePicker不需要权限…
      • 由于苹果没有开放对于网络权限请求的api.不知道用户授权的结果.一般来说只能通过去检测网络状态来判断用户授权情况

      2021/08/17

      • 摸索网络请求
      • 摸索分页查询,初始加载

      2021/08/02

      • 用户中心所有模块原型基本完成
      • 暂告一段落,开始后端开发
      • 说实话我写前端很头痛,应该是做产品很头痛,要设想功能点.做ui很头痛,要设想布局

      2021/07/30

      • 用户中心集邮模块
      • 摸鱼

      2021/07/29

      • 尝试使用JXSegmentedView与JXPagingView,但是发现在swift内有一些bug,导致我不敢继续再尝试,
        也有可能是我使用不当,但感觉不应该,因为我是吧demo复制到项目内的.
      • 将昨日尝试的通过滑动内部scrollView来控制外部UserInfoBaseViewHeight
      • 效果还可以,牺牲的用户体验也并不大,感觉算是另一种实现方式,总体来说观感过得去.还是要得益于苹果优秀的过渡动画.羡慕他们那些apple个人开发者,他们真的幸福

      2021/07/28

      • 陷入双重scrollview的瓶颈了,我想实现的效果swiftui可能很难达成
      • 找到一个uikit的的骨架,如果用他的话改造挺大的,好像只能使用list,我想要的效果是grid
      • 在思考通过滑动内部scroll来改变外部的高度实现无缝滑动,不知道是否可行
      • 我看b站的效果为page1滑动到底部,page2滑动到页头,再切换回page1此时page1同样回归页头位置
      • 心态稍稍有点炸裂

      2021/07/27

      • 用户中心卡在了父scrollview(scrollview+tab)
      • 明日上午可以解决(scrollview+tab)
      • 然后再看看scrollview()

      2021/07/26

      • 寻找一种合适的page选项卡
      • 找到了个pageView的实现方式与onload实现方式,但是在思考如何获取滑动位置来实现选项卡

      2021/07/23

      • 用户中心就写了一丢丢

      2021/07/22

      • 我发现之前写过一个用户中心
      • 用户中心策略变了,照抄b站模式,将自己的模块融入进去

      2021/07/20

      • 放弃轮播图填充,因为实现比较麻烦不想搞,决定用社区守则来替代轮播图
      • 开始userInfoCenter页面

      2021/07/19

      • 用循环方式与lazyGrid生成functionGroup
      • 用switch方式导航navigationLink
      • 开始修改功能页,设想添加轮播图填充位置

      2021/03/15

      • 确定我的页面 表页面 展现形式
      • 增加动态tab页
      • 更改tabview 内 topbar展现形式 全部修改为视图内部导航(已修改动态,其他无)

      2021/03/09

      • 登陆页面按钮

        2021/03/08

      • 登陆页面
      • 导入FileText包
      • todo 微信 qq登陆

      2021/03/05

      • 适应深色模式
      • 修复hscrollview与滑动返回冲突问题

      2021/03/04

      • 我的界基本完毕
      • 解决滑动返回冲突问题,暂时想到的解决办法在左侧侧边栏添加隐藏的 rootview用于返回

        2021/03/03

      • 我的界面
      • 通知
      • 回复
      • 点赞
      • 钱包
      • 需要添加关注功能 在个人面板展示关注按钮
      • 需要添加动态页面 记录个人历史
      • 需要添加个人相册页面,未想好添加在哪里如何构建与展示维度

      2021/02/29

      • 定时器禁止重复执行 cancle
      • 我的界面
      • efresh包暂时删除

      2021/02/28

      • 定时器禁止重复执行 cancle
      • oser pho发布 stamp发布
      • 新番列表
      • 新番详情

      2021/02/26

      • 全局通知编写
      • 自定义字体引入
      • 阿里iconfont引入

      2021/02/23

      • 组合集邮页面
      • 调整topbar 添加右侧按钮
      • 相集页发布照片
      • 集邮页发布集邮

      2021/02/22

      • 制作与coser集邮页面
      • 思考我的集邮添加在合适位置
      • 相集评论模块的加入位置
      • LeanCloud即时通讯api 看起来挺便宜

      2021/02/21

      • 确定好相集主页展现形式 [coser,pho] coser页存在海报其他tab不展示海报
      • 暂时保留back
      • 延缓无法解决冲突 HScrollview

      2021/02/20

      • coser列表
      • coser详情
      • 最后在调试顶部吸附topbar
      • 经过b站up洗稿事件以后 决定日推模块保留,但是何种呈现方式还未确定

      2021/02/17-19

      • 调整思路,将app体量缩减为只有相集,当作我个人相册使用开发,推广时以收集各位coser照片为入口

      2021/02/15

      • 评论TextField组件封装完毕
      • 将评论模块组装到新闻

      2021/02/16

      • 调整评论模块 TextFiels

      2021/02/14

      • 反杭
      • 路上了解了一些 TextFeild

      2021/02/13

      • 一级评论和二级评论单页面
      • 看视频
      发布于

      2021-07-19

      更新于

      2022-01-15

      许可协议

      评论

      :D 一言句子获取中...

      加载中,最新评论有1分钟缓存...

      © 2023 声控周不鸽  Powered by Hexo & Icarus & Amazing 
      © 冀ICP备20012150号-1
      © 版权说明:[本网站所有内容均收集于互联网或自己创作,
          方便于网友与自己学习交流,如有侵权,请留言,立即处理]
      loading...

      ❤️感谢 99+ 小伙伴的 99+ 次光临!❤️