h5静态页面跳转微信小程序
注意:只有发布过的小程序可以使用这个方案,不然无法获取 url schema
如果无法获取 url schema ,请检查小程序是否已发布
1 理论方案
主要有以下两种
1 云开发:静态页面在微信云上进行开发&托管(因为要收费,不采用)
2 小程序短链:向微信请求 url schema ,进行跳转
2 调用接口
小程序短链,主要有两个接口
1 获取微信小程序 token(GET)
https://api.weixin.qq.com/cgi-bin/token
params 中传参
- appid(小程序开发管理后台获取)
- secret(小程序开发管理后台获取)
- grant_type = client_credential
2 获取 url schema(POST)
https://api.weixin.qq.com/wxa/generatescheme
params 中传参 access_token
body 中传参
{
"jump_wxa": {
"path": 小程序路径,
"query": 小程序传参
},
"expire_type": "0"
}
3 具体实现方案
1 token获取 和 页面配置 写在服务器端
2 静态页面进行 获取短链(从服务器) 和 跳转(调用微信能力) 操作
一个静态页面展示,与服务器进行交互的接口需要自己开发
<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>跳转页面</title>
</head><script src="https://code.jquery.com/jquery-3.1.1.min.js"></script>
<script type="text/javascript" src="https://res.wx.qq.com/open/js/jweixin-1.3.2.js"></script><body><h1>跳转页面</h1><button type="button" id="jump_wx">跳转小程序</button></body><script>$("#jump_wx").click(function(){$.ajax({url : "todo", // 自定义地址type : "POST",dataType : 'json',data : {... , ...}, // 自定义传参success:function (data) {console.log(data);if(data.success){var openlink = data.data;window.location.href = openlink; // 跳转小程序}}})
});</script>
</html>