所有分类
  • 所有分类
  • 后端开发
HTML5网页分享接口大揭秘:从微信接口到自定义分享,一步到位

HTML5网页分享接口大揭秘:从微信接口到自定义分享,一步到位

这篇文章主要介绍了微信端html5页面调用分享接口示例的相关资料,内容挺不错的,现在分享给大家,也给大家做个参考。

引言

我最近做了个网页开发项目,涉及到要使用微信分享功能。今天来聊聊怎么样在HTML5网页中运用到这个分享接口,以及可能遇到的问题和解决方法。

准备工作


开头就是,要在Angular1搭建好的网站里面,把微信接口文件搞进来index首页。接着,得跑一遍myApp.run程序文件,添加个分享功能。这个功能会抓取当前页面链接,交给后台去处理并生成相应的数字签名。然后后台再送回几个有用的数据:appId,时间戳,一堆随机字符串和刚才那个签名。顺便再加上我们需要的接口列表(jsApiList)。最后,按照步骤直接调用分享接口就是。

调试与自定义分享内容

// 微信分享函数
    function wxShare() {
        var url = $location.absUrl().split('#')[0];
            wxServices.postWxShare(url).then(function (res) {
            if (res.data.code == 0) {
                var respanse = res.data.data;
                wx.config({
                    debug: false, // 开启调试模式,调用的所有api的返回值会在客户端alert出来,若要查看传入的参数,可以在pc端打开,参数信息会通过log打出,仅在pc端时才会打印。
                    appId: respanse.appId,
                    timestamp: respanse.timestamp, // 必填,生成签名的时间戳
                    nonceStr: respanse.nonceStr, // 必填,生成签名的随机串
                    signature: respanse.signature,// 必填,签名
                    jsApiList: ['onMenuShareTimeline',
                        'onMenuShareAppMessage',
                        'onMenuShareQQ',
                        'onMenuShareWeibo',
                        'onMenuShareQZone']// 必填,需要使用的JS接口列表
                });
            }
        })
    }

调试时,要把 debug 设为 True,这能让你每点一下微信接口就能看到具体解释,帮你识别是否写对了。至于分享功能,弄好以后就可以开始自己做特色分享!先把需要用到的共享项目用 wx.ready 预先准备好,然后针对不同平台比如朋友、朋友圈、微博去调整分享细节,记住分享链接必须是在公众号设定的 JS 安全域名内才有效哟。

处理特殊情况

HTML5网页分享接口大揭秘:从微信接口到自定义分享,一步到位

投票这种玩法有点麻烦,需要人家自己点进去填代码。一般的发文章,直接改成文章链接就搞定了。可投票时,我们得让别人转到我们指定的链接,这样才能拿到他们的code。这是因为微信要链接特殊格式,一般链接无法实现这个效果。

wx.ready(function () {
        var obj = {
            title: 'SPBCN团体赛开始投票啦!', // 分享标题
            desc: 'SPBCN团体赛开始投票了,快来为我们加油吧!', // 分享描述
            link: 'http://dev.spbcn.org/wechat-vote-phone/redirect.html', // 分享链接,该链接域名或路径必须与当前页面对应的公众号JS安全域名一致
            // 该链接是重定向链接,因为需要获取用户code,但是该链接又无法直接写微信获取code的链接,
            // 所以需要点击后重新加载新的页面,来实现重定向,重新打开获取code的微信链接,实现获取用户信息的功能;
            imgUrl: 'http://cdn.spbcn.org/img/logo-image.png', // 分享图标
            fail: function (res) {
                alert(JSON.stringify(res));
            }
        };
        // 2.1 监听“分享给朋友”,按钮点击、自定义分享内容及分享结果接口
        wx.onMenuShareAppMessage(obj);
        // 2.2 监听“分享到朋友圈”按钮点击、自定义分享内容及分享结果接口
        wx.onMenuShareTimeline(obj);
        // 2.3 监听“分享到QQ”按钮点击、自定义分享内容及分享结果接口
        wx.onMenuShareQQ(obj);
        // 2.4 监听“分享到微博”按钮点击、自定义分享内容及分享结果接口
        wx.onMenuShareWeibo(obj);
        // 2.5 监听“分享到QZone”按钮点击、自定义分享内容及分享接口
        wx.onMenuShareQZone(obj);
    })

处理获取用户code问题

咱们首页搞了个弹窗小窗口,用户点它就能进微信扫码了。虽然多出来一页有点费劲,但现在没找到别的好办法,大家还得继续想啦~

总结与展望

搞定!经过这些步骤,咱在微信HTML5网页上成功调用了分享功能,还解决了时不时出现的获取用户code(密码)的难题。记住开发时照着那份微信给的指南走,再根据实际情况调整。下次遇到类似项目,咱就能做好点,让用户使用起来舒心。

微信里的HTML5网页也可以直接点赞和分享!想要学会的话就赶紧看这篇简单明了的指南吧~

window.onload = function () {
        // 重定向链接,跟微信公众号中获取用户code是一样的链接
        window.location.href="https://open.weixin.qq.com/connect/oauth2/authorize?appid=公众号appid&redirect_uri=http%3A%2F%2Fdev.spbcn.org%2Fwechat-vote-phone?type=weixin&scope=snsapi_userinfo&response_type=code&state=STATE#wechat_redirect"
    }

原文链接:https://www.icz.com/technicalinformation/web/2024/04/14310.html,转载请注明出处~~~
0

评论0

请先
注意:请收藏好网址www.icz.com,防止失联!站内免费资源持续上传中…!赞助我们
显示验证码
没有账号?注册  忘记密码?