h5打开微信小程序

一.通过scheme唤起微信小程序

微信官方文档:

1. 文档
《URL Scheme打开小程序》

2. 《获取 access_token》
请求地址
https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid=APPID&secret=APPSECRET

请求参数
属性    类型    默认值    必填    说明
grant_type    string        是    填写 client_credential
appid    string        是    小程序唯一凭证,即 AppID,可在「微信公众平台 - 设置 - 开发设置」页中获得。(需要已经成为开发者,且帐号没有异常状态)
secret    string        是    小程序唯一凭证密钥,即 AppSecret,获取方式同 appid
返回值
属性    类型    说明
access_token    string    获取到的凭证
expires_in    number    凭证有效时间,单位:秒。目前是7200秒之内的值。
errcode    number    错误码
errmsg    string    错误信息
3. 《生成的小程序scheme码》
请求地址
https://api.weixin.qq.com/wxa/generatescheme?access_token=ACCESS_TOKEN

请求参数
属性    类型    默认值    必填    说明
access_token    string        是    接口调用凭证
jump_wxa    Object        否    跳转到的目标小程序信息。
is_expire    boolean    false    否    生成的scheme码类型,到期失效:true,永久有效:false。
expire_time    number        否    到期失效的scheme码的失效时间,为Unix时间戳。生成的到期失效scheme码在该时间前有效。生成到期失效的scheme时必填。
jump_wxa 的结构
属性    类型    默认值    必填    说明
path    string        是    通过scheme码进入的小程序页面路径,必须是已经发布的小程序存在的页面,不可携带query。path为空时会跳转小程序主页。
query    string        是    通过scheme码进入小程序时的query,最大128个字符,只支持数字,大小写英文以及部分特殊字符:!#$&’()*+,/:;=?@-._~
openlink
生成的小程序scheme码

4. 《URL Scheme打开小程序》
通过服务端接口可以获取打开小程序任意页面的URL Scheme。适用于从短信、邮件、微信外网页等场景打开小程序。通过URL Scheme打开小程序的场景值为 1065。

生成的URL Scheme如下所示:
weixin://dl/business/?t= TICKET

iOS系统支持识别URL Scheme,可在短信等应用场景中直接通过Scheme跳转小程序。
Android系统不支持直接识别URL Scheme,用户无法通过Scheme正常打开小程序,开发者需要使用H5页面中转,再跳转到Scheme实现打开小程序,跳转代码示例如下:
location.href = ‘weixin://dl/business/?t= TICKET’

该跳转方法可以在用户打开H5时立即调用,也可以在用户触发事件后调用。

调用上限
Scheme将根据是否为到期有效与失效时间参数,分为短期有效Scheme与长期有效Scheme:

3.1 有效时间不超过31天的Scheme为短期有效Scheme,单个小程序每日生成短期有效Scheme上限为50万个
3.2 有效时间超过31天的Scheme或永久有效的Scheme为长期有效Scheme,单个小程序总共可生成长期有效Scheme上限为10万个,请谨慎调用

注意事项
4.1生成的URL Scheme仅支持从微信外打开小程序。微信内的网页如需打开小程序请使用微信开放标签-小程序跳转按钮,无公众号也可以直接使用小程序身份开发网页并免鉴权跳转小程序,见云开发静态网站跳转小程序。符合开放范围的小程序可以下发支持打开小程序的短信。
4.2 该功能基本覆盖当前用户正在使用的微信版本,开发者无需进行低版本兼容。
4.3 只能生成已发布的小程序的URL Scheme。
4.4 通过URL Scheme跳转到微信时,可能会触发系统弹框询问,若用户选择不跳转,则无法打开小程序。请开发者妥善处理用户选择不跳转的场景。

开放范围
针对国内非个人主体小程序开放。

写的挺好,就拷贝一下,原文地址如下:


版权声明:本文为CSDN博主「Rattenking」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/m0_38082783/article/details/112776788

二.通过公众号唤起微信小程序

// 判断环境是否在微信小程序里
function isMiniProgram(){
    var ua = navigator.userAgent.toLowerCase();
    var envType='#';

    if(ua.match(/MicroMessenger/i) == 'micromessenger'){ //微信环境
        wx.miniProgram.getEnv(function(res) {
            if (res.miniprogram) { // 小程序环境下逻辑
                envType = true
            }else { //非小程序环境下逻辑
                envType =  false
            }
        })
    }else{ //非微信环境逻辑
        envType = false
    }
    return envType
}


// 动态加载js脚本文件 h5跳转小程序 还需要加载一个微信的jssdk
let script = document.createElement("script");
script.type = "text/javascript";
script.src = 'https://res.wx.qq.com/open/js/jweixin-1.3.2.js';
document.body.appendChild(script);

// 点击跳转小程序页面
wx.miniProgram.navigateTo({
    url: '/pages/scenic/scenic_detail/kjcg?id='+id+'&title='+title
})

js-sdk

你可能感兴趣的:(小程序,微信)