小程序生成url scheme

小程序生成url scheme

小程序生成 URL Scheme 文档

一、概述

URL Scheme 是一种用于访问小程序特定页面的链接格式。通过生成 URL Scheme,开发者可以允许用户从微信外部(如网页、短信等)直接跳转到小程序的指定页面,并携带参数。本文档将详细介绍如何生成和使用小程序的 URL Scheme。

二、前提条件

  1. 小程序账号:确保你拥有一个已注册的小程序账号,并且具备开发权限。
  2. 开发者工具:安装并配置好微信开发者工具。
  3. 服务器支持:生成 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 分享到微信外部渠道(如网页、短信等),用户点击该链接即可跳转到小程序指定页面。

四、注意事项

  1. 安全性:Access Token 是敏感信息,请妥善保管,避免泄露。
  2. 有效期:生成的 URL Scheme 有一定的有效期限制,请根据实际需求设置 expire_time。
  3. 调试:建议使用微信开发者工具的“网络”面板查看接口调用情况,以便快速定位问题。
  4. 跳转限制:从小程序外部跳转到小程序内部时,有一定的跳转次数和频率限制,请注意合理使用。

五、常见问题排查

  1. 无法生成 URL Scheme:检查 Access Token 是否正确,以及请求参数是否符合要求。
  2. 链接无效:确认生成的 URL Scheme 是否已过期,或是否被微信系统拦截。
  3. 页面未找到:检查 path 参数是否正确,确保目标页面已在小程序中发布。

通过以上步骤,你可以成功生成并使用小程序的 URL Scheme,实现从小程序外部跳转到小程序内部的功能。