> 技术文档 > 微信环境外打开小程序方案_微信小程序明文scheme校验在哪里

微信环境外打开小程序方案_微信小程序明文scheme校验在哪里


微信环境外打开小程序方案

根据微信官方文档,以下是微信环境外打开小程序方案,可使用明文或者加密URL Scheme的

1. 固定场景使用明文Scheme
weixin://dl/business/?appid=您的APPID&path=页面路径&query=参数&env_version=环境

适用场景

  • 长期固定的页面跳转(如首页、活动页)
  • 无需动态参数的场景
  • 非敏感信息传递

参数说明

  • appid(必填):小程序ID
  • path(必填):URL编码后的页面路径(如 pages%2Findex%2Findex
  • query:URL编码后的参数(如 id%3D123%26type%3D1
  • env_version:环境版本(develop开发版/trial体验版/release正式版)

安全建议:在[小程序后台-设置-隐私与安全]中启用「明文Scheme校验」,防止恶意调用。


2. 动态场景使用加密Scheme
weixin://dl/business/?t=加密票据&cq=自定义参数

适用场景

  • 需要时效性控制的场景(如限时活动)
  • 传递敏感参数(如用户ID、订单号)
  • 需要防篡改的安全场景

生成方式(服务端API):

POST https://api.weixin.qq.com/wxa/generatescheme?access_token=TOKEN

请求体

{ \"jump_wxa\": { \"path\": \"/pages/index/index\", \"query\": \"id=123\", \"env_version\": \"release\" }, \"is_expire\": true, \"expire_time\": 1606737600}

参数说明

  • t:接口返回的加密票据(有效期30天)
  • cq:自定义透传参数(URL编码)

优势:支持设置过期时间,防止长期滥用。


最佳实践建议

1. 跨平台兼容处理
<a href=\"weixin://...\">直接打开小程序</a><script>// 备用方案:微信未安装时跳转应用商店setTimeout(() => { window.location.href = \"https://apps.apple.com/app/id414478124\";}, 300);</script>
2. 参数规范
  • path 格式:以 / 开头(如 /pages/home
  • query 规范:采用 key1=val1&key2=val2 格式
  • 特殊字符处理:使用 encodeURIComponent() 编码
3. 安全增强措施
  1. 小程序后台启用「明文Scheme校验」
  2. 敏感参数走加密Scheme
  3. 服务端校验来源域名(HTTP Referer)
4. 监测方案
// 前端跳转埋点trackEvent(\'scheme_launch\', { type: \'encrypted\', page: \'checkout\'});

注意事项

  1. 加密Scheme每日限额:50万次(超量需申请)
  2. iOS系统需配置通用链接(Universal Link)
  3. Android 9+ 需添加 intent-filter 处理

方案选择指南

场景 推荐方案 固定入口/长期活动 明文Scheme 短期活动/敏感操作 加密Scheme 高安全性需求 加密Scheme+服务端校验

通过组合使用两种Scheme,可实现安全可控的外部跳转流程,建议关键操作(如支付)务必采用加密Scheme。

最后推荐

使用虾果、C1N短网址等短链平台,填写appid和秘钥自动生成跳转小程序的短链,优点方便简洁。