codecamp

WorkBuddy 小程序开发与发布

WorkBuddy 可以根据需求生成微信原生小程序,按需接入云数据库、身份认证和文件存储等能力,并通过托管发布流程,协助完成代码上传、提交审核和版本发布。

概述

本功能适合希望将业务想法、活动、商品服务或内部工具做成微信小程序的个人、商家和团队。你不需要了解小程序工程结构,也不需要在本地搭建开发环境。小程序账号始终归你所有。

常见场景包括:

  • 品牌展示:公司主页、产品手册、电子名片;
  • 预约服务:到店预约、维修登记、摄影预约;
  • 活动服务:活动报名、现场签到、问卷调查;
  • 内部协作:器材借用、事项申报、进度登记;
  • 轻量工具:报价器、计算器、抽奖转盘。

生成微信小程序

可以通过以下三种方式创建:

  1. 在 WorkBuddy 首页进入「代码开发」,选择「小程序」,使用推荐场景开始创建;

首页代码开发中选择小程序

  1. 直接描述需求,建议在需求中明确写出「微信小程序」。
  2. 如果已经有网页,直接告诉 WorkBuddy 将它改成微信小程序。

如果需要云服务,不必写具体的技术方案,直接说明数据长期保存、用户登录、图片上传或多人参与等实际需求即可。例如:

制作一个读书清单微信小程序。用户可以通过微信登录,添加正在阅读和已经读完的书籍,阅读记录需要保存到云端。

部分行业或功能需要满足微信规定的服务类目和资质要求,具体请查看微信小程序平台运营规范。

预览和修改

生成完成后,对话中会出现「微信小程序」产物卡片。点击卡片,可以在右侧预览区查看效果,并继续通过对话修改页面、文案和功能。

说明

WorkBuddy 中的预览主要用于检查页面样式和基础交互,与微信内的实际运行效果可能存在差异。微信登录等能力,需要发布为试用版或体验版后,再通过微信进行真机测试。

如需进一步调试,可以让 WorkBuddy 打开微信开发者工具,在真实的小程序环境中预览、真机调试或排查问题。

预览区工具栏

预览区上方的工具栏右侧依次是分享、刷新和更多操作(…):

预览区右上角的分享、刷新和更多操作,更多操作中可打开文件夹

  • 小程序不支持可视化编辑,所以工具栏上没有编辑按钮;
  • 分享用于进入发布流程,见发布微信小程序;
  • 刷新直接放在工具栏上,用于重新编译并刷新预览,更多操作菜单里不再重复;
  • 更多操作菜单里可以打开文件夹,定位到小程序工程所在的本地目录。

预览区底部提示

预览画面下方常驻一行提示:「预览仅供参考,真机效果请打开微信开发者工具或发布后扫码查看」。

预览画面下方的提示,两个可点击的部分为蓝色

  • 文字默认为灰色,鼠标移到预览区上时,两个可点击的部分变为蓝色;
  • 点击打开微信开发者工具,会用本机已安装的微信开发者工具打开当前小程序工程,打开过程中会提示「正在打开微信开发者工具…」,成功后提示「已在微信开发者工具中打开」;
  • 点击发布后扫码,等同于点击右上角的分享,进入发布流程,发布后用微信扫码查看真实效果;
  • 本机没有安装微信开发者工具时,打开微信开发者工具显示为灰色文字,不能点击;安装后回到 WorkBuddy 窗口即可恢复。

预览加载失败与 AI 修复

预览加载失败时,预览区会显示「预览加载失败」,并提供两个入口:

预览加载失败:显示「AI 修复」按钮,屏幕底部为「查看错误详情」

  • AI 修复:位于「预览加载失败」提示下方。点击后,WorkBuddy 会在当前对话里自动发送一条「修复预览问题」的消息,并附带编译错误信息,Agent 修改工程后,预览会自动重新编译。修复期间按钮显示加载状态;如果 AI 没有修好,按钮会恢复可点,可以再次点击;
  • 查看错误详情:位于预览屏幕底部。点击后展开编译失败的具体原因,可用于手动排查,或补充给 Agent。

如果发送修复请求失败,会提示「发送修复请求失败,请重试」。预览所在任务没有可用的对话时,不显示AI 修复,改为重试按钮。

预览区的显示方式(手机外框、顶部胶囊按钮、深色模式)会跟随 WorkBuddy 当前的主题。

开启云服务

当应用需要保存数据、用户登录或上传文件时,WorkBuddy 会在生成过程中提示是否开启对应云服务。确认开启后,WorkBuddy 会继续完成相关配置,无需你手动填写技术参数。具体的功能介绍和使用方式请参见云服务。

对应能力 使用场景
云数据库 保存和管理用户提交的信息
身份认证 支持手机号、微信或邮箱登录,并区分不同用户的数据或权限
文件存储 上传并保存图片或附件
数据统计 查看用户数量和注册趋势

发布微信小程序

小程序制作完成后,点击预览区右上角的「分享」按钮,进入发布流程。

点击预览区右上角的分享按钮进入发布流程

发布时,WorkBuddy 会以微信第三方服务商身份接入你授权的小程序账号,协助完成代码上传、试用版生成、提交审核和版本发布。账号注册、认证、备案、审核及后续运营规则以微信官方要求为准。

根据是否已有微信小程序账号,可以选择试用版、体验版或正式版:

版本 主要用途 需要已有账号 需要微信审核 主要限制
试用版 快速验证效果 否 否 14 天有效,到期后自动注销
体验版 上线前调试和验收 是 否 仅有体验权限的用户可以访问
正式版 对外发布和长期运营 是 是 需完成备案并通过微信审核

注意

创建试用版后仍可解绑并重新选择发布方式,但试用版不能直接转为正式版。如需长期运营,建议绑定自己的小程序账号。

发布试用版

试用版不需要提前注册微信小程序账号,适合快速验证效果。

在分享面板中选择创建试用版小程序

  1. 在分享面板中选择「创建试用版小程序」;
  2. 使用微信扫码并关注 WorkBuddy 服务号;
  3. 在服务号中点击「创建试用小程序」,按页面提示完成授权;

微信扫码关注 WorkBuddy 服务号

在服务号中创建试用小程序

按页面提示完成授权

  1. 收到授权成功通知后,返回 WorkBuddy,点击「发布」。发布成功后,可以点击小程序码图标查看并分享。

返回 WorkBuddy 点击发布试用版

试用版发布成功后的小程序码入口

试用版存在以下限制:

  • 一个微信号最多可以创建 5 个试用版小程序;
  • 有效期为 14 天,到期后会自动注销,原小程序码将无法继续访问;
  • 最多支持 15 人体验;
  • 不支持的功能:微信支付、小程序直播、不可以被搜索、没有 AppSecret、不可以扫码登录公众平台。

如需更换发布方式,在分享面板中点击「解绑」,即可重新选择发布方式,原试用小程序在注销前仍可访问。

在分享面板中点击解绑

绑定已有小程序

已有微信小程序账号时,可以绑定账号并发布体验版或正式版。如果还没有账号,可先前往微信公众平台注册。完成一次账号绑定后,即可使用同一账号发布体验版或正式版,无需分别绑定。

在分享面板中选择绑定已有小程序账号

  1. 在分享面板中选择「绑定已有小程序账号」;
  2. 使用小程序管理员的微信扫描二维码,选择要发布的小程序账号,根据页面提示完成授权;

使用小程序管理员微信扫描二维码

选择要发布的小程序账号

根据页面提示完成授权

  1. 返回 WorkBuddy,勾选需要发布的版本并点击「发布」,成功后即可获得小程序码。

勾选需要发布的版本并点击发布

发布体验版后点击小程序码图标查看

发布体验版

体验版用于上线前调试和验收,无需微信审核,最多支持 15 名体验成员。其他用户首次打开体验版时,需要申请体验权限。小程序管理员批准后,对方才可以访问。

管理员可以前往微信公众平台,进入「管理 > 成员设置 > 体验成员」,管理体验权限。

在微信公众平台管理体验成员

发布正式版

正式版用于对外发布,需要提交微信审核。

完成设置后,在分享面板中勾选「正式版」并点击「发布」。提交后可在分享面板中查看审核进度;审核通过并完成发布后,即可通过正式版小程序码访问和分享。

在分享面板中勾选正式版并发布

发布前,请在分享面板中点击「小程序设置」,依次检查以下三项:

点击分享面板中的小程序设置

小程序设置中的备案、隐私保护指引与 UGC 声明

设置项 处理说明
小程序备案 境内小程序应完成备案,以保证正式版可以正常访问。未完成备案时,微信可能限制新用户访问或暂停服务。具体流程可参考微信官方的备案操作指引
用户隐私保护指引 小程序涉及处理用户个人信息时,需要按实际情况填写信息类型、收集目的、变动通知方式,以及用于联系开发者的手机号和邮箱。
用户生成内容场景(UGC)信息安全声明 提审类目包含社区、论坛、笔记、问答等用户生成内容场景时,需要在微信公众平台「管理 > 账号设置 > 基本设置 > 服务内容声明」填写。

正式版审核期间不能再次提交新的正式版更新。在 WorkBuddy 中,每个微信小程序每周可以提交 3 次正式版审核,剩余次数以面板显示为准。

正式版发布检查

提交正式版前,WorkBuddy 会先检查以下四项,一次性检查完,不会因为某一项不通过就提前中断:

检查项 不通过时的提示
审核状态 微信侧有正在审核的版本,审核结束后才能提交新的正式版
服务类目 服务类目未审核通过,请先在微信公众平台设置服务类目
小程序备案 小程序尚未完成备案,境内小程序需完成备案才能提交正式版;提示旁有查看教程
主体认证 主体实名或微信认证未完成

  • 全部通过:继续构建、上传并提交微信审核;
  • 有项目不通过:不会提交正式版,正式版的状态显示为「校验失败」,悬停可以看到「正式版未通过发布检查,体验版不受影响」以及具体原因。本次同时选择了体验版时,会自动改为只发布体验版;
  • 暂时读不到某一项的状态(例如微信接口异常)时,会提示「暂时无法读取…」,同样会拦下本次正式版,稍后重试即可;
  • 检查发现风险但没有阻断时(例如服务类目存在风险、主体处于年审期),正式版照常发布,并在正式版一行下方提示「发布检查提示:…」,请留意微信的审核结果。

发布状态标签

分享面板里,每个版本的名称旁会显示当前的发布状态:

状态 含义
未发布 这个版本还没有发布过
发布中 正在检查、构建、打包和上传,这几个阶段统一显示为「发布中」
微信审核中 已提交微信审核,仅正式版有这个阶段
已发布 已经发布成功
校验失败 发布前的检查没有通过,例如正式版发布检查未通过
审核失败 微信审核未通过或被撤回
发布失败 其他原因导致的发布失败
已过期 试用版已过有效期

把鼠标悬停在状态标签上:

  • 发布中、微信审核中:显示完整的发布进度,当前进行到哪一步;
  • 已发布:显示全部步骤已完成;
  • 失败状态:只显示失败原因,不显示发布进度。

更新和下线

修改应用后,线上版本不会自动同步。可以在分享面板中点击「更新」。更新正式版需要重新提交微信审核。新版本审核通过并完成发布前,用户会继续使用当前已上线的版本。

目前只有正式版支持下线。如需停止正式版对外提供服务,可以在分享面板中点击「下线」。下线后,正式版小程序将无法继续访问。

管理已创建的应用

在设置的数据管理中查看已创建的应用

若要统一查看已创建的全部应用,可进入「设置 > 数据管理 > 应用」。在这里可以:

  • 查看各应用的发布状态;
  • 管理各应用的云服务;
  • 找到已发布的小程序码;
  • 返回对应的任务继续修改。

常见问题

可以代注册微信小程序账号吗

不可以。WorkBuddy 可以协助创建试用版小程序,但不能代替你注册用于长期运营的微信小程序账号。如需发布体验版或正式版,请先在微信公众平台注册小程序账号,再授权给 WorkBuddy。

如何解绑小程序的第三方平台授权

当出现以下情况时,需要先解绑小程序的第三方平台授权,再重新授权给 WorkBuddy:

  1. 发布时提示「授权异常,请尝试重新授权小程序」;
  2. 小程序此前已授权给其他第三方代开发平台,需要换绑到 WorkBuddy。

在微信公众平台检查第三方平台授权状态

操作方式:

  1. 登录微信公众平台,进入「管理 > 账号设置 > 第三方设置 > 第三方平台授权管理」;
  2. 找到已授权的平台,点击右侧「解除授权」;
  3. 返回 WorkBuddy,重新扫码授权。

为什么发布后扫码提示小程序已暂停

小程序提交发布并通过微信代码审核后,扫描小程序码提示「小程序已暂停」。可以在微信公众平台进入「管理 > 账号设置 > 账号信息」,在「暂停服务」一栏点击「恢复服务」。恢复后,再次扫描小程序码确认是否可以正常访问。

在微信公众平台恢复小程序服务

正式版审核未通过

分享面板会展示微信返回的完整审核原因,微信中的「服务通知」也会发送审核消息提醒。请根据审核原因修改应用或完善相关信息,修改后建议先发布体验版完成真机验证,确认功能和内容无误后,再重新提交正式版审核。

声明

本节说明,构成服务协议和隐私保护指引的组成部分,具有同等法律效力。 如有不一致之处,以前述协议原文为准。

WorkBuddy 帮助与反馈
WorkBuddy 网站应用开发与发布
温馨提示
下载编程狮App,免费阅读超1000+编程语言教程
取消
确定
目录

WorkBuddy 支持

关闭

MIP.setData({ 'pageTheme' : getCookie('pageTheme') || {'day':true, 'night':false}, 'pageFontSize' : getCookie('pageFontSize') || 20 }); MIP.watch('pageTheme', function(newValue){ setCookie('pageTheme', JSON.stringify(newValue)) }); MIP.watch('pageFontSize', function(newValue){ setCookie('pageFontSize', newValue) }); function setCookie(name, value){ var days = 1; var exp = new Date(); exp.setTime(exp.getTime() + days*24*60*60*1000); document.cookie = name + '=' + value + ';expires=' + exp.toUTCString(); } function getCookie(name){ var reg = new RegExp('(^| )' + name + '=([^;]*)(;|$)'); return document.cookie.match(reg) ? JSON.parse(document.cookie.match(reg)[2]) : null; }