
小程序生成 URL Scheme 文档
一、概述
URL Scheme 是一种用于访问小程序特定页面的链接格式。通过生成 URL Scheme,开发者可以允许用户从微信外部(如网页、短信等)直接跳转到小程序的指定页面,并携带参数。本文档将详细介绍如何生成和使用小程序的 URL Scheme。
二、前提条件
- 小程序账号:确保你拥有一个已注册的小程序账号,并且具备开发权限。
- 开发者工具:安装并配置好微信开发者工具。
- 服务器支持:生成 URL Scheme 的接口需要服务器调用,因此你需要一个能够发起 HTTPS 请求的服务器环境。
三、步骤详解
步骤一:获取 Access Token
在调用生成 URL Scheme 的接口之前,需要先获取 Access Token。可以通过以下 HTTP GET 请求获取:
GET https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid=APPID&secret=SECRET- APPID:你的小程序 AppID。
- SECRET:你的小程序 AppSecret。
返回结果中包含 access_token 字段,该值将在后续请求中使用。
步骤二:生成 URL Scheme
使用获取的 Access Token,通过以下 HTTP POST 请求生成 URL Scheme:
POST https://api.weixin.qq.com/wxa/generatescheme?access_token=ACCESS_TOKEN请求体(JSON 格式):
{ "jump_wxa": { "path": "pages/index/index", // 小程序中要跳转的页面路径 "query": "id=123&name=test" // 页面参数,可选 }, "is_expire": true, // 是否失效,true 表示生成的 scheme 会失效,false 则不会 "expire_time": EXPIRE_TIME // 失效时间戳(秒),仅当 is_expire 为 true 时有效 }- path:小程序内页面的路径,必须是已经发布的小程序存在的页面路径。
- query:页面参数,以键值对形式传递,多个参数用 & 连接。
- is_expire:是否设置生成的 URL Scheme 失效,默认为 false。如果设置为 true,则需要提供 expire_time。
- expire_time:失效时间戳(单位:秒)。例如,当前时间为 1672531199 秒,则过期时间可设为 1672534799(即 1 小时后)。
返回结果示例:
{ "openlink": "https://weixin.qq.com/q/xxxxxxx" // 生成的 URL Scheme }步骤三:使用 URL Scheme
将生成的 openlink 分享到微信外部渠道(如网页、短信等),用户点击该链接即可跳转到小程序指定页面。
四、注意事项
- 安全性:Access Token 是敏感信息,请妥善保管,避免泄露。
- 有效期:生成的 URL Scheme 有一定的有效期限制,请根据实际需求设置 expire_time。
- 调试:建议使用微信开发者工具的“网络”面板查看接口调用情况,以便快速定位问题。
- 跳转限制:从小程序外部跳转到小程序内部时,有一定的跳转次数和频率限制,请注意合理使用。
五、常见问题排查
- 无法生成 URL Scheme:检查 Access Token 是否正确,以及请求参数是否符合要求。
- 链接无效:确认生成的 URL Scheme 是否已过期,或是否被微信系统拦截。
- 页面未找到:检查 path 参数是否正确,确保目标页面已在小程序中发布。
通过以上步骤,你可以成功生成并使用小程序的 URL Scheme,实现从小程序外部跳转到小程序内部的功能。
