我的作品:《技术词典》小程序开发日志

这是我用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实践

登陆相关问题

解决这个上下文很长,我摘取重点进行分享,各位也可以进行对照。

总结了这一段话,大家可直接用:

微信小程序登录异常排查要点:

  1. 逻辑冲突: 严禁在页面中定义重复的 onShow 或同名函数,确保 checkingLogin 等状态锁在所有分支(包括异常捕获)中均有闭环处理。

  2. 配置规范: 登录页面必须在 app.json 中完整注册,且应优先使用 bindtap 以确保基础库的向下兼容性。

  3. 数据链路: 需确保云函数正确部署并返回非空 result;首页信息展示应全量拉取昵称与头像,而非仅依赖 userId

  4. 策略优化: 改变“被动自动登录”模式,移除 onLoad 中的强制云函数调用,改为“缓存恢复 + 主动触发”,提升用户交互的可控性。

我遇到的问题:

问题1:为什么还是点击微信登录没反应?提交页面还是一样,一直在检测

有两个 onShow 方法、后面的会覆盖前面的,导致登录状态检查逻辑不完整

两个 checkLoginStatus 方法 ,第二个方法没有设置 checkingLogin 状态

问题2:现在点击之后无法触发登录云函数

WXML 中使用了新的语法 bind:tap ,但小程序基础库版本可能不支持。同时也要确保按钮样式正确

这里他也会分析一些可能的原因,见下最右图:

问题3:(根本原因)登录页面 pages/login/login 没有在 app.json 中注册!

登录后问题和现象

问题4:登录之后,首页也没有显示用户的信息,还是微信登录的按钮

  1. 云函数返回的 result 是空的 - 这意味着云函数可能没有正确部署或执行

  2. 首页没有显示用户信息 - 首页只获取了 userId ,没有获取用户昵称和头像-原因,两个 onShow 方法

  3. 模板通知问题 - 需要检查 notifyAudit 云函数

问题5:自动登录

可能原因:首页和"我的"页面在 onLoad 时会自动调用云函数获取 openid 并保存到 storage,即使用户已经退出登录。

真正原因:退出登录时 storage 中的 userId 没有被清除。

  1. 首页 ( index.js ) : 不再自动调用云函数登录,只从 storage 恢复登录状态

  2. "我的"页面 ( my.js ) : 不再自动调用云函数登录,只从 storage 恢复登录状态

  3. 让用户主动选择登录,而不是被动自动登录

问题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字了,希望对大家在小程序的开发上有帮助。

欢迎评论你想讨论的具体内容。

2 个赞

你整的不错的

2 个赞

干货拉满的小程序开发实战!从云函数部署到bug排查,搭配实用提示词,新手直接抄作业,太实用了:+1:

1 个赞