H5跳转微信小程序

这是一个从H5跳转到第三方小程序的功能。

一   第一个注意点,要知道你要跳转的第三方小程序原始ID一般是gh_开头的,有了这个id就能跳转到第三方小程序公共界面。

二   第二个注意点,这个跳转标签的path地址一定一定一定要提前准备好,因为假如你要跳转到小程序里具体某个用户那如果不提前准备好跳转地址拼上用户信息,而是等点击跳转按钮再获取跳转地址拼上用户信息那你是无法准确跳到准确的用户那的。          暂时的理解是点击跳转的一瞬间就已经跳过去了,这时候手机会出现个弹窗这个弹窗绑定不了任何事件,只能做是否具体跳转拦截处理。如果在跳转绑定获取地址拼用户信息接口始终慢跳转一步,              总结一句话就是不能同时获取跳转地址拼用户信息再跳转到小程序具体某一用户

                    <wx-open-launch-weapp id="doc-launch-btn" username="gh_95xxxxxxxx"  :path="path" @launch="handleLaunchFn">
                        <script type="text/wxtag-template">
                            <style>.btn {   width: 100%;
                                            margin: 0 auto;
                                            font-size: 14px;
                                            font-family: PingFangSC-Medium, PingFang SC;
                                            font-weight: 600;
                                            color: #14B5B0;
                                            text-align: center;
                                            line-height: 46px;
                                            border: 0px;
                                            background: #FFFFFF;
                                            }</style>
                        <button  type='primary' class="btn">立即使用</button>
                        </script>
                    </wx-open-launch-weapp>

使用标签前封装的配置代码

第一个   jssdkSignTest.js文件

(function () {
    var _sino = window.hmt = {};
    // let url // 微信jsdkSign待签名url;
    const serverPath =   '域名'; //jssdkSign服务器地址;
    // _sino.callbackWX // 回调函数
    window.jssdkSign = function (url, callback) {
        this.url = url;
        _sino.callbackWX = callback;
        getJssdk(url);
    };

    function getJssdk (url) {
        // 加载jssdk信息;
        var scriptJssdk = document.createElement('script');
        try {
            scriptJssdk.src = serverPath + '/jssdkSign.json?url=' + url + '&callback=hmt.callbackWX';
            document.head.appendChild(scriptJssdk);
        } catch (e) {
            console.log(e);
        }
    }
})();

第二个配置wxfig.js文件

export function initWxConfig () {
    const url = encodeURIComponent(window.location.href.split('#')[0]);
    // console.log(sessionStorage.getItem('wxInfo'));
    window.jssdkSign(url, function (res) {
        // console.log(wx, 'wx');
        // localStorage.setItem('wxInfo', JSON.stringify(res));
        wx.config({
            debug: false,
            appId: res.appId,
            timestamp: res.timestamp,
            nonceStr: res.noncestr,
            signature: res.signature,
            jsApiList: [
                'hideOptionMenu',
                'showOptionMenu'
            ],
            openTagList: ['wx-open-launch-weapp']
        });
        wx.error(function (res) {
            console.log('微信签名错误进入', res.errMsg);
        });
        wx.ready(function () {
            // console.log('ready');
        });
    });
};

哪个页面使用的时候只需要在使用页面 import initWxConfig from 'wxfig.js'然后mounted里initWxConfig()即可。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值