• 微信公众号正确使用开放标签wxopenlaunchweapp


    1.绑定安全域名

    登录微信公众平台,进入“公众号设置”的“功能设置”里填写“JS接口安全域名”;

    2.引入JS文件

    工程化项目可通过npm下载:weixin-js-sdk,需要1.6.0以上版本;

    npm install weixin-js-sdk@1.6.0

    在当前页面引入

    const wx = require('weixin-js-sdk');

    3.通过config接口申请开放标签

    created() {
        wx.config({
          debug: false, // 开启调试模式
          appId: '', // 必填,公众号的唯一标识
          timestamp: '', // 必填,生成签名的时间戳
          nonceStr: '', // 必填,生成签名的随机串
          signature: '',// 必填,签名
          jsApiList: ['chooseImage'], // 必填,需要使用的JS接口列表,填写一个当前公众号有权限的接口
          openTagList: ['wx-open-launch-weapp'] // 可选,需要使用的开放标签列表
        });
    }

    4.注册组件

    在vue中直接使用会报未注册组件的错误,需要在main.js文件中注册该组件

    Vue.config.ignoredElements = [...Vue.config.ignoredElements, 'wx-open-launch-weapp']

    5.开始使用

    wx-open-launch-weapp标签css样式思路:

      1)在wx-open-launch-weapp同级添加一个标签,样式写在该标签上,wx-open-launch-weapp标签绝对定位,透明度为0;

      2)外层标签相对定位,设置宽高是为了wx-open-launch-weapp标签的100%宽高撑满该盒子;

      3)在wx-open-launch-weapp上写行内样式;

    <view class="wxbtn">
        <view class="ct" :style="动态样式">小程序领劵</view>
        <view>
            <wx-open-launch-weapp
                style="position: absolute; top: 0; left: 0;  100%; height: 100%; display: inline-block; border: none;"
                username="gh_xxxxxxx原始ID"
                path="pages/index/index目标小程序跳转地址"
            >
                <script type="text/wxtag-template">
                    <style>
                        .btn {
                            position: absolute;
                            top: 0;
                            left: 0;
                             100%;
                            height: 100%;
                            opacity: 0;
                        }
                    </style>
                    <button class="btn"></button>
                </script>
            </wx-open-launch-weapp>
        </view>
    </view>

    css

    .wxbtn{
        width: 100%;
        height: 80rpx;
        line-height: 80rpx;
        border-radius: 40rpx;
        text-align: center;
        color: #FFFFFF;
        font-weight: 500;
        position: relative;
        background-color: #f60;
        .ct{
            width: 100%;
            height: 100%;
            border-radius: 40rpx;
            font-size: 28rpx;
        }
    }

    6.效果图

     7.IOS兼容性问题

      7.1、在ios机型上,首次进入加载不出来,可在当前页面执行一次默认刷新操作(暂时没有更好的解决方案);

      7.2、如果你动态向浏览器url上添加了一些参数,在ios上面可能会出现签名失败的问题,可以在你跳转的方法上,添加参数之后再进行跳转,可解决这个问题(这个问题的原因是,跳转到当前页时,你的参数可能是异步添加的,参数还未添加时,发送给微信的是当前地址,等你异步添加参数后,这时候的地址与发送给微信的地址不一致,就会出现签名错误情况。“安卓系统不会出现该情况”);

    8.测试

    最后,需要测试时,必须在真机上访问你线上地址才可以测试成功,微信开发者工具与浏览器上测试不了,真机测试本地地址也是不可以的。

  • 相关阅读:
    笑话几则
    .net 知识点滴
    LoadRunner本机录制http协议程序遇到的问题以及解决方法
    40款非常棒的 jQuery 插件和制作教程(系列二)
    50个极佳的企业网站案例
    jQuery ui effects
    9个优秀网上免费标签云生成工具
    30 +创意的登录页面设计灵感
    分享一个jQuery的时间轴插件:TimergliderJS
    36个非常有趣的互动网站设计作品范例
  • 原文地址:https://www.cnblogs.com/chensv/p/16190173.html
Copyright © 2020-2023  润新知