微信分享和微信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 样式设置技巧

相关文章
|
8月前
|
Dart 前端开发
【05】flutter完成注册页面完善样式bug-增加自定义可复用组件widgets-严格规划文件和目录结构-规范入口文件-开发完整的社交APP-前端客户端开发+数据联调|以优雅草商业项目为例做开发-flutter开发-全流程-商业应用级实战开发-优雅草央千澈
【05】flutter完成注册页面完善样式bug-增加自定义可复用组件widgets-严格规划文件和目录结构-规范入口文件-开发完整的社交APP-前端客户端开发+数据联调|以优雅草商业项目为例做开发-flutter开发-全流程-商业应用级实战开发-优雅草央千澈
262 75
【05】flutter完成注册页面完善样式bug-增加自定义可复用组件widgets-严格规划文件和目录结构-规范入口文件-开发完整的社交APP-前端客户端开发+数据联调|以优雅草商业项目为例做开发-flutter开发-全流程-商业应用级实战开发-优雅草央千澈
|
6月前
|
存储 移动开发 小程序
校园圈子系统小程序(圈子论坛、私信聊天、资料共享、二手交易、兼职,跑腿)开源码开发/微信公众号、小程序、H5多端账号同步/搭建多城市的综合社交生活平台
基于开源技术栈构建的校园圈子系统小程序,整合社交与生活服务功能,涵盖兴趣圈子、私信聊天、资料共享、二手交易、兼职跑腿等六大核心模块。通过多端账号同步(微信公众号/小程序/H5),实现数据实时交互,满足学生群体的多元化需求。项目精准锚定校园市场,以“社交+服务”双轮驱动,提供一站式解决方案,支持快速部署与多校区运营,同时具备广告、佣金、会员等多元变现能力,是打造校园生态的理想工具。
551 3
校园圈子系统小程序(圈子论坛、私信聊天、资料共享、二手交易、兼职,跑腿)开源码开发/微信公众号、小程序、H5多端账号同步/搭建多城市的综合社交生活平台
|
8月前
|
前端开发 Java 开发工具
【03】完整flutter的APP打包流程-以apk设置图标-包名-签名-APP名-打包流程为例—-开发完整的社交APP-前端客户端开发+数据联调|以优雅草商业项目为例做开发-flutter开发-全流程-商业应用级实战开发-优雅草央千澈 章节内容【03】
【03】完整flutter的APP打包流程-以apk设置图标-包名-签名-APP名-打包流程为例—-开发完整的社交APP-前端客户端开发+数据联调|以优雅草商业项目为例做开发-flutter开发-全流程-商业应用级实战开发-优雅草央千澈 章节内容【03】
484 18
【03】完整flutter的APP打包流程-以apk设置图标-包名-签名-APP名-打包流程为例—-开发完整的社交APP-前端客户端开发+数据联调|以优雅草商业项目为例做开发-flutter开发-全流程-商业应用级实战开发-优雅草央千澈 章节内容【03】
|
8月前
|
缓存 前端开发 IDE
【06】flutter完成注册页面-密码登录-手机短信验证-找回密码相关页面-并且实现静态跳转打包demo做演示-开发完整的社交APP-前端客户端开发+数据联调|以优雅草商业项目为例做开发-flutter开发-全流程-商业应用级实战开发-优雅草央千澈
【06】flutter完成注册页面-密码登录-手机短信验证-找回密码相关页面-并且实现静态跳转打包demo做演示-开发完整的社交APP-前端客户端开发+数据联调|以优雅草商业项目为例做开发-flutter开发-全流程-商业应用级实战开发-优雅草央千澈
169 0
【06】flutter完成注册页面-密码登录-手机短信验证-找回密码相关页面-并且实现静态跳转打包demo做演示-开发完整的社交APP-前端客户端开发+数据联调|以优雅草商业项目为例做开发-flutter开发-全流程-商业应用级实战开发-优雅草央千澈
|
10月前
|
移动开发 小程序
仿青藤之恋社交交友软件系统源码 即时通讯 聊天 微信小程序 App H5三端通用
仿青藤之恋社交交友软件系统源码 即时通讯 聊天 微信小程序 App H5三端通用
766 3
|
11月前
|
Web App开发 移动开发 前端开发
H5微信外支付(移动端浏览器)
H5微信外支付(移动端浏览器)
388 1
 H5微信外支付(移动端浏览器)
|
10月前
|
缓存 容器 Perl
【Azure Container App】Container Apps 设置延迟删除 (terminationGracePeriodSeconds) 的解释
terminationGracePeriodSeconds : 这个参数的定义是从pod收到terminated signal到最终shutdown的最大时间,这段时间是给pod中的application 缓冲时间用来处理链接关闭,应用清理缓存的;并不是从idel 到 pod被shutdown之间的时间;且是最大时间,意味着如果application 已经gracefully shutdown,POD可能被提前terminated.
227 3
|
11月前
|
移动开发 小程序 数据可视化
基于npm CLI脚手架的uniapp项目创建、运行与打包全攻略(微信小程序、H5、APP全覆盖)
基于npm CLI脚手架的uniapp项目创建、运行与打包全攻略(微信小程序、H5、APP全覆盖)
1761 3
|
11月前
|
移动开发 小程序 数据可视化
一招学会DIY官网可视化设计支持导出微擎、UNIAPP、H5、微信小程序源码
一招学会DIY官网可视化设计支持导出微擎、UNIAPP、H5、微信小程序源码
221 2
|
移动开发 小程序 前端开发
uni-app组件样式修改不生效
uni-app组件样式修改不生效

热门文章

最新文章