热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

js实现微信自定义分享功能

1.首先要进行js接口安全域名的设置和配置分享页面引用微信js<scriptsrchttp:res.wx.qq.comopenjsjw

1.首先要进行js接口安全域名的设置和配置

分享页面引用微信js
//公众号appid,时间戳,随机字符串,后台返回签名信息,分享标题,分享链接,分享内容48字以内,分享图片
Myth.common.wxShare.WxShare('<%=appId%>', '<%=timestamp%>', '<%=nonceStr%>', '<%=signature%>', '<%=newTitle%>', '<%=Link%>', '<%=Desc%>', '<%=ImgUrl%>');
///封装模块JS
(function (window, $) {
    var Myth = window.Myth = function () { };
    Myth.fn = Myth.prototype;
    var common = Myth.common = Myth.fn.common = {}
    //微信分享
    var wxShare=common.wxShare= {
        WxShare: function (appId, timestamp, nonceStr, signature, title, link, desc, imgUrl) {
            //通过config接口注入权限验证配置
            wx.config({
                debug: false, // 开启调试模式,调用的所有api的返回值会在客户端alert出来,若要查看传入的参数,可以在pc端打开,参数信息会通过log打出,仅在pc端时才会打印。
                appId: appId, // 必填,公众号的唯一标识
                timestamp: timestamp, // 必填,生成签名的时间戳
                nonceStr: nonceStr, // 必填,生成签名的随机串
                signature: signature,// 必填,签名,见附录1
                jsApiList: ['checkJsApi', 'onMenuShareTimeline', 'onMenuShareAppMessage', 'onMenuShareQQ', 'onMenuShareWeibo', 'onMenuShareQZone'] // 必填,需要使用的JS接口列表,所有JS接口列表见附录2
            });
            //通过ready接口处理成功验证
            wx.ready(function () {
                //判断当前客户端版本是否支持指定JS接口
                //wx.checkJsApi({
                //    jsApiList: ['onMenuShareAppMessage', 'onMenuShareQQ', 'onMenuShareWeibo', 'onMenuShareQZone'], // 需要检测的JS接口列表,所有JS接口列表见附录2,
                //    success: function (res) {
                //        // 以键值对的形式返回,可用的api值true,不可用为false
                //        // 如:{"checkResult":{"chooseImage":true},"errMsg":"checkJsApi:ok"}
                //        if (res) {
                //            alert(JSON.stringify(res));
                //        }
                //    }
                //});
                var data = {
                    title: title, // 分享标题
                    link: link, // 分享链接
                    desc: desc, // 分享描述
                    imgUrl: imgUrl, // 分享图标
                    success: function (res) {
                        // 用户确认分享后执行的回调函数
                        //shareSuccess(res);
                    },
                    cancel: function (res) {
                        // 用户取消分享后执行的回调函数
                    },
                    fail: function (res) {
                        //shareFail();
                    }
                };
                //分享到朋友圈
                wx.onMenuShareTimeline(data);
                //分享给朋友
                wx.onMenuShareAppMessage(data);
                //分享到QQ
                wx.onMenuShareQQ(data);
                //分享到腾讯微博
                wx.onMenuShareWeibo(data);
                //分享到QQ空间
                wx.onMenuShareQZone(data);
            });
            //通过error接口处理失败验证
            wx.error(function (res) {
                //alert(JSON.stringify(res));
            });
            function shareSuccess(res) {
                alert("分享成功:" + JSON.stringify(res));
            }
            function shareFail(res) {
                alert("分享失败:" + JSON.stringify(res));
            }
        }
    }
})(window, jQuery);



推荐阅读
  • 本文介绍如何使用 Angular 6 的 HttpClient 模块来获取 HTTP 响应头,包括代码示例和常见问题的解决方案。 ... [详细]
  • 本文详细介绍如何使用 Python 集成微信支付的三种主要方式:Native 支付、APP 支付和 JSAPI 支付。每种方式适用于不同的应用场景,如 PC 网站、移动端应用和公众号内支付等。 ... [详细]
  • 本文深入探讨了HTTP请求和响应对象的使用,详细介绍了如何通过响应对象向客户端发送数据、处理中文乱码问题以及常见的HTTP状态码。此外,还涵盖了文件下载、请求重定向、请求转发等高级功能。 ... [详细]
  • 探讨了如何解决Ajax请求响应时间过长的问题。本文分析了一个从服务器获取少量数据的Ajax请求,尽管服务器已经对JSON响应进行了缓存,但实际响应时间仍然不稳定。 ... [详细]
  • 深入理解Lucene搜索机制
    本文旨在帮助读者全面掌握Lucene搜索的编写步骤、核心API及其应用。通过详细解析Lucene的基本查询和查询解析器的使用方法,结合架构图和代码示例,带领读者深入了解Lucene搜索的工作流程。 ... [详细]
  • JavaScript 基础语法指南
    本文详细介绍了 JavaScript 的基础语法,包括变量、数据类型、运算符、语句和函数等内容,旨在为初学者提供全面的入门指导。 ... [详细]
  • ElasticSearch 集群监控与优化
    本文详细介绍了如何有效地监控 ElasticSearch 集群,涵盖了关键性能指标、集群健康状况、统计信息以及内存和垃圾回收的监控方法。 ... [详细]
  • 使用JS、HTML5和C3创建自定义弹出窗口
    本文介绍如何结合JavaScript、HTML5和C3.js来实现一个功能丰富的自定义弹出窗口。通过具体的代码示例,详细讲解了实现过程中的关键步骤和技术要点。 ... [详细]
  • 本文介绍了一个基于 Java SpringMVC 和 SSM 框架的综合系统,涵盖了操作日志记录、文件管理、头像编辑、权限控制、以及多种技术集成如 Shiro、Redis 等,旨在提供一个高效且功能丰富的开发平台。 ... [详细]
  • 本文介绍如何在Laravel框架中集成微信支付功能,包括如何配置微信支付环境、处理支付请求及接收支付回调等关键步骤。 ... [详细]
  • 在创建新的Android项目时,您可能会遇到aapt错误,提示无法打开libstdc++.so.6共享对象文件。本文将探讨该问题的原因及解决方案。 ... [详细]
  • 本文详细探讨了JavaScript中的作用域链和闭包机制,解释了它们的工作原理及其在实际编程中的应用。通过具体的代码示例,帮助读者更好地理解和掌握这些概念。 ... [详细]
  • 如何清除Chrome浏览器地址栏的特定历史记录
    在使用Chrome浏览器时,你可能会发现地址栏保存了大量浏览记录。有时你可能希望删除某些特定的历史记录而不影响其他数据。本文将详细介绍如何单独删除地址栏中的特定记录以及批量清除所有历史记录的方法。 ... [详细]
  • 本文详细介绍了Hive中用于日期和字符串相互转换的多种函数,包括从时间戳到日期格式的转换、日期到时间戳的转换,以及如何处理不同格式的日期字符串。通过这些函数,用户可以轻松实现日期和字符串之间的灵活转换,满足数据处理中的各种需求。 ... [详细]
  • python时间序列之ADF检验(1)
    读取数据,pd.read_csv默认生成DataFrame对象,需将其转换成Series对象DataFrame和Series是pandas中最常见的2 ... [详细]
author-avatar
辽宁何氏医学院视光张丽杰
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有