钱迹工作日志 2024.09
2024.09.01 周一
搜索忽略大小写
此问题是标签功能改动导致的 BUG,之前一直忽略大小写,但是加入标签的过滤后,由 sqlite 的 LIKE %keyword%
匹配,改为了 String.contains(keyword) 的判断,导致大小写敏感,所以需要在搜索时忽略大小写。
共享账本删除分类逻辑
- 旧逻辑:如果是共享账本,某个分类包含他人账单时,删除分类只迁移自己的账单,他人账单保留。
- 新逻辑:连同他人账单一起迁移到新分类,但是,依然不支持删除分类时,将他人账单删除(安全起见)。
预算逻辑优化
如果没有设置过年预算和月预算,首页应该显示月,而不是年预算。
2024.09.03 周三
标签脏数据过滤
早期标签数据同步时,导致存在一些脏数据,在使用正式版后,影响了少部分用户的账单同步,通过脚本清除了脏数据,同时在 App 端也做了脏数据的过滤操作。
多余域名删除
之前为了加速全球用户的使用,对海外用户使用了单独的图片域名,但是后面发现,只需要使用主域名即可,CDN 会自动根据用户所在地区分发(只需要建立海外存储桶即可,不需要单独的域名),所以清除了 iOS 端旧的逻辑,只使用主域名。
升级 MacOS 15 beta 后配置开发环境
由于为了修复 Mac 15 beta 系统打开钱迹白屏问题,所以不得已将系统升级,结果导致所有环境变化,内网的测试服务器也挂了,无奈只能重新配置整个环境,重新安装 node apache phalcon redis mysql 等一系列开发工具,此过程异常难受,因为所有的环境需要重置,最终通过两三天的折腾完成。
2024.09.04
发布 iOS 4.1.7-1209 版本
此小版本修复了2个BUG:
- 首页预算加载存在BUG,导致年度预算和月度预算设置时存在覆盖的情况。
- 搜索英文时没有忽略大小写,此问题比较严重,所以赶紧修复上线
2024.09.05
继续开发存钱计划
修改配置,存钱计划交互一直没有想好,所以查看了很多 dribbble 上面的设计稿,找到一些灵感。
2024.09.06
- 存钱计划 API 完善
- 存钱计划 App 端继续补充
2024.09.07
退款、周期记账、分期 支持标签
上一版本标签遗留的任务,所以花了半天时间来完善。
国际化改进
其它一些修改
- 优化:移除小组件参数中的 Siri can ask for value when run (AppStore 审核总是提示国际化有问题,干脆去掉,暂时用不到
- 优化:单个统计页面,增加结余
- 修复PC端账本加载失败后,仍然一直在 loading
2024.09.08
存钱计划改进
增加了图标和配色,旨在能够个性化一些,但也因此又调整了服务器接口和数据存储
增加通用的 IconPickerWidget
在添加存钱计划时,为了更加美观,增加了配色和图标,所以衍生出设计了全新的图标选择控件,此控件以后也将替代添加分类时的页面,同时,将在近期也一并支持 Emoji 表情的设置。
2024.09.09
1.发现iOS端预算的 BUG
用户邮件反馈了一个预算加载的 BUG:设置了年度预算后,再设置月度预算始终不成功。排查后发现是代码问题,因为在首页的预算模块,没有年度预算时,会自动展示月度预算,这个逻辑不应该带进预算管理页面,所以重新调整。
2.发布 iOS 4.1.8-1301 版本
上面用户反馈的预算 BUG,修复后立即提交了一个新的版本到 AppStore ,同时发布了 TestFlight 公测,希望尽快上线,避免更多用户收到影响。
3.继续开发存钱计划
- 完善接口
- 调整 IconPickerWidget,因为改完后又感觉跟另外一个产品有些相近,为避免误会,所以重新设计交互面板。
4.整体进度偏慢
进度太慢了,因为总是需要排查一些用户反馈的问题,有些是钱迹的,但大多数又是用户自己的问题,反馈了又不得不查,导致严重拖慢了原有的开发计划。
2024.09.16
1. 标签数据无法加载
一位用户在后台反馈之前添加的标签现在无法使用,排查后发现本地数据字段错误,于是增加了新的数据表,同时保证旧数据迁移到新表。
经过测试此问题不再出现,所以准备发布一个新版,避免影响更多用户。
2. Android 端适配 Android 15
OPPO 市场的人催促让适配 Android 15,正好也是一个契机,一次性将 Android 项目的依赖统统升级。
但是 Android 15 改动比较大,尤其强行启用了 Edge to Edge 特性,导致钱迹几乎所有的页面都需要调整一遍,改了一天还未完成,由于 iOS 的几个小问题更重要,暂时先放下,解决 iOS 问题。
2024.09.18
1.图片无法上传
16 日收到一位用户反馈他 iOS/Mac/Windows 端均无法上传账单图片,经过几轮公测版本,发现对方的网络,始终无法访问 api.qiniu.com
域名(可能是运营商 DNS 污染)。
上传图片使用过的是七牛云的 Flutter SDK,经过排查 SDK 源码发现,在获取上传域名时,SDK 写死了通过 api.qiniu.com
来访问,就导致上传始终无法成功。
遂更改源码,加入备用域名列表,通过轮询的方式,确保能够正常获得上传图片域名信息。 具体改动可见: issue#89
2.大幅优化图片上传策略
调整图片上传 token 的获取策略,缓存 token、复用上传配置后,图片上传明显加快,以至于都看不到上传的 loading 过程,这个优化对用户体验有很大的提升。
但是,上传过程的 loading 状态也需要做一些调整,避免上传太快而 UI 刷新导致闪烁。
2.计划发布 iOS 新版
解决标签和图片问题后,需要发新版让更多用户体验。
连续2天早起解决疑难杂症,工作效率非常高,以后尝试早睡早起,更健康规律一些。
2024.09.19
1.排查问题
- Android端预算计算有个精度问题,已经处理并且给用户一个新的安装包,将合并到下一版本一起发布。
- iOS 用户反馈 iPad 上面报销记录折叠的汇总有问题,已经解决,将带入新版本。
- 准备发布 iOS 新版,所以将后台统计的一些闪退问题解决,带入新版本。
2.调整 iOS 端的更新日志弹窗
调整了弹窗的UI,标题与 App 内其它弹窗一致,同时将更新日志以及一些文章放入,方便用户了解我们的开发状态。
此改动也将在 Android 新版带入。
3.发布 iOS & Mac & Windows 新版本
- iOS 4.1.9 早上通过审核正式上线。
- MacOS 提交被拒,因为更新日志中写了
MacOS 15 Beta
的字眼,苹果认为不合适,遂去掉,早上重新提交,等待审核中。 - 晚上再发布 AndroidHD 和 Windows 4.1.9 版本。
4.继续开发存钱计划
争取今天将前后端接口测试完毕。
2024.09.20
1. MacOS 适配 SWebAuthenticationSession
提交 MacOS 新版本被拒,Apple 要求增加使用 SFAuthenticationSession 或者 ASWebAuthenticationSession 来替代之前的 SFSafariViewController
,所以赶紧修改。
SWebAuthenticationSession
是苹果推荐的替代方案,会在扫码登录时,全屏弹出一个网页窗口,苹果的目的是为了减少到第三方浏览器的跳转流程,而且避免页面被其它应用遮挡,体验更好一些。
此特性稍后将在 iOS 端带入。
2. 继续开发存钱计划
前后端联合调试,后端接口完善。重新调整了存钱计划的 UI 排版,以及针对不同存钱类型,自动适配不同的界面。
2024.09.21
1. 存钱计划完善
- 完成存钱记录的添加,以及存钱计划的展示。
- 完成取消存钱
2024.09.22
1. 鸿蒙版本完善
- 添加分类界面不停闪屏,因为数据库字段错误,导致无法添加分类,已经修复。
- 简化图片压缩,去掉对图片尺寸的限制
2024.09.24
1. 增加存钱计划细节
- 主界面排版一直不满意,调整几个版本后确定方案
- 存钱计划详情页,增加不同排版
- 修改存钱计划接口参数的提交
- 对存钱计划增加激励
- 增加存钱计划的排序功能
2.增加365存钱和52周存钱
补充两种常见的存钱模式,目前项目已经搭建完整的设计,其它模式可以随时补充代码即可,UI以及接口无需调整。
2024.09.25
1. 鸿蒙版本完善
- 非平板强制为竖屏幕,而平板可以自动旋转
- 鸿蒙端暂时不支持导入,因为鸿蒙原生特性需要额外接入,暂时屏蔽导入入口
- 屏蔽粘贴功能,因为鸿蒙系统对粘贴板需要高级权限,所以暂时去掉
2. 鸿蒙白屏问题修复
应用打开白屏,原因是鸿蒙的 SharedPreference 底层 setInt 时,bookId 比较大,内部存储成了 Number,所以 getInt 时失效,具体见 https://gitee.com/openharmony-sig/flutter_packages/issues/IATPBG
2024.09.26
1. 鸿蒙增加用户好评入口
2. 鸿蒙增加升级提醒
后续如果有新版本发布,可以及时通知用户进行升级,但是鸿蒙目前和 iOS 一样,只能跳转应用商店更新。
2024.09.28
1. 鸿蒙新版发布
- 更换启动图片,原图片太大
- 更新日志增加文章,方便用户了解开发状态
- 升级提醒最多展示6条日志,避免内容太多导致升级按钮无法显示
- category icon 表名错误,导致无法缓存,页面一直刷新