TapCub 正式上线:统计、分析、客服一个平台免费用

免费工具 小程序页面路径生成器:带参二维码与 URL Scheme

像 pages/goods/detail?id=1024 这样的页面路径,要用在小程序码、分享卡片、公众号菜单、短信链接和广告里,每处规矩都不一样:不限数量的小程序码只认 32 位以内的 scene,URL Scheme 的 path 不能带参数,支付宝的参数要整体编码。页面和参数填一次,各种格式一起生成,并按官方限制逐项检查。

  • 按官方长度限制检查
  • URL Scheme、URL Link、alipays://
  • 本地生成
生成器

生成带参数的页面路径

路径、链接和接口请求体随输入实时更新。参数按 UTF-8 百分号编码,中文和空格都不会出错。

抖音小程序的链接要通过服务端接口生成,这里不涉及。

微信:wx 开头加 16 位;支付宝:16 位数字。拼 scheme 链接时用,不填则用占位符演示格式。

按 app.json 里的写法,如 pages/goods/detail。开头的 / 会被去掉,粘贴进来的 ?参数 会挪到参数里。

每行一个 键=值,或用 & 连成一行。值照常写,会自动编码。

入口在哪:poster、sms、store021。

渠道类型:offline、sms、social。

活动名,如 double11。

区分版本:table_card、window。

最多 32 个字符。不填就用上面的参数拼(不含 utm);放不下时填一个短 ID。

只对微信外打开的码和链接生效,默认正式版。

带参数的页面路径
pages/goods/detail?id=1024&utm_source=poster&utm_medium=offline&utm_campaign=double11

用于 getQRCode(最长 1024 字符)、分享卡片(onShareAppMessage 的 path)、公众号菜单和 navigateToMiniProgram。

Scheme 链接
weixin://dl/business/?appid=wx0000000000000000&path=pages/goods/detail&query=id%3D1024%26utm_source%3Dposter%26utm_medium%3Doffline%26utm_campaign%3Ddouble11

微信:明文 URL Scheme(场景值 1286),需要先在小程序后台「隐私与安全」里声明「明文 Scheme 拉起此小程序」。支付宝:alipays:// scheme。

不限数量小程序码的 scene
id=1024

// 页面里读取(扫接口 B 的码进入时)
Page({
  onLoad(query) {
    const scene = decodeURIComponent(query.scene || '');
  },
});

getUnlimitedQRCode 的 scene 值,以及页面里怎么读取。

服务端接口请求体
// 小程序码 · 接口 B(数量不限)
POST https://api.weixin.qq.com/wxa/getwxacodeunlimit?access_token=ACCESS_TOKEN
{"page":"pages/goods/detail","scene":"id=1024","check_path":true,"env_version":"release"}

// 小程序码 · 接口 A(与接口 C 合计 10 万个)
POST https://api.weixin.qq.com/wxa/getwxacode?access_token=ACCESS_TOKEN
{"path":"pages/goods/detail?id=1024&utm_source=poster&utm_medium=offline&utm_campaign=double11","env_version":"release"}

// 加密 URL Link(链接为 https://wxaurl.cn/…)
POST https://api.weixin.qq.com/wxa/generate_urllink?access_token=ACCESS_TOKEN
{"path":"pages/goods/detail","query":"id=1024&utm_source=poster&utm_medium=offline&utm_campaign=double11","env_version":"release"}

// 加密 URL Scheme(链接为 weixin://dl/business/?t=…)
POST https://api.weixin.qq.com/wxa/generatescheme?access_token=ACCESS_TOKEN
{"jump_wxa":{"path":"pages/goods/detail","query":"id=1024&utm_source=poster&utm_medium=offline&utm_campaign=double11","env_version":"release"}}

在你的服务器上带 access_token 调用。URL Link 和加密 URL Scheme 的 path 不带参数,参数单独放 query。

检查结果

  • 提示没填 AppID,scheme 链接里用了占位符。
  • 通过scene 7 / 32 个字符,字符都合规。
  • 提示scene 是用你的参数拼的(去掉了 utm)。getUnlimitedQRCode 生成的码打开页面时不带 path 参数,页面要用的信息都得放在 scene 里。

参数明细

参数值编码后类型
id1024id=1024自定义
utm_sourceposterutm_source=posterutm
utm_mediumofflineutm_medium=offlineutm
utm_campaigndouble11utm_campaign=double11utm
全部在你的浏览器里计算。这里输入的任何内容都不会上传,TapCub 也不会保存。

分享这组输入:数值写在链接的 # 后面,不会发到服务器。

版本 v1.0更新于 更新记录

怎么看结果

每种格式用在哪

各个输出打开的是同一个页面、同一组参数,区别在能用在哪里、有什么限制。

带参数的页面路径

微信内使用:分享卡片、公众号菜单和文章、navigateToMiniProgram,以及 getQRCode / createQRCode 生成的码(path 上限分别是 1024 和 128 字符)。参数在页面的 onLoad(query) 里拿到。

scene

给 getUnlimitedQRCode 用,这个接口生成的码不限数量。它的 page 不能带参数,能带进去的只有 32 个字符以内的 scene,页面里从 query.scene 取,要先 decodeURIComponent。

Scheme 链接

微信明文 URL Scheme:weixin://dl/business/?appid=…&path=…&query=…,在后台声明后不调接口就能自己拼。iOS 短信里能直接识别,安卓要从网页里跳转。支付宝是 alipays://platformapi/startapp。

服务端接口请求体

加密 URL Scheme 和 URL Link 要用微信服务端接口生成(只对已发布、非个人主体的小程序开放)。这里给的请求体加上 access_token 就能发。

含中文的值在链接里保持百分号编码。如果页面拿到的还是编码后的样子,用 decodeURIComponent 解开再用。

怎么用

三步

印刷或群发前,先用手机把每个链接、每张码都试一遍。

  1. 1

    填页面

    从 app.json 复制页面路径,选平台;要 scheme 链接就填上 AppID。

  2. 2

    加参数

    业务参数(商品 ID、门店编号)每行一个,再填活动用的 utm_*。要塞进 32 位 scene 的话,ID 尽量短。

  3. 3

    复制需要的格式

    分享卡片和有数量限制的码用路径,不限数量的码用 scene,短信和网页用 scheme 或接口请求体。先把标「错误」的改掉。

规则

官方文档里的限制

2026-11-10 对照微信、支付宝开发文档核对。每天的调用次数上限变得比格式快,以后台显示为准。

  • 编码:键和值都按 UTF-8 百分号编码(encodeURIComponent),空格写成 %20,「海报」写成 %E6%B5%B7%E6%8A%A5
  • 微信 scene 和 query 的字符范围:数字、大小写字母和 !#$&'()*+,/:;=?@-._~;scene 不支持 %,query 要 url_encode
  • 微信 URL Scheme / URL Link:path 必须是已发布小程序里存在的页面,不能带 query,参数单独传
  • 支付宝:alipays://platformapi/startapp?appId=…&page=…&query=…;page 里 ? 后的页面参数和整个 query 都要 UrlEncode,否则只能拿到第一个参数
各格式的参数位置和上限
格式参数放哪上限场景值
getUnlimitedQRCodescene(page 不带参数)scene ≤ 32 字符,不能有 %1047 / 1048 / 1049
getQRCodepath 里的 querypath ≤ 1024 字符1047 / 1048 / 1049
createQRCodepath 里的 querypath ≤ 128 字符1011 / 1012 / 1013
明文 URL Schemequery=(编码后)query ≤ 512 字符1286
加密 URL Scheme接口的 query,或在链接后拼 cqquery ≤ 1024,cq ≤ 2561065
URL Link接口的 query,或在链接后拼 cqquery ≤ 1024,cq ≤ 2561194(微信内 1167)
算一遍

一个商品页,三个入口

一家店推广商品 1024:门店海报、短信、社群转发。同一个页面,三种格式。

页面 pages/goods/detail,商品 id=1024
入口格式填什么
门店海报(20 家店)getUnlimitedQRCodepage 填 pages/goods/detail,scene 填 id=1024&s=21(13 个字符,21 号店)
短信URL Link 或明文 URL Schemequery 填 id=1024&utm_source=sms&utm_campaign=double11
社群转发分享卡片的 pathpages/goods/detail?id=1024&utm_source=group

整套 utm 放不进 32 个字符,所以海报码只带门店编号,由页面对应到活动。再配合场景值(1047、1194、1008)就能确认每次访问走的是哪个入口。

常见错误

小程序链接为什么会丢参数

几乎都是编码问题,或者参数放错了字段。

嵌套的 query 里 & 没编码

scheme 里写 query=a=1&b=2,b 会被当成 scheme 自己的参数丢掉。整段编码:query=a%3D1%26b%3D2。

不限数量的码 page 带了参数

getUnlimitedQRCode 的 page 不能带参数。参数放 scene,页面读 query.scene。

scene 里写中文

scene 不支持 %,编码后的中文放不进去。用 ID,到服务器上查详细信息。

和 SDK 的参数重名

TapCub 小程序 SDK 的 withShareParams() 会在分享路径上用 tc_sd、tc_sdp、tc_sfp,自己的参数换别的名字。

常见问题

小程序页面路径常见问题

还有其他问题?

直接和 TapCub 团队聊聊——工作日通常几小时内回复。

小程序页面路径怎么带参数?

在路径后面加 query:pages/goods/detail?id=1024&from=poster,页面在 onLoad(query) 里读取。值里有中文、空格或 & 的要先编码。

小程序码的 scene 参数有什么限制?

getUnlimitedQRCode 的 scene 最多 32 个可见字符,只能用数字、大小写字母和 !#$&'()*+,/:;=?@-._~,不支持 %,所以中文没法用 urlencode 放进去。page 不能带参数;页面里用 decodeURIComponent(query.scene) 读取。

URL Scheme 和 URL Link 有什么区别?

都能从微信外打开小程序。URL Scheme 形如 weixin://dl/business/?t=…(加密)或 ?appid=…&path=…(明文);URL Link 是 https 链接(https://wxaurl.cn/…),网页和微信内也能用。加密 Scheme 和 URL Link 由服务端接口生成,明文 Scheme 在后台声明后自己拼。

明文 URL Scheme 打不开怎么办?

先确认后台已开启「明文 Scheme 拉起此小程序」;path 要是已发布版本里存在的页面且不带参数;query 要编码且不超过 512 个字符。安卓短信里不识别 scheme,要从网页里跳转。

支付宝小程序跳转链接怎么拼?

alipays://platformapi/startapp?appId=<AppID>&page=<页面路径>&query=<启动参数>,page 里 ? 后的参数和整个 query 都要编码。网页和短信里用时,把 scheme 再编码一次接在 https://ds.alipay.com/?scheme= 后面。

小程序路径要不要加 utm 参数?

要按活动看效果就加:TapCub 的「带参链接 / 渠道二维码」表按 utm_source 和 utm_campaign 汇总,和场景值互不影响。32 位的 scene 里放不下,就用短 ID 对应。

我填的内容会上传吗?

不会。路径、链接和请求体都在浏览器里生成。分享链接只把输入放在网址 # 后面,浏览器不会发给服务器。

更新记录

更新记录

这个工具的新功能、修复和数据更新,最新的在前。

  1. · v1.0

    首次上线首次上线。

缺功能或发现错误?告诉我们,常被提到的会排进下次更新。 全部工具更新

下一步

看清是哪张码、哪条链接带来的人

TapCub 从每次启动里读出场景值和参数,小程序用户和网站、App 用户放在一起看。

看清数据,找到增长。

每一次点击,都有数据依据。装好一行代码,1 分钟看到第一批数据。

无需信用卡 · 统计与客服都有免费版 · 统计无 Cookie