这次实测做到“需求整理—AI 生成代码—开发者工具模拟器运行—增删改和本地保存验证”。没有真实小程序 AppID 和已登录的开发者账号,因此没有上传、提审或发布线上版本。文中把本地跑通与线上发布分开说明。
先定一个小目标
如果你没写过代码,不要一上来就让 AI 做商城、预约系统或会员中心。它们会碰到登录、支付、隐私、服务端和审核,第一版很难判断问题出在什么地方。
这次做一个更小的“今日清单”:输入任务、添加、点一下标记完成、清除已完成,数据保存在当前设备的小程序缓存里。它不联网、不登录,也不含云端同步,适合用来学会第一轮开发流程。
本教程使用本机 Ollama 运行 Qwen3.8-27B,让模型生成微信小程序原生项目文件,再用微信开发者工具打开和验证。模型输出只是起点:项目结构、事件绑定、空输入处理、缓存读写都要在模拟器里检查。
1. 把想法写成验收条件
先写清楚“用户能做什么”,比先选模型或堆功能更有用。把需求拆成能在模拟器里逐项检查的条件:
| 操作 | 预期结果 |
|---|---|
| 首次打开 | 显示空列表和输入框 |
| 输入任务并添加 | 新任务出现在列表,输入框清空 |
| 留空后点击添加 | 提示填写内容,不生成空任务 |
| 点击任务文字 | 任务切换完成状态 |
| 点击“清除已完成” | 已完成任务移除,未完成任务保留 |
| 添加任务后刷新页面 | 任务仍在本机缓存中 |
把这些条件放入练习包中的 prompt.md。需求卡还要求模型只输出原生小程序页面文件、不加第三方依赖、不接网络,并按路径分别提供代码。范围越清楚,越容易判断生成结果是否符合要求。
2. 选择模型并生成代码
这次用 qwen3.8-27b:latest,通过 Ollama Chat API 生成六个文件。机器是 M1 Max、64GB 内存;Ollama 版本 0.35.1。调用记录显示:输入 212 tokens、输出 1,717 tokens、总耗时约 138.41 秒,其中模型加载约 11.28 秒。原始回复保存在练习包 model_response.json,网页端和其他模型没有参与这次代码生成。
如果你也用 Ollama,先在终端确认模型已下载并能响应:
ollama run qwen3.8-27b:latest
官方模型页的快速体验命令是 ollama run qwen3.8;本机登记的实际模型名是 qwen3.8-27b:latest。如果你使用不同模型,应以 ollama list 显示的名称为准。之后把需求卡贴给模型。模型生成的 app.json、页面 WXML、WXSS 和 JS 要分别放到项目对应位置。若使用 Ollama API,可以参考 Ollama 官方 Chat API 文档;如果用其他 AI 编程工具,也保留同一份验收条件,逐个检查文件。
在模型给出的 JS 中,任务 ID 由 Date.now() 生成。WXML 的 data-id 会作为字符串传回事件处理器,所以处理时要用 Number(e.currentTarget.dataset.id) 再与数字 ID 比较。这个类型细节在静态阅读时不容易发现,实际点选任务时必须验证。
3. 在微信开发者工具里打开项目
下载练习包并解压后,打开微信开发者工具,选择“导入项目”,项目目录选到 project/ 文件夹。练习包的 project.config.json 使用 touristappid,只用于本机模拟器预览;这不代表项目已经绑定了你的小程序账号。
项目打开后点击“编译”。这次在 iPhone 12/13 模拟器配置中看到“今日清单”页面、空状态提示和任务输入框。模拟器初始页面可以正常显示,微信开发者工具的问题面板为 0 个问题;调试器上另有工具自身的错误/警告计数,底部编译状态为 0/0。发生不一致时,先切到“控制台”或“输出”查看具体报错,不要只凭一个计数判断代码好坏。
解压练习包后,项目文件位于 project/。开发者工具 CLI 也能打开项目;本机实际调用命令如下:
"/Applications/wechatwebdevtools.app/Contents/MacOS/cli" open \
--project "/path/to/unzipped/project" --lang zh
把 /path/to/unzipped/project 换成你解压后的绝对路径。开发者工具安装位置可能不同,也可以从应用菜单打开项目。
4. 按验收条件逐项实测
在模拟器中依次做以下操作,并把结果和任何偏差记录下来:
- 留空点击“添加”:出现“请填写任务内容”,列表不增加空项。
- 输入“整理本周需求”并添加:列表出现任务,输入框清空。
- 点任务文字:显示完成样式,同时出现“清除已完成”按钮。
- 点击“清除已完成”:任务移除,页面回到空状态。
- 再创建一项,点击开发者工具模拟器的“刷新页面”:重新加载后任务仍显示,证明这次模拟器刷新没有清掉本地缓存。
这次五项均通过。实测时发现开发者工具里直接向模拟器输入中文不稳定,改用剪贴板粘贴;这属于操作方式调整,不是代码缺陷。验证结束后已删除测试任务,模拟器恢复为空列表。
5. 检查本地保存的边界
项目用 wx.getStorageSync('tasks') 读取任务,用 wx.setStorageSync('tasks', tasks) 保存。微信开放文档说明这是本地缓存接口:除非用户主动删除或存储空间不足被系统清理,数据通常会保留;单个 key 上限 1 MB,总缓存上限 10 MB。它不会自动同步到另一台设备,也不是账号云端备份。清理小程序数据、换设备或改变存储策略后,用户不能假设任务仍可恢复。
因此这份练习没有密码、联系方式、订单或其他真实个人资料。若要做多人共用、换机同步或重要业务数据,应另外设计登录、服务端数据、权限、备份和隐私说明,再单独测试;把数据写进本地缓存不等于完成这些功能。
6. 本地预览和线上发布是两件事
本地模拟器通过,只说明当前代码能在开发者工具的本地环境运行。要让别人用微信体验或正式使用,还需由项目所属主体准备真实小程序 AppID、开发者账号和相应权限,然后在开发者工具登录该账号,按微信开发者工具 CLI 文档了解预览、上传等操作,并在小程序管理后台处理体验、审核和发布。类目、隐私指引、服务域名、备案或其他要求要根据具体业务核实。
本次没有上述账号,因此没有生成线上预览码,没有上传代码,也没有提交审核。不能把游客 AppID、模拟器截图或“编译成功”描述成已经上线。真实上线前建议由项目负责人核实主体资质、类目、隐私政策、用户数据处理、服务端域名和审核要求,并在微信客户端真机走完整流程。
练习包
下载微信小程序本地练习包,解压后导入其中的 project/ 文件夹。包内含需求卡、原始模型回复、实测记录和完整项目代码。
先把一个小功能从需求跑到本地模拟器,再决定是否值得接入账号、云服务或支付。AI 帮你写出的代码仍要按行为验收,线上发布还需要真实开发者身份和平台审核。