Appearance
版本名称与图片
适用于 SDK 0.8.2 及以上。小程序资料跟随版本审核,正式发布时才更新线上展示;审核中、驳回和撤回不会改变线上资料。
项目声明
在项目 package.json 的 heybox 对象配置:
json
{
"heybox": {
"name": "示例小程序",
"desc": "查询游戏数据,记录游玩进度。",
"icon": "assets/icon.png",
"coverImages": ["assets/cover.png"]
}
}desc 是 SDK 0.9.1 起支持的可选简介;旧版本请省略。它会去除首尾空白,最多 200 个 Unicode 字符,空内容不写入 Manifest。完整校验规则见小程序简介。简介随构建产物提交,是否展示取决于简介页支持情况。
名称按 NFKC 规范化并去除首尾空白,长度 1–40 个 Unicode 字符,须含文字或数字,不能包含控制字符和 <>&"'。图片必须是项目内的 JPEG、PNG、GIF 或 WebP 普通文件;icon 为 200×200,封面 1–5 张且路径不重复。每张不超过 10 MiB、4000 万像素。路径相对声明所在 package.json,不接受 URL、绝对路径、上级目录、依赖或构建目录,也不能通过符号链接逃逸项目。
miniappManifest() 原样复制引用图片到 dist/_hb/basic-info/,将产物路径写入 Manifest。图片计入整包签名、文件回执和 100 MiB Web 预算,不会压缩、裁剪或重新编码。勿向 SDK 保留目录写入自定义文件。
已有项目迁移
remote bind、dev、remote deploy 在三项字段全部缺失时尝试迁移当前正式发布资料(含已下架项目)。该迁移不自动补充 desc,需自行声明简介。部分配置不自动补齐;从未正式发布的项目需手工配置。迁移先下载并验证图片,最后原子写入 package.json;失败保留原配置,既存文件不会被覆盖或删除。
hb-sdk build 保持离线,缺字段直接失败。remote info 只读比较本地与当前发布快照,无法可靠读取图片时显示 unavailable。
提交审核与恢复
每次 remote deploy 都从当前项目重新构建。Open 选择同一 dist 目录,名称和图片只读预览,不能由网页覆盖。脚手架的占位图片允许开发和构建,提交前必须替换。
上传前先执行服务端权威准入,成功后才上传缺失文件;最终提交仅传会话和准入 token。发布参数变化或 token 失效时重新准入,同一构建的已上传文件仍可复用。权限、资格或候选版本在上传期间变化可能使提交失败,处理状态后重试即可。
满足最低 SDK 策略且早于 0.8.2 的旧产物沿用当前正式发布快照;无快照时应升级并重新构建。上线迁移窗口仅在服务端开启兼容开关时临时保留旧 SDK 无快照项目的网页资料输入,新产物不能使用该入口。平台和权限既有的 0.9.0 切点不变。
完成检查
- 三项字段齐全,图片格式、大小和尺寸通过构建校验。
- 替换所有占位图片,并按既有版本规则提交。
- 审核和发布后确认线上展示来自本次版本快照。
安装图片解码依赖
本版本使用 sharp 校验图片真实格式和可解码性。启用 pnpm 构建脚本白名单的项目,需要在自己的 pnpm-workspace.yaml 中允许 sharp,然后安装依赖:
yaml
allowBuilds:
sharp: true这是安装步骤;离线 build 和资料迁移都不会修改构建脚本白名单。