这是我用Trae来做的开发日志的第一篇,准确说是第二篇。
本文同第一篇一样,参与“社群最佳实践”活动投稿。
第一篇:本篇
第二篇:我的作品:鸿蒙版《效率相册》App开发日志:Trae加持,迅速提效!
这篇介绍了我在春节前后,使用Trae开始尝试独立开发,先从小程序做起。
目前技术词典小程序也是可以在微信小程序中搜索到:
关于为什么要开发技术词典的小程序,可以查看我的公众号的文章。
虽然目前使用的人不算太多,但作为第一个上线产品,也是直接使用Trae solo进行开发,所以考虑了下记录一下我的开发实践。
我之前是一个小程序新手,所以看到微信的云开发和云函数不是很了解,所以在部署上会有不确定性。
此处就挑一些值得分享的和大家聊聊吧,虽然有提示词分享,但只是在分享:如果要做相同功能的产品的时候可以这样说,可以少走些弯路,如果你有更好的补充和提示词的话也欢迎评论留言和我一起交流。
确认部署是否正确
云函数部署的两个示例
initUser
背景是在小程序开发者工具中,我部署了其他的云函数,唯独这个云函数上传失败,所以需要确认。
提示词分享:
我现在initdata的云函数都是在云端部署的,应该没问题吧
之后trae就给我分析:
subscriptions
直接把一些报错贴给他之后,就会教你如何创建集合。
检查云函数
全部云函数部署完之后,推荐检查一下云函数。
提示词:
我现在需要更新哪些云函数?
功能开发实践
首页:每日推荐
提示词分享:
把首页显示的推荐,提交时间只保留年月日,提交者显示获取的真实的用户ID
详情页
纠正实现方式很有必要。
和我之前的文章的提供文档功能一样,AI毕竟是AI,无论是做什么产品,贴合官方推荐的产品,一定是最佳实践,也更加容易被对应平台的官方看见。
详情页分享+二维码
从运营角度考虑,为了用户提提交后可以分享传播。
提示词分享:
看一下怎么实现分享图片可以加上小程序码,我需要放一个码在根目录吗,还是怎么说
之后,Trae就会查看目前是否实现了该功能,如果实现了,就会像下文这样,告诉你实现方式:
用户点击分享 → 调用云函数生成小程序码 → Canvas绘制合成图片 → 导出保存,同时也会根据你提供的方案继续您修改详解,问题是什么,说明是什么(这对于新手来说会比较有用,对于理解实现方式来看)
制作新主题色
在这里提供一下常用的颜色:《微信标准色彩指引PDF》下载:res.wx.qq.com
提示词分享:
某页面没有底色x色,在xxx等主题下,这个页面底色要保持x色
审核后台
因为是需要用户提交(UGC)的小程序产品,审核必须要有。
提示词分享:
审核功能:
如果用户增加了新的分类/列表的话,我也要审核一下,审核页面增加分类:全部、词条、分组、列表
审核逻辑测试:可以加上自己想要的逻辑
为什么我在提交列表创建了新的分类和列表之后,没有在审核出现对应的提示?例如我新建了词条、列表、分类,但是为什么没有在全部里面显示,全部应该显示3,词条1、列表1分类1这个逻辑
成果:
解决Bug实践
登陆相关问题
解决这个上下文很长,我摘取重点进行分享,各位也可以进行对照。
总结了这一段话,大家可直接用:
微信小程序登录异常排查要点:
逻辑冲突: 严禁在页面中定义重复的
onShow或同名函数,确保checkingLogin等状态锁在所有分支(包括异常捕获)中均有闭环处理。配置规范: 登录页面必须在
app.json中完整注册,且应优先使用bindtap以确保基础库的向下兼容性。数据链路: 需确保云函数正确部署并返回非空
result;首页信息展示应全量拉取昵称与头像,而非仅依赖userId。策略优化: 改变“被动自动登录”模式,移除
onLoad中的强制云函数调用,改为“缓存恢复 + 主动触发”,提升用户交互的可控性。
我遇到的问题:
问题1:为什么还是点击微信登录没反应?提交页面还是一样,一直在检测
有两个 onShow 方法、后面的会覆盖前面的,导致登录状态检查逻辑不完整
两个 checkLoginStatus 方法 ,第二个方法没有设置 checkingLogin 状态
问题2:现在点击之后无法触发登录云函数
WXML 中使用了新的语法 bind:tap ,但小程序基础库版本可能不支持。同时也要确保按钮样式正确
这里他也会分析一些可能的原因,见下最右图:
问题3:(根本原因)登录页面 pages/login/login 没有在 app.json 中注册!
登录后问题和现象
问题4:登录之后,首页也没有显示用户的信息,还是微信登录的按钮
云函数返回的 result 是空的 - 这意味着云函数可能没有正确部署或执行
首页没有显示用户信息 - 首页只获取了 userId ,没有获取用户昵称和头像-原因,两个 onShow 方法
模板通知问题 - 需要检查 notifyAudit 云函数
问题5:自动登录
可能原因:首页和"我的"页面在 onLoad 时会自动调用云函数获取 openid 并保存到 storage,即使用户已经退出登录。
真正原因:退出登录时 storage 中的 userId 没有被清除。
首页 ( index.js ) : 不再自动调用云函数登录,只从 storage 恢复登录状态
"我的"页面 ( my.js ) : 不再自动调用云函数登录,只从 storage 恢复登录状态
让用户主动选择登录,而不是被动自动登录
问题6:登录之后界面会变灰色,这里就算作是一个分享吧。
如果大家有遇到这样的情况,可以参考一下原因。
问题原因 :登录弹窗缺少 show 类,导致弹窗透明不可见
修复内容 :在 my.wxml 第 130 行给登录弹窗添加了动态类绑定 {{showLoginModal ? ‘show’ : ‘’}} ,当 showLoginModal 为 true 时会自动添加 show 类,使弹窗正确显示
现在点击登录后,应该能正常看到登录弹窗了,用户可以输入昵称并点击确定完成登录。
因为篇幅限制,此处先分享这么多,大家若还有疑问,可继续在评论区留言,我会继续分享,也欢迎大家补充你遇到的小程序的登录问题和Trae的解法。
文字重叠问题
如果文字重叠了,可以使用带视觉的模型Kimi2.5直接扔给他。
在每一次编写时,我都会很喜欢看这句话:
我发现问题了!
编辑弹窗的 modal 元素(第50行)没有使用 wx:if ,而是使用了 class=“{{showEditModal ? ‘show’ : ‘’}}” 。
这意味着 modal 元素始终在 DOM 中 ,只是通过 CSS 控制显示/隐藏。这可能导致 input 元素在某些情况下显示出来。
最终也是修复好了。
“可能”是节省token的方法
虽然Trae CN的solo模式一直是免费的,但是我还是希望说一下这个方式。
直接把图给他,可以使用带有视觉功能的模型,例如Kimi-2.5。
写单元测试用例
第一次做上线产品,根据我的工作经验,测试这一环,在上线前肯定要做。
提示词分享:帮我单元测试一下这个小程序
之后就开始编写完整的测试代码文档:
他的文档沉淀在我这里是以这样的表头出现的:
| 用例ID | 测试项 | 前置条件 | 操作步骤 | 预期结果 | 优先级 |
|---|---|---|---|---|---|
展示一下撰写的单元测试文档:
最后
虽然在开发过程中,因为使用的模型还不是很完善或者其他的原因,在修改bug的时候还是得多说几次,不过可以上线使用,这已经达成了我的目的:使用Trae IDE,开发出我的第一款上线小程序。
总结的这些分享,也是我在小程序开发中的一些经验,因篇幅限制,写更多的话得上4-5k字了,希望对大家在小程序的开发上有帮助。
欢迎评论你想讨论的具体内容。



























