微信分享和微信H5跳转到APP开放标签wx-open-launch-app使用及样式设置

简介: 微信分享和微信H5跳转到APP开放标签wx-open-launch-app使用及样式设置

一、微信分享

参看:微信分享:后端参数获取PHP实现

二、浏览器H5跳转到APP

user-agent.js

/**
* 判断设备类型
*/
function isClient(clientName) {
    return (
        window.navigator.userAgent
            .toLowerCase()
            .indexOf(clientName.toLowerCase()) > -1
    );
}
function isiPhone() {
    return isClient("iPhone");
}
function isAndroid() {
    return isClient("Android");
}
function isWeixin() {
    return isClient("MicroMessenger");
}
// 安卓和ios的跳转路径和下载地址
const configs = {
    Android: {
        scheme: "AndroidScheme://path",
        download: "https://www.demo.com/app-release.apk",
    },
    iPhone: {
        scheme: "iOSScheme://path",
        download: "https://itunes.apple.com/cn/app/app-id",
    },
}
// 通过环境判断获取配置
window.location.href = config.scheme
let downloader = window.setTimeout(() => {
    // 2s超时后跳转到app下载
    window.location.href = config.download;
}, 2500);
document.addEventListener(
    "visibilitychange webkitvisibilitychange",
    function () {
        // 如果页面隐藏,推测打开scheme成功,清除下载任务
        if (document.hidden || document.webkitHidden) {
            clearTimeout(downloader);
        }
    }
);
window.addEventListener("pagehide", function () {
    clearTimeout(downloader);
});

三、微信H5跳转到APP

接口代码配置并不复杂,最麻烦的是准备账号

一、条件说明

微信内访问网页时跳转到 APP条件:

  1. 服务号已认证
  2. 开放平台账号已认证
  3. 服务号与开放平台账号同主体

翻译一下就是:

  1. 微信公众平台 注册一个【服务号】并微信认证(¥300)
  2. 微信开放平台注册一个账号,并完成开发者资质认证(¥300)
  3. 最关键的是需要【服务号】和【开放平台账号】认证主体一致!不然前面的钱就打水漂了

二、文档

官方文档很详细,这里不做赘述

  1. 微信内网页跳转APP功能
  2. 微信开放标签说明文档
  3. App获取开放标签中的extinfo数据

三、重要的设置

1、微信公众平台设置IP白名单

该IP地址获取access_token

开发->基本配置->公众号开发信息->IP白名单


2、微信公众平台绑定安全域名

设置->公众号设置->功能设置->JS接口安全域名

3、微信开放平台绑定所需要跳转的App

这里也需要设置安全域名

管理中心 -> 公众帐号 -> 接口信息 -> 网页跳转移动应用 -> 关联设置中绑定所需要跳转的App

四、注意点

1、Android和iOS需要做好设置,才能拉起成功

2、几个重要参数的获取

  1. 开发者ID(AppID) 来自 微信公众平台
  2. 开发者密码(AppSecret) 来自 微信公众平台
  3. 移动应用Appid 来自微信开放平台

配置示例:

wx.config({
  debug: true, // 开启调试模式,调用的所有api的返回值会在客户端alert出来,若要查看传入的参数,可以在pc端打开,参数信息会通过log打出,仅在pc端时才会打印
  appId: '<开发者ID(AppID)>', // 必填,公众号的唯一标识
  timestamp: '', // 必填,生成签名的时间戳
  nonceStr: '', // 必填,生成签名的随机串
  signature: '',// 必填,签名
  jsApiList: ['updateAppMessageShareData', 'updateTimelineShareData'], // 必填,需要使用的JS接口列表
  openTagList: ['wx-open-launch-app'] // 可选,需要使用的开放标签列表,例如['wx-open-launch-app']
});
<wx-open-launch-app
  id="launch-btn"
  appid="<移动应用Appid>"
  extinfo="your-extinfo"
>
  <template>
    <style>.btn { padding: 12px }</style>
    <button class="btn">App内查看</button>
  </template>
</wx-open-launch-app>

五、样式设置

首先明确几点:

  1. wx-open-launch-app标签外部样式和内部样式是隔离的
  2. wx-open-launch-app这个标签可以加样式style
  3. 所以,如果在页面中使用这个拉起标签,这个地方的样式和周围的不一样。

设置样式:

  1. 外层span标签设置相对定位;
  2. wx-open-launch-app设置绝对定位,里边放一个空的元素,并设置高度和宽度,遮罩住底层标签;
  3. 打开APP 处的span标签就可以使用外层样式了
<span style="position:relative;"><span>打开APP</span><wx-open-launch-app
    id="launch-btn"
    appid="APPID"
    extinfo='{"name": "Tom", "age": 18}'
    style="position:absolute;top:0;left:0;right:0;bottom:0;"
    >
     <template>
          <style>
            .wx-btn{
              width:100%%;
              height:20px;
            }
          </style>
          <div class="wx-btn"></div>
        </template>
</wx-open-launch-app></span>

参考

微信开放标签 wx-open-launch-app 样式设置技巧

相关文章
|
缓存 小程序 开发工具
最新原创uniapp+vue3仿微信界面聊天app系统
最新原创研发uniapp+vue3实战跨端仿微信App界面聊天程序。支持运行到H5+小程序+APP端。
552 6
最新原创uniapp+vue3仿微信界面聊天app系统
|
存储 人工智能 Android开发
为什么微信发送的APP安装不了,.apk转化为.apk.1
微信发送的APP文件常被改为.apk.1格式导致无法安装,推荐使用夸克或QQ浏览器解决。
2833 14
|
存储 小程序 Java
热门小程序源码合集:微信抖音小程序源码支持PHP/Java/uni-app完整项目实践指南
小程序已成为企业获客与开发者创业的重要载体。本文详解PHP、Java、uni-app三大技术栈在电商、工具、服务类小程序中的源码应用,提供从开发到部署的全流程指南,并分享选型避坑与商业化落地策略,助力开发者高效构建稳定可扩展项目。
|
安全 算法 小程序
【03】微信支付商户申请下户到配置完整流程-微信开放平台创建APP应用-填写上传基础资料-生成安卓证书-获取Apk签名-申请+配置完整流程-优雅草卓伊凡
【03】微信支付商户申请下户到配置完整流程-微信开放平台创建APP应用-填写上传基础资料-生成安卓证书-获取Apk签名-申请+配置完整流程-优雅草卓伊凡
1279 28
【03】微信支付商户申请下户到配置完整流程-微信开放平台创建APP应用-填写上传基础资料-生成安卓证书-获取Apk签名-申请+配置完整流程-优雅草卓伊凡
|
小程序
【04】微信支付商户申请下户到配置完整流程-微信开放平台移动APP应用通过-微信商户继续申请-微信开户函-视频声明-以及对公打款验证-申请+配置完整流程-优雅草卓伊凡
【04】微信支付商户申请下户到配置完整流程-微信开放平台移动APP应用通过-微信商户继续申请-微信开户函-视频声明-以及对公打款验证-申请+配置完整流程-优雅草卓伊凡
1657 1
【04】微信支付商户申请下户到配置完整流程-微信开放平台移动APP应用通过-微信商户继续申请-微信开户函-视频声明-以及对公打款验证-申请+配置完整流程-优雅草卓伊凡
|
前端开发 Java 开发工具
【03】完整flutter的APP打包流程-以apk设置图标-包名-签名-APP名-打包流程为例—-开发完整的社交APP-前端客户端开发+数据联调|以优雅草商业项目为例做开发-flutter开发-全流程-商业应用级实战开发-优雅草央千澈 章节内容【03】
【03】完整flutter的APP打包流程-以apk设置图标-包名-签名-APP名-打包流程为例—-开发完整的社交APP-前端客户端开发+数据联调|以优雅草商业项目为例做开发-flutter开发-全流程-商业应用级实战开发-优雅草央千澈 章节内容【03】
1855 18
【03】完整flutter的APP打包流程-以apk设置图标-包名-签名-APP名-打包流程为例—-开发完整的社交APP-前端客户端开发+数据联调|以优雅草商业项目为例做开发-flutter开发-全流程-商业应用级实战开发-优雅草央千澈 章节内容【03】
|
小程序 数据安全/隐私保护 开发者
【02】微信支付商户申请下户到配置完整流程-微信开放平台申请APP应用-微信商户支付绑定appid-公众号和小程序分别申请appid-申请+配置完整流程-优雅草卓伊凡
【02】微信支付商户申请下户到配置完整流程-微信开放平台申请APP应用-微信商户支付绑定appid-公众号和小程序分别申请appid-申请+配置完整流程-优雅草卓伊凡
1673 3
|
JSON 小程序 UED
微信小程序 app.json 配置文件解析与应用
本文介绍了微信小程序中 `app.json` 配置文件的详细
2842 12
|
移动开发 小程序
仿青藤之恋社交交友软件系统源码 即时通讯 聊天 微信小程序 App H5三端通用
仿青藤之恋社交交友软件系统源码 即时通讯 聊天 微信小程序 App H5三端通用
1660 3
|
缓存 容器 Perl
【Azure Container App】Container Apps 设置延迟删除 (terminationGracePeriodSeconds) 的解释
terminationGracePeriodSeconds : 这个参数的定义是从pod收到terminated signal到最终shutdown的最大时间,这段时间是给pod中的application 缓冲时间用来处理链接关闭,应用清理缓存的;并不是从idel 到 pod被shutdown之间的时间;且是最大时间,意味着如果application 已经gracefully shutdown,POD可能被提前terminated.
554 3