任意App/H5的web页面直接打开微信小程序的实现
最近公司运营报来一个需求:推广的web页面大多是在百度App/手机原生浏览器被打开,而我们推广的一款产品是基于微信小程序,用户在百度App/手机原生浏览器看到推广页,只能下载小程序码到手机,然后用微信扫码打开小程序,体验太繁琐。需求是要能在百度App(包括其他App)、手机原生浏览器直接打开微信小程序。
接到这个需求,最开始是聚焦在微信的静态网站H5跳转小程序:静态网站 H5 跳小程序 | 微信开放文档
这要求必须将静态页面上传到小程序云开发中心,比较麻烦。
后来又聚焦到微信网页开发的开放标签:
目录 | 微信开放文档
发现只有在微信内打开页面,才支持web页直接打开小程序。
最后联想到web网页唤起原生地图App的scheme功能,找到了微信开放平台的获取小程序scheme码和获取小程序Url Link:
urlscheme.generate | 微信开放文档
这是专门为外部浏览器、App拉起微信小程序开发的。
下面附上PHP生成微信小程序scheme url的代码:
<?phpgetUrlScheme();/*** 获取url scheme 接口*/function getUrlScheme(){$access_token = get_accept_access_token();echo "access_token:".$access_token."\n";$url = "https://api.weixin.qq.com/wxa/generatescheme?access_token=" . $access_token;$path = 'pages/index/index';//query 是指 传的参数$scene = 'scene=123';$post_data = ['jump_wxa' => ['path' => $path,'query' => $scene],'is_expire' => false,];$post_data = json_encode($post_data);//die($post_data);$result = api_notice_increment($url, $post_data);$data = json_decode($result);var_dump($data);if($data->errcode==0){echo '<a target="_blank" href="'.$data->openlink.'">小程序scheme链接:'.$data->openlink.'</a>';}}//获取接单小程序access tokenfunction get_accept_access_token(){$appid = ''; //小程序的appid$secret = ''; //小程序的appsecret$url = 'https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid='.$appid.'&secret='.$secret;$data = file_get_contents($url);//var_dump($data);exit;$dats = json_decode($data, true);return $dats['access_token'];}function api_notice_increment($url, $data){$ch = curl_init();$header = ["Accept-Charset" => "utf-8"];curl_setopt($ch, CURLOPT_URL, $url);curl_setopt($ch, CURLOPT_CUSTOMREQUEST, "POST");curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, false);curl_setopt($ch, CURLOPT_HTTPHEADER, $header);curl_setopt($ch, CURLOPT_USERAGENT, 'Mozilla/5.0 (compatible; MSIE 5.01; Windows NT 5.0)');curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);curl_setopt($ch, CURLOPT_AUTOREFERER, 1);curl_setopt($ch, CURLOPT_POSTFIELDS, $data);curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);$tmpInfo = curl_exec($ch);// var_dump($tmpInfo);// exit;if (curl_errno($ch)) {return false;} else {// var_dump($tmpInfo);return $tmpInfo;}}?>
任意App/H5的web页面直接打开微信小程序的实现相关推荐
- H5静态页面跳转微信小程序;从外部浏览器,点击H5链接跳转打开微信小程序;以及在微信内直接点击H5链接打开微信小程序;
参考链接 需求:从外部浏览器,点击H5链接跳转打开微信小程序:以及在微信内直接点击H5链接打开微信小程序: 步骤1: 小程序开发需要使用云开发创建项目,使用云开发生成的项目会自带云函数文件夹: 步骤2 ...
- 【重磅】App内可直接打开微信小程序,新增内容安全接口等
今晚,微信又公布了几项微信小程序新能力: 微信小程序上线App直接打开小程序功能 内容安全接口.插件详情页等多种能力接连更新上线 一.App直接打开小程序 之前微信已经开放过相关能力,可以实现App和 ...
- php电脑端打开微信页面大小,电脑微信小程序设置全屏的方法是什么?
方法:首先配置小程序resizeable的参数设置为true,这样操作可以在电脑端打开一个较大的横向窗口显示,屏幕大小是1024乘以768的,然后再按下全屏按钮,便可实现微信小程序在电脑端的全屏模式. ...
- 快手和抖音怎么打开微信小程序
快手和抖音怎么打开微信小程序,微信,抖音,快手,支付宝,百度,多个平台小程序,一个平台全搞定#小程序#百收网#抖音小程序#快手小程序 抖音和快手可以直接打开微信小程序了,厉害.刚刚我们的微商城小程序呢 ...
- 网页js打开微信小程序示例
1. 引入js,script方式引入SDK云函数: 下载:网页js打开微信小程序js-SDK-Node.js文档类资源-CSDN下载 2. 填写APP ID,封装调用函数: async functio ...
- 绑定bindchange事件的微信小程序swiper闪烁,抖动问题解决,(将微信小程序切换到后台一段时间,再打开微信小程序,会出现疯狂循环轮播,造成抖动现象)
绑定bindchange事件的微信小程序swiper闪烁,抖动问题解决,(将微信小程序切换到后台一段时间,再打开微信小程序,会出现疯狂循环轮播,造成抖动现象) 参考文章: (1)绑定bindchang ...
- 微信小程序例子——打开微信小程序内置地图
1.效果展示 2.关键代码 .wxml布局文件代码 打开地图 .js逻辑文件代码 Page({ openMap:function(){ wx.getLocation({ type: 'gcj02', ...
- 微信小程序python_macaca 打开微信小程序 (python 版本)
看完@adfghzhang写的java版本后- Macaca 微信公众号.小程序实践,正好昨天看到了python版本的macaca,于是写了个python版的. 环境准备篇: 1.安装macaca(社 ...
- 自家APP打开微信小程序,可行吗?
小程序的通用解决方案,今天为大家介绍一下FinClip.它的最大特点,就是能够让任何 App 运行小程序. 只需要在你的 App 里面,引入它的 SDK,就能加载运行外部小程序了.除了 SDK,它还提 ...
- 小程序内嵌h5页面分享_微信小程序webview内页面分享
因为项目原因,之前在微信小程序内部使用 webview 嵌套了 h5 页面,现在要添加一个新的功能,用户在哪个页面进行了分享,被分享的用户从链接进来就跳转到哪个分享页面. 先了解一下 web-view ...
最新文章
- swift集成alamofire的简单封装
- linux下tty, ttyn, pts, pty, ttySn, console理解
- python上下键不能用_python退格、方向键无法正常使用解决方法
- 分布式精华问答 | 如何实现分布式系统的高可用性?
- float right不生效_【工具篇】程序员不愿意写 PPT 是姿势不对?
- 20210224:力扣第229周周赛
- 【Chromium中文文档】线程
- 数据库系统:NoSQL与SQL的区别
- iOS 浅复制和深复制的深层理解,含示例
- HDU_1874_畅通工程续_最短路问题
- Raki的读paper小记:Soft Gazetteers for Low-Resource Named Entity Recognition
- C#读写ISO15693协议ICODE2标签源码
- 符号_变压器电路图符号大全
- 内蒙古大学计算机学院保研到哪些学校,关于2021年推荐优秀应届本科毕业生免试攻读研究生的通知...
- 连接数据库SSL警告: Establishing SSL connection without server’s identity verification is not recommended.
- 【JNLP】什么是JNLP
- 运营笔记:老板最不关心的就是微信公众号外包报价表!
- JAVA代码行数统计工具(是时候看看程序员真实的的代码量了)
- 你必须知道的.NET(第2版)
- JavaSwing+MySQL+进销存管理系统
热门文章
- 南京计算机工程大学分数线,2017南京信息工程大学录取分数线
- 【CodeForces 1077E --- Thematic Contests】思维+贪心
- 互联网之于人类社会进化的意义
- 最新ubuntu搭建公网个人邮件服务器(基于postfix,dovecot,mysql)
- w10控制面板卸载java_手把手教你解决Win10控制面板无法卸载软件的问题
- windows下System Volume Information Folder文件夹过大的处理
- JAVA边界布局和setbound_深入探究frame和bounds的区别以及setbounds使用
- 机器学习期末考试满分试卷答案
- Pizza Cutter Gym - 101908C
- 地图实时定位我的位置