最近公司运营报来一个需求:推广的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页面直接打开微信小程序的实现相关推荐

  1. H5静态页面跳转微信小程序;从外部浏览器,点击H5链接跳转打开微信小程序;以及在微信内直接点击H5链接打开微信小程序;

    参考链接 需求:从外部浏览器,点击H5链接跳转打开微信小程序:以及在微信内直接点击H5链接打开微信小程序: 步骤1: 小程序开发需要使用云开发创建项目,使用云开发生成的项目会自带云函数文件夹: 步骤2 ...

  2. 【重磅】App内可直接打开微信小程序,新增内容安全接口等

    今晚,微信又公布了几项微信小程序新能力: 微信小程序上线App直接打开小程序功能 内容安全接口.插件详情页等多种能力接连更新上线 一.App直接打开小程序 之前微信已经开放过相关能力,可以实现App和 ...

  3. php电脑端打开微信页面大小,电脑微信小程序设置全屏的方法是什么?

    方法:首先配置小程序resizeable的参数设置为true,这样操作可以在电脑端打开一个较大的横向窗口显示,屏幕大小是1024乘以768的,然后再按下全屏按钮,便可实现微信小程序在电脑端的全屏模式. ...

  4. 快手和抖音怎么打开微信小程序

    快手和抖音怎么打开微信小程序,微信,抖音,快手,支付宝,百度,多个平台小程序,一个平台全搞定#小程序#百收网#抖音小程序#快手小程序 抖音和快手可以直接打开微信小程序了,厉害.刚刚我们的微商城小程序呢 ...

  5. 网页js打开微信小程序示例

    1. 引入js,script方式引入SDK云函数: 下载:网页js打开微信小程序js-SDK-Node.js文档类资源-CSDN下载 2. 填写APP ID,封装调用函数: async functio ...

  6. 绑定bindchange事件的微信小程序swiper闪烁,抖动问题解决,(将微信小程序切换到后台一段时间,再打开微信小程序,会出现疯狂循环轮播,造成抖动现象)

    绑定bindchange事件的微信小程序swiper闪烁,抖动问题解决,(将微信小程序切换到后台一段时间,再打开微信小程序,会出现疯狂循环轮播,造成抖动现象) 参考文章: (1)绑定bindchang ...

  7. 微信小程序例子——打开微信小程序内置地图

    1.效果展示 2.关键代码 .wxml布局文件代码 打开地图 .js逻辑文件代码 Page({ openMap:function(){ wx.getLocation({ type: 'gcj02', ...

  8. 微信小程序python_macaca 打开微信小程序 (python 版本)

    看完@adfghzhang写的java版本后- Macaca 微信公众号.小程序实践,正好昨天看到了python版本的macaca,于是写了个python版的. 环境准备篇: 1.安装macaca(社 ...

  9. 自家APP打开微信小程序,可行吗?

    小程序的通用解决方案,今天为大家介绍一下FinClip.它的最大特点,就是能够让任何 App 运行小程序. 只需要在你的 App 里面,引入它的 SDK,就能加载运行外部小程序了.除了 SDK,它还提 ...

  10. 小程序内嵌h5页面分享_微信小程序webview内页面分享

    因为项目原因,之前在微信小程序内部使用 webview 嵌套了 h5 页面,现在要添加一个新的功能,用户在哪个页面进行了分享,被分享的用户从链接进来就跳转到哪个分享页面. 先了解一下 web-view ...

最新文章

  1. swift集成alamofire的简单封装
  2. linux下tty, ttyn, pts, pty, ttySn, console理解
  3. python上下键不能用_python退格、方向键无法正常使用解决方法
  4. 分布式精华问答 | 如何实现分布式系统的高可用性?
  5. float right不生效_【工具篇】程序员不愿意写 PPT 是姿势不对?
  6. 20210224:力扣第229周周赛
  7. 【Chromium中文文档】线程
  8. 数据库系统:NoSQL与SQL的区别
  9. iOS 浅复制和深复制的深层理解,含示例
  10. HDU_1874_畅通工程续_最短路问题
  11. Raki的读paper小记:Soft Gazetteers for Low-Resource Named Entity Recognition
  12. C#读写ISO15693协议ICODE2标签源码
  13. 符号_变压器电路图符号大全
  14. 内蒙古大学计算机学院保研到哪些学校,关于2021年推荐优秀应届本科毕业生免试攻读研究生的通知...
  15. 连接数据库SSL警告: Establishing SSL connection without server’s identity verification is not recommended.
  16. 【JNLP】什么是JNLP
  17. 运营笔记:老板最不关心的就是微信公众号外包报价表!
  18. JAVA代码行数统计工具(是时候看看程序员真实的的代码量了)
  19. 你必须知道的.NET(第2版)
  20. JavaSwing+MySQL+进销存管理系统

热门文章

  1. 南京计算机工程大学分数线,2017南京信息工程大学录取分数线
  2. 【CodeForces 1077E --- Thematic Contests】思维+贪心
  3. 互联网之于人类社会进化的意义
  4. 最新ubuntu搭建公网个人邮件服务器(基于postfix,dovecot,mysql)
  5. w10控制面板卸载java_手把手教你解决Win10控制面板无法卸载软件的问题
  6. windows下System Volume Information Folder文件夹过大的处理
  7. JAVA边界布局和setbound_深入探究frame和bounds的区别以及setbounds使用
  8. 机器学习期末考试满分试卷答案
  9. Pizza Cutter Gym - 101908C
  10. 地图实时定位我的位置