先上图
1.
想法的出现
在掘金上刷到一位前端小姐姐使用AI,零手动一人不到半个月就搭建自律打卡小程序并发布上线,瞬间震惊!
于是我也查询了市面上能免费体验的AIcoding工具,那时真赶上TRAE免费体验,于是就想创建一个科学摸鱼的小程序!毕竟摸鱼也是一门艺术,需要专业的工具来记录和分享。
趁着试用期,我利用15个午休时间(包括审核备案和认证),从构思到上线,搓出了这款渔务日记小程序。
核心理念:既然要摸鱼,就要摸得有仪式感,摸得有成就感!
2.
怎么构思需求
以前总是吐槽产品经理写需求不清楚,轮到自己当产品时才发现:写需求真的太难了!
初期的困惑:
- 功能要做多复杂?
- 用户真的需要这些功能吗?
- 怎么平衡功能丰富度和简洁性?
最终的思路:
- 从自己的痛点出发 - 我想要什么样的摸鱼工具?
- MVP原则 - 先做最核心的功能,再逐步迭代
- 用户视角 - 站在同样想摸鱼的打工人角度思考
核心功能设计:
摸鱼计时 - 记录每次摸鱼时长
徽章系统 - 让摸鱼也有成就感
数据统计 - 看看自己的摸鱼水平
海报分享 - 炫耀摸鱼成就(这个很重要!)
3.
数据交互和云开发尝试
我不是专业的开发,第一次接触微信云开发,踩了不少坑:
技术选型:
- 前端:微信小程序原生开发
- 后端:微信云开发(云函数 + 云数据库)
- AI助手:如TRAE
云开发的优势:
零运维 - 不用自己搭服务器
天然安全 - 微信生态内的数据安全
成本低 - 小程序免费额度够用
数据设计思路:
- 本地存储为主,云端备份为辅
- 用户数据加密存储
- 支持数据导入导出
4.
小程序开发的技巧
先让 AI 写“结构”,再让 AI 写“实现”
1)我一开始不是直接让 AI 写某个函数,而是先要求它给出完整模块边界:
- 数据层(storage)
- 业务层(timer / badges / cloudSync)
- 页面层(home / tasks / statistics / profile)
这样做的好处是,后面每一轮迭代都不会乱,AI 生成代码也更稳定。
2)用“约束型提示词”保证可落地
我给 AI 的指令不是“帮我做个好看的页面”,而是明确约束:
- 用微信小程序原生语法
- 数据优先落 storage
- 事件通过全局 eventBus 同步
- 遇到云函数失败必须降级到本地模式
- 输入内容要做敏感词过滤
这种写法会显著降低“看起来能跑、实际不能用”的概率。
3)把 AI 用在“重构和优化”而不只是“生成”
这个项目后期我重点用 AI 做了性能优化:
- 把递归 setTimeout 改成 setInterval + 概率触发
- 降低高频 setData,只有数据变化才刷新
- 页面隐藏时暂停动画和非必要定时器
- 徽章检查增加防抖和缓存
这一步很关键:
AI 不是一次性代码生产器,而是持续优化器。
4)把“容错场景”交给 AI 系统化补齐
比如云同步里我做了这些保护:
- 同步频率限制和冷却时间
- 健康检查先行
- 云端有旧数据时先让用户选择“恢复云端/保留本地”
- 上传/下载都给明确进度和失败提示
- 云服务异常时自动回退本地模式
这些不是“锦上添花”,而是上线产品必须具备的可靠性设计。
5.
踩过的坑
开发过程中的坑史:
-
Canvas海报生成
- 新旧API兼容性问题
- iOS和Android表现不一致
- 图片加载时序问题
- 解决方案:多重降级机制 + 详细错误处理
-
权限申请
- 相册权限在开发版和正式版表现不同
- 隐私协议影响敏感接口调用
- 解决方案:正式服需要申请用户隐私保护指引审核
-
性能优化
- 动画效果导致设备发热
- 频繁的setData操作影响性能
- 解决方案:减少动画复杂度 + 优化数据更新频率
-
用户体验细节
- 微信小程序的设计规范学习
- 不同设备尺寸的适配
- 交互反馈的细节打磨
-
审核备案认证
- 小程序名称名命需要避开商标、已被命名、带有歧义的名词,导致改了三次名才审核通过
- 小程序备案审核时,需要上传自己的各种资料,还有有份需要盖手印的文件
- 小程序初步审核很快,正式审核我花了6天多
- 小程序认证费用是30块钱大洋,否则无法被搜索到
- 如果需要用到一些用户设备权限的交互,需要在正式服里申请用户隐私保护审核
- 云服务器每个月的费用19.9,其实就是20。不过还好可以月付,如果备份的人少,就停用
-
- 解决方案:学中干,踩过才知道坑
写在最后
这个项目让我深刻体会到:
- AI编程助手真的能提高开发效率,但核心思路还是要自己想
- 产品思维比技术实现更重要,好的需求设计是成功的一半
- 用户体验无小事,每个细节都可能影响用户感受
如果你也想体验科学摸鱼,欢迎搜索"渔务日记"小程序!
让我们一起,把摸鱼这件事做到极致! ![]()
![]()
P.S. 上线快半年了,由于用户不多,所以把云同步断了![]()

