微信公众号h5实现点击按钮跳转到小程序
互联网 2022/5/12 20:29:02
微信公众号h5实现点击按钮跳转到小程序,先决条件是小程序和公众号已进行关联。
1、登录微信公众平台-设置-关联设置
进行关联
2、登录微信公众平台-设置-基本设置-账号信息-原始ID
复制
3、代码如下
<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> <script src="https://res.wx.qq.com/open/js/jweixin-1.6.0.js"></script> <style> * { margin: 0; padding: 0; border: 0; } body { width: 100%; min-height: 100vh; display: flex; align-items: center; justify-content: center; box-sizing: border-box; padding: 0 28px; } .app { text-align: center; } .app-info { margin-bottom: 93px; font-size: 24px; } .main { color: #0072FF; line-height: 45px; letter-spacing: 2px; } .sub { color: #263047; letter-spacing: 1px; } .app-img { width: 100%; object-fit: contain; } .app-btn { width: 247px; line-height: 45px; text-align: center; background: #0072FF; border-radius: 23px; color: #FFFFFF; font-size: 15px; font-weight: bold; margin: 130px auto 0; user-select: none; } .hidden { display: none; } </style> </head> <body> <div id="app" class="app"> <div id="wechat-container"> </div> </div> <script> function docReady(fn) { if (document.readyState === 'complete' || document.readyState === 'interactive') { fn() } else { document.addEventListener('DOMContentLoaded', fn); } } docReady(async function () { const ua = navigator.userAgent.toLowerCase(); // 浏览器ua识别类型 const isWXWork = ua.match(/wxwork/i) == 'wxwork'; // 判断是否有微信线程 const isWeixin = !isWXWork && ua.match(/micromessenger/i) == 'micromessenger'; // 是否是微信浏览器 // 判断是否是桌面浏览器 let isDesktop = false if (!navigator.userAgent.match( /(phone|pad|pod|iPhone|iPod|ios|iPad|Android|Mobile|IEMobile)/i)) { isDesktop = true } if(isDesktop){ var cu = document.getElementById('wechat-container'); cu.innerHTML = '<div class="app-btn">请在手机微信里扫码访问</div>'; // alert("请用手机打开") }else if(isWeixin){ getSignature(); } else { var cu = document.getElementById('wechat-container'); cu.innerHTML = '<div class="app-btn">请在手机微信里扫码访问</div>'; // cu.innerText = '请在手机微信里扫码访问'; } }); // 获取签名,必备步骤与后端配和 function getSignature() { const url = 'XXX'; const xhr = new XMLHttpRequest(); xhr.open('GET', url, true); xhr.send(); xhr.onreadystatechange = function () { if (xhr.readyState == 4 && xhr.status == 200) { const result = JSON.parse(xhr.responseText) || {}; if (result.code === 1) { wx.config({ debug: false, appId: , // 必填 公众号appid timestamp: , // 必填,生成签名的时间戳 nonceStr: '', // 必填,生成签名的随机串 signature: , // 必填,签名 jsApiList: ['chooseImage'], openTagList: ['wx-open-launch-weapp'], }) wx.ready(()=>{ var cu = document.getElementById('wechat-container'); let id = getQueryVariable('id'); // 动态创建跳转按钮 username传入第二步复制的小程序原始ID path为需要跳转的小程序页面路径 scene为页面带的参数可在小程序页面进行获取 cu.innerHTML= `<wx-open-launch-weapp id="launch-btn" username="" path="/pages/index/index?scene=${id}"> <script type="text/wxtag-template"> <div class="app-btn" style="width: 247px; line-height: 45px; text-align: center; background: #0072FF; border-radius: 23px; color: #FFFFFF; font-size: 15px; font-weight: bold; margin: 130px auto 0; user-select: none;">立即体验</div> <\/script> </wx-open-launch-weapp>`; }) wx.error((error)=>{ // alert(JSON.stringify(error)) }) } } } } </script> </body> </html>

关于找一找教程网
本站文章仅代表作者观点,不代表本站立场,所有文章非营利性免费分享。
本站提供了软件编程、网站开发技术、服务器运维、人工智能等等IT技术文章,希望广大程序员努力学习,让我们用科技改变世界。
[微信公众号h5实现点击按钮跳转到小程序]http://www.zyiz.net/tech/detail-320430.html
- 2022-05-200-CH32V307+ESP8266基本控制篇(自建物联网平台)-整体运行测试-微信小程序使用APUConfig配网绑定ESP8266,并通过MQTT实现远程通信控制
- 2022-05-20一个小程序开发的舒尔特训练
- 2022-05-18小程序嵌套H5页面
- 2022-05-18记一次小程序逆向
- 2022-05-18微信小程序添加分享功能(分享给朋友) uniapp版
- 2022-05-17微信小程序授权及检测访问当前页面需要去登录的操作
- 2022-05-17记录小程序字符串模板渲染WxParse
- 2022-05-17FinClip小程序+Rust(三):一个加密钱包
- 2022-05-17FinClip小程序+Rust(二):环境搭建
- 2022-05-15三、条件和列表渲染(微信小程序开发【有基础】-组件篇)