Skip to content
Back to skills

Miniprogram Review

ASecurity

小程序审核——微信小程序提审前自查(类目、隐私授权、测试账号、诱导分享)、驳回后逐条修改、写申诉与再提审说明,附风险扫描脚本。当用户说「小程序审核被驳回」「提审前要检查什么」「审核申诉怎么写」时使用。

  • 2 stars
  • 0 votes
  • 0 copies
  • 0 views
  • Added October 13, 2026
ai-agentspythonbash

Security analysis

A100/100

Pro scans all 7 files and shows the line behind each finding

Scanned October 13, 2026

npx -y skills add po-et/workbuddy-skills --skill miniprogram-review --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Miniprogram Review?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for Miniprogram Review
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/po-et-miniprogram-review/badge)](https://www.skillsdirectory.com/skills/po-et-miniprogram-review)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
SKILL.md
---
name: miniprogram-review
description: "小程序审核——微信小程序提审前自查(类目、隐私授权、测试账号、诱导分享)、驳回后逐条修改、写申诉与再提审说明,附风险扫描脚本。当用户说「小程序审核被驳回」「提审前要检查什么」「审核申诉怎么写」时使用。"
author: Captain
version: 0.1.0
display_name: "小程序审核"
display_name_en: "Mini Program Review"
description_zh: "微信小程序提审与驳回处理:提审前七项自查(类目资质、隐私保护指引与授权时机、登录与测试账号、内容安全、支付与虚拟支付、页面可用性、诱导分享)、驳回原因到修改动作对照、申诉与再提审说明模板、加急与发布节奏;附项目扫描脚本。规则以官方最新版本为准。"
description_en: "Get a WeChat Mini Program through review: a seven-part pre-submit checklist, a rejection-to-fix map, appeal and resubmission templates, release pacing, and a local project scanner for common rejection signals."
tags:
  - "小程序审核"
  - "微信小程序"
  - "审核驳回"
  - "提审"
  - "隐私保护指引"
  - "诱导分享"
  - "类目资质"
  - "审核申诉"
  - "mini program review"
  - "WeChat Mini Program"
examples_zh:
  - "小程序审核被驳回了,说存在诱导分享,怎么改?"
  - "第一次提交小程序审核,提审前要检查什么才能一次过?"
  - "驳回理由我觉得是误判,审核申诉怎么写?"
examples_en:
  - "My WeChat Mini Program was rejected for inducing sharing. What should I change before resubmitting?"
  - "What should I check before submitting a mini program for review the first time?"
---

# 小程序审核

定位一句话:**提审前按七项自查、一次改完;被驳回就逐字对照驳回原文,定位页面、修改、在提审说明里逐条对应,只有确属误判才申诉。** 本技能写的都是常见要求,以《微信小程序运营规范》及官方平台通知的最新版本为准,不引用条款编号。

## 何时使用

- 「小程序审核被驳回了,理由是……,怎么改?」
- 「第一次提审,想一次过,要检查什么?」
- 「隐私保护指引怎么填?授权弹窗什么时候弹?」
- 「帮我扫一下项目,看看有没有容易被驳回的地方」
- 「驳回理由我觉得不对,申诉怎么写?」
- 「下周就要上线,审核还没过,能加急吗?」

不适用:
- 办理行业资质、ICP 备案的具体流程 → 找对应主管部门或官方指引,本技能只提示需要什么。
- 小程序本身的开发 bug(性能、兼容、报错)→ 按一般调试方法处理,本技能只管与审核相关的部分。
- 其他平台(支付宝、抖音小程序、应用商店)的审核 → 思路可借鉴,规则以各平台为准,只简答。

## 提审前自查(七项)

| 项 | 常见要求 | 自查动作 |
|---|---|---|
| 1 类目与资质 | 服务类目覆盖全部功能;需要资质的类目已上传资质;名称简介与功能一致 | 列出全部功能逐项对照官方服务类目表 |
| 2 隐私与授权时机 | 用到的涉及用户信息的接口已在《用户隐私保护指引》中声明;用到时才请求授权;拒绝后基础功能可用 | 扫描脚本列出接口,与声明逐项比对;拒绝全部授权走一遍 |
| 3 登录与测试账号 | 审核人员能体验核心功能;必须登录的提供测试账号;能先浏览的不强制登录 | 专用测试账号写进提审说明,审核期间不改密码 |
| 4 内容安全 | 无违法违规、低俗、侵权内容;用户可发布内容的有审核、举报与处置 | 接入内容安全检测(接口以官方文档为准)加人工处理 |
| 5 支付与虚拟支付 | 交易需开通支付且类目允许;虚拟商品或服务在 iOS 端有额外限制 | 实物写清价格售后;虚拟商品先查官方最新说明 |
| 6 页面可用性 | 所有入口能打开、不白屏、无测试内容和「敬请期待」空壳 | 关闭「不校验合法域名」后,用体验版真机点遍所有入口 |
| 7 诱导分享与关注 | 不以分享、邀请好友、关注公众号换取功能或奖励 | 脚本扫文案,再人工看弹窗和分享卡片 |

每项的逐条打勾清单与常见坑见 [references/pre-submit-checklist.md](references/pre-submit-checklist.md)。

## 被驳回后:四步

1. **拆**:把驳回原文逐字拆成几条,每条单独处理,不只改「看起来最重要」的那条。
2. **定位**:找到每条对应的页面或功能(驳回通知常附截图或路径);再全局找同类设计(分享卡片、活动弹窗、分包页面)。
3. **改**:按对照表做修改动作。常见几类:诱导分享 → 分享改为可选、奖励与分享脱钩;未声明隐私 → 补声明或删调用;强制授权 → 用到时再请求;缺测试账号 → 补账号与路径;页面打不开 → 查域名、HTTPS、缺失页面。完整对照表见 [references/rejection-map.md](references/rejection-map.md)。
4. **说明**:再提审时在说明里逐条对应驳回原文写改了什么;只有驳回所指的问题确实不存在,才申诉。模板见 [references/appeal-templates.md](references/appeal-templates.md)。

## 申诉、加急与发布节奏

- 申诉只用于误判:逐条回应、只讲事实、附页面路径和测试账号、语气克制,不争论规则本身。
- 加急:后台有加急入口时可以用,次数与条件以后台为准;排期不要押在加急上。
- 节奏:上线日前至少留出一次「驳回—修改—再提审」的时间;大改动拆小版本提审;审核期间后端接口和测试账号保持可用;提审版本与上线表现一致。
- 发布:审核通过后手动发布或按后台选项自动发布;后台提供分阶段发布、版本回退时可用于控制风险(以后台为准)。

## 扫描脚本(只读)

`scripts/mp_precheck.py` 扫描项目目录里的 `app.json` 和页面的 `.json`、`.wxml`、`.js`、`.ts` 文本,列出常见的被驳回风险信号:页面缺文件、重复注册、tabBar 与跳转目标未注册;涉及用户信息的接口(给了 `--declared` 就比对声明清单)、位置类接口未写进 `requiredPrivateInfos`、启动时就请求授权;http 明文、IP、本机地址与 `urlCheck: false`;诱导分享和测试文案;虚拟商品支付与用户发布内容的提示。注释里的代码不算。

```bash
python3 scripts/mp_precheck.py ./my-miniprogram
# 已在隐私保护指引里声明的接口名或信息类型,每行一个(如 getLocation、手机号)
python3 scripts/mp_precheck.py ./my-miniprogram --declared declared.txt --format md --out precheck.md
python3 scripts/mp_precheck.py ./my-miniprogram --strict      # 有「高」时退出码 3,可放进构建检查
```

脚本看不到后台:类目、资质、隐私指引的实际填写、服务器域名配置、测试账号是否可用,都要人工核对。样例项目的真实输出与解读见 [examples/precheck-scan.md](examples/precheck-scan.md)。

## 信息不全或出错时

| 情况 | 怎么处理 | 对用户说的话(模板) |
|---|---|---|
| 缺关键信息 | 只问 3 个:驳回原文(逐字)、涉及的页面或功能、主体类型与所选类目。其余按常见情况给方案,标 [待确认] | 「请把驳回原文逐字贴过来,再告诉我涉及哪个页面、主体是企业还是个人、选了什么类目。」 |
| 描述与驳回原文矛盾(说没有分享功能,驳回却是诱导分享) | 指出矛盾,给两种可能:分享卡片或活动弹窗里有诱导文案 / 分包或旧页面残留;让用户按路径排查 | 「驳回说诱导分享,你说没有分享功能:常见是分享卡片文案或旧活动页残留,先跑一遍扫描脚本看 INDUCE 项。」 |
| 超出范围(资质办理、法律合规定性) | 说明需要什么,转主管部门、官方指引或专业人士 | 「这个类目需要的资质要找主管部门办理,我能帮你核对功能和类目是否对得上。」 |
| 时间紧,只要最小可用版 | 只做三件事:按驳回原文逐条改;真机点遍入口;写逐条对应的再提审说明 | 「先把两条驳回改掉、真机走一遍、按模板写说明,今天就能再提审。」 |
| 坚持越界(审核时隐藏功能、换个说法继续诱导分享、伪造资质) | 拒绝,说明风险,给合规替代 | 「审核版和线上版不一致属于违规,被发现后果更重;把分享改成可选、奖励和分享脱钩,一样能做活动。」 |
| 多次驳回、理由不同 | 按七项清单全量过一遍,一次改完再提 | 「每次理由都不同,说明问题分散,我们按清单全量查一遍再提。」 |

脚本退出码:

| 退出码 / 现象 | 原因 | 修正办法 |
|---|---|---|
| 0 | 扫描完成 | 按清单处理 |
| 1 | 参数错误(`--format` 不是 text/md/json、`--max-file-kb` 不大于 0) | 按提示改 |
| 2 | 目录不存在、找不到 `app.json`、声明清单读不了、报告写不进去 | 传含 `app.json` 的那一层,或含 `project.config.json` 的项目根目录 |
| 3 | 用了 `--strict` 且有「高」 | 处理后重扫 |
| 130 | 按了 Ctrl-C | 重跑 |
| 报告第一条是 APP-JSON | `app.json` 不是严格 JSON(注释、多余逗号) | 修正后重扫,页面相关检查才会执行 |

## 输出契约

交付物按固定顺序:
1. **结论**:能不能提审;被驳回的,是改还是申诉。
2. **定位**:驳回原文每一条对应的页面或功能(自查时换成脚本与清单发现的问题)。
3. **修改清单**:按先「高」后「中」排序,每条写改什么、改到什么状态算完成。
4. **再提审说明或申诉稿**:逐条对应驳回原文。
5. **人工核对项与时间安排**:脚本看不到的后台设置;留出再次驳回的余量。

占位符:用户要提供的写 [待补](驳回原文、测试账号、页面路径);推测写 [待确认](类目、主体类型)。

交付前自检(逐条是/否):
- [ ] 驳回原文的每一条都有对应的修改或说明,没有漏条?
- [ ] 所有规则都写成常见要求,并注明以官方最新版本为准,没有编条款编号和日期?
- [ ] 修改方案里没有「审核时隐藏、上线后打开」这类做法?
- [ ] 测试账号、路径写清楚,且提醒审核期间不改密码?
- [ ] 材料里没有 AppSecret、服务器密码等密钥?

## 示例

**用户(示例)**:驳回两条:一是存在诱导分享,二是收集手机号但没在隐私保护指引里声明。下周一上线。

**助手先问**:分享在哪个页面、文案是什么?手机号在哪一步获取?隐私指引现在声明了什么?

**用户**:结果页有「分享到 3 个群查看完整报告」;首页一打开就要手机号;指引只声明了位置。

**交付物(节选,完整版见 [examples/rejection-fix.md](examples/rejection-fix.md))**:

```
【结论】两条问题都真实存在,不申诉,改完重新提审
【修改清单】1 完整报告直接展示,分享改为可选、不挂任何奖励;分享卡片文案一并检查
          2 手机号改到点击下单时才请求,拒绝后可手动填写
          3 隐私保护指引补充「手机号」声明;跑 mp_precheck.py --declared 确认没有其他遗漏
【再提审说明】1「存在诱导分享行为」→ 已删除结果页「分享到 3 个群查看完整报告」,报告无需分享即可查看……
```

## 常见问题(FAQ)

- **审核要多久?能加急吗?** 时长以官方为准。后台有加急入口时可以用,次数与条件以后台为准;排期要留出一次被驳回的余量。
- **驳回理由看不懂怎么办?** 先逐字对照定位;仍不清楚,通过官方提供的咨询或申诉渠道请求指明具体页面。
- **别的小程序也这么做,为什么驳回我?** 以你收到的驳回原文为准。类目、资质、实现方式都可能不同,别人的情况不能当依据。
- **隐私保护指引要声明哪些?** 代码里实际用到的涉及用户信息的接口。用脚本列清单对照;用不到的调用删掉,不为以后提前声明。
- **必须登录才能用,怎么过审?** 提供专用测试账号和体验路径,审核期间不改密码;能先浏览的内容尽量不强制登录。
- **能直接帮我提交审核或申诉吗?** 不代为登录后台操作。我给修改清单和文案,你来提交。
- **个人主体能选哪些类目?** 以官方类目表为准;功能超出可选类目的,要么换主体,要么调整功能。

## 常见错误(反模式)

- 只改驳回截图那一处 → 同类设计在分享卡片、别的页面还在,再次被驳回 → 全局扫描、同类一起改。
- 审核时隐藏功能、上线后再打开 → 属于违规,被发现后果更重 → 提审版本与线上一致。
- 一进小程序就要手机号或位置 → 强制授权是常见驳回原因 → 用到时再请求,拒绝后可用。
- 在开发者工具里勾着「不校验合法域名」测完就提审 → 审核时白屏 → 关掉校验,用体验版真机测。
- 审核期间改测试账号密码、停后端 → 审核人员进不去 → 专用账号,审核期不动环境。
- 申诉写成情绪化的争辩 → 无效还耽误时间 → 只讲事实、附路径,确属误判才申诉。
- 为「以后可能用」提前声明一堆隐私接口 → 超出必要范围收集 → 只声明实际用到的。
- 上线日卡在审核当天 → 一次驳回就延期 → 至少留一次再提审的时间。

## 边界与不做什么

- 规则都写成常见要求,以《微信小程序运营规范》及官方平台通知的最新版本为准;不引用条款编号,不给审核时长、通过率、加急次数等具体数字。
- 不代为登录小程序后台,不代为提交审核或申诉;不索要 AppSecret 等密钥。
- 不提供绕过审核的办法,包括审核开关、分环境隐藏功能、换个说法继续诱导分享。
- 不伪造资质,不编造申诉里的事实。
- 资质办理与医疗、金融、教育等领域的合规判断,找主管部门、官方指引或专业人士。
- 扫描脚本只读本地文件,结论是风险信号,不能保证通过审核。
- 官方资料去哪查(名称以官方为准):微信公众平台的小程序后台(版本管理、服务类目、用户隐私保护指引、服务器域名),微信开放文档中小程序的运营规范、服务类目、用户隐私保护相关章节,以及后台公告与站内信里的平台通知。

Files in this skill

  • SKILL.md14.5 KB
  • examples/precheck-scan.md7.2 KB
  • examples/rejection-fix.md3.2 KB
  • references/appeal-templates.md3.6 KB
  • references/pre-submit-checklist.md4.9 KB
  • references/rejection-map.md4.7 KB
  • scripts/mp_precheck.py30.2 KB

Attribution

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments

Loading comments…

Newsletter

Get the weekly list of safe new skills, and the ones we pulled.