需求场景:

当我们需要使用在微信客户端打开的h5页面,在页面上打开微信小程序或者唤起App时,我们需要使用微信js-sdk提供的开放标签能力。这其中:使用wx-open-launch-weapp标签打开微信小程序;使用wx-open-launch-app跳转App。具体实现方案如下。

一、微信内h5使用wx-open-launch-weapp打开小程序

官方文档:目录 | 微信开放文档

1.1 前置条件

1.1.1 已认证的服务号,将微信内h5页面域名绑定到服务号“JS接口安全域名”下,即可使用此标签跳转任意合法合规的小程序。(需要注意的是:xxx.a.com与a.com是不同的域名

1.1.2 已认证的非个人主体的小程序

1.2 开发步骤

1.2.1 获取Access token

服务端需先进行公众号相关的开发,用于获取Access token;相关开发由服务端完成

即,完成截图中的前三项,用于获取Access token。

1.2.2  微信开放标签wx.config接口注入权限验证

由服务端,根据签名算法文档去生成 nonceStr,signature,并连同timestamp一并返回页面,用于接口注入权限验证。

1.3 使用开放标签wx-open-launch-weapp打开小程序

在h5页面中,首先调用服务端接口,获取wx.config接口权限验证需要的timestamp,nonceStr,signature值,并通过wx.config方法中openTagList申请wx-open-launch-weapp标签能力。当开放标签申请成功后,在微信中访问的页面,该标签样式就会显示出来。

示例:

参数中:username是小程序的原始id, 由于微信开放标签的样式不好修改,或者在微信开放标签接口权限验证完成之前,对应标签不会显示,可以将微信开放标签的样式设置为透明,用普通标签来写对应的样式。

在完成上述操作之后,页面在微信中打开,即可看到打开小程序按钮。

二、微信内h5使用wx-open-launch-app打开App

官方文档:跳转APP:wx-open-launch-app

2.1 前置条件

2.1.1 微信服务号&微信开放平台&App

- 开放平台账号已认证
- 服务号与开放平台账号同主体
- 绑定域名和移动应用(开放平台绑定,如下图)

值得注意的是,一个服务号只能绑定一个js接口安全域名,也就是只能供一个域名下面的页面拉起App(备注:xxx.a.com与a.com是不同的域名);而,app作为移动应用可以被多个服务号绑定

2.1.2 绑定域名和移动应用

- 绑定域名的要求: 域名须为当前服务号的 JS 安全域名 (js安全域名作为页面域名)
- 域名只能同时绑定一个移动应用,因此须确保域名未被其他移动应用绑定
- 绑定移动应用的要求,只能绑定同一微信开放平台账号下审核通过的移动应用
- 绑定次数 每月可修改绑定3次

2.2 开发步骤

2.2.1 获取Access token

同于1.2.1

2.2.2 微信开放标签wx.config接口注入权限验证

同于1.2.2,

2.3 使用wx-open-launch-app打开App的方案

在h5页面中,首先调用服务端接口,获取wx.config接口权限验证需要的timestamp,nonceStr,signature值,并通过wx.config方法中openTagList申请wx-open-launch-app标签能力。当开放标签申请成功后,在微信中访问的页面,该标签样式就会显示出来。

示例:

参数中:appid指的是App在开放平台的应用id. 由于微信开放标签的样式不好修改,或者在微信开放标签接口权限验证完成之前,对应标签不会显示,可以将微信开放标签的样式设置为透明,用普通标签来写对应的样式。

在完成上述操作之后,页面在微信中打开,即可看到打开App按钮。

此外需要格外注意的是:
1. 直接通过微信聊天界面,访问链接打开的页面,无法利用wx-open-launch-app按钮打开app(这个是微信客户端的限制,而文档中并未说明)
2. 可以通过App分享卡片到微信聊天界面,打开卡片中的页面上的按钮,可以打开App
3. 可以通过微信扫一扫打开的页面上的按钮,打开App

微信网页开发:微信内h5使用wx-open-launch-weapp打开小程序,微信内h5使用wx-open-launch-app打开App的方案相关推荐

  1. 钉钉内网穿透工具,如何使用钉钉小程序访问内网

    描述:公司内网搭建项目,客户端钉钉小程序,如何实现钉钉小程序请求公司内网服务. 钉钉提供了内网穿透工具. 一.安装工具 git clone https://github.com/open-dingta ...

  2. php 公众号打开小程序,微信公众号图文消息新增两种进入小程序的方式

    终于不再是凌晨--就在刚刚,微信宣布小程序的能力再次升级.除了添加小程序卡片外,公众号图文消息新增两种进入小程序的方式:支持通过蓝色文字链接或图片链接跳转到小程序. 1.推送形式更多样 公众号运营者在 ...

  3. 微信小程序与webview H5交互(内嵌H5跳转原生页面)

    在开发中,使用web-view组件内嵌H5页面是非常常见的,但很多人不知道webview内嵌H5如何与原生小程序 交互.下面介绍下实现微信小程序与webview H5交互的方法. web-view功能 ...

  4. 微信小程序-微信登录wx.login(Thinkphp后端代码)

    流程 主要通过微信登录,获取用户的三个信息:user_id(用户id),user_image(用户头像url),user_name(用户昵称). 1.首次登录: 调用wx.login获取code,co ...

  5. H5微信网页开发总结(授权,分享,地图)

    H5微信网页开发总结(网页授权,JS-SDK分享.地图) 目录: 网页授权 分享 地图 参考文档https://developers.weixin.qq.com/doc/offiaccount/OA_ ...

  6. 微信网页开发wx.chooseImage多图上传、预览(已解决)

    需求: 1.调用微信jsSDK选图或者拍照(选图支持选多图) 2.选图或者拍照后提供预览,但不把图片下载到服务器 3.提交表单的时候再一并提交,把图片下载到服务器 4.支持编辑页面删除已选图片(此图已 ...

  7. 微信小程序webview内嵌h5页面

    微信官方文档web-view | 微信开放文档 正式上线前准备(前期开发调试可以忽略) 首先登录小程序管理后台,把 web-view 直连的 h5 页面地添加到配置域名白名单中 比如我想要小程序直连地 ...

  8. 小程序webview内网页实现微信支付

    小程序支持webview以后,我们开发的好多h5页面,就可以直接在小程序里使用了,比如我们开发的微信商城,文章详情页,商品详情页,就可以开发一套,多处使用了.我们今天来讲一讲.在小程序的webview ...

  9. [微信小程序]WebView内嵌H5实现本地文件上传

    [官方文档] 小程序与H5如何互相跳转 小程序与H5交互以上传文件为例 微信小程序开放能力web-view使用之h5页面与小程序页面交互传值 快速小程序开发之微信小程序内嵌 H5 微信小程序web-v ...

最新文章

  1. linux 没有线程的,,Linux 到现在还是没有线程呀?
  2. 模拟实现mapset
  3. 用python找对象_还在单身的你 Python教你如何脱单
  4. 数据结构(6)二叉树
  5. ajax访问遇到Session失效问题
  6. Android系统的智能指针(轻量级指针、强指针和弱指针)的实现原理分析【转】
  7. linux+oracle磁盘空间,Linux下Oracle软件、数据文件等所在的磁盘分区空间不足的解决思路...
  8. 使用Picker的时候,让input输入框使用焦点,手机键盘不弹出
  9. Linux下toco命令压缩Tensorflowlite模型
  10. [草稿]尝试从 same.com 的视角观察简书的用户社交网络
  11. .net上传大文件不成功
  12. xcode6 使用MJRefresh
  13. html动态图片置于底层,求设置图片为“浮于文字下方,居中,置于底层的代码。...
  14. The Open Group正式发布《The Open Group IT4IT参考架构版本 2.1》
  15. kubectl describe pod 里边没有看到events问题解决【详细步骤】
  16. currentlyFocusedField is deprecated and will be removed in a future release解决方法记录
  17. 苹果如何不显示云服务器照片,iPhone12如何隐藏照片 iPhone12不显示照片的三种方法...
  18. android qq消息数 拖拽动画,史上最详细仿QQ未读消息拖拽粘性效果的实现
  19. 严版数据结构(第一章)
  20. C/C++黑客编程入门-杨波-专题视频课程

热门文章

  1. vue 数字转为中文大写的代码
  2. 《Java黑皮书基础篇第10版》 第7章【笔记】
  3. 存储过程 编译错误:PLS-00103: Encountered the symbol TABLE when expecting one of the following:
  4. 华为云Windows云服务器如何配置多用户登录?
  5. 您的计算机上有多个活动的网络连接未修复,修复win10“我们无法设置移动热点因为你的电脑未建立以太网”的方法...
  6. 二十不惑、三十而已、四十也罢,还是各凭本事!
  7. 百度云内容审核api调用工具类
  8. 工业微服务——实现工业APP高效开发和运行
  9. 永久勘误:微软等面试100题系列,答案V0.4版[第41-60题答案]
  10. Error Downloading Packages: yum更新出现错误