zoukankan      html  css  js  c++  java
  • xgqfrms™, xgqfrms® : xgqfrms's offical website of GitHub!

    微信分享 API

    https://market.cmbchina.com/MPage/online/190416201200302/wechatShare.js

    /*
    * 注意:
    * 1. 所有的JS接口只能在公众号绑定的域名下调用,公众号开发者需要先登录微信公众平台进入“公众号设置”的“功能设置”里填写“JS接口安全域名”。
    * 2. 如果发现在 Android 不能分享自定义内容,请到官网下载最新的包覆盖安装,Android 自定义分享接口需升级至 6.0.2.58 版本及以上。
    * 3. 完整 JS-SDK 文档地址:http://mp.weixin.qq.com/wiki/7/aaa137b55fb2e0456bf8dd9148dd613f.html
    *
    * 如有问题请通过以下渠道反馈:
    * 邮箱地址:weixin-open@qq.com
    * 邮件主题:【微信JS-SDK反馈】具体问题
    * 邮件内容说明:用简明的语言描述问题所在,并交代清楚遇到该问题的场景,可附上截屏图片,微信团队会尽快处理你的反馈。
    **
    * 在需要调用JS接口的页面引入如下JS文件,
    * (支持https):http://res.wx.qq.com/open/js/jweixin-1.4.0.js
    *  <script src="http://res.wx.qq.com/open/js/jweixin-1.4.0.js"></script>
    *  
    * 2015-5-21 
    * 扩展微信 js
    */
    
    var wxJs = {
        /**
         *weixinjs.setPrefix('${SYSURL}');
         */
        root: "",
        setPrefix: function (root) {
            this.root = root
        },
    
        /**
         *获取url上面的参数值
         *name 参数名
         *return 参数值
         */
    
        getUrlParam: function (name) {
            var reg = new RegExp("(^|&)" + name + "=([^&]*)(&|$)") //构造一个含有目标参数的正则表达式对象
            var r = window.location.search.substr(1).match(reg) //匹配目标参数
            if (r != null) return unescape(r[2])
            return null //返回参数值
        },
    
        /**
         *判断是否是微信浏览器
         */
    
        isWeixin: function () {
            var ua = navigator.userAgent.toLowerCase()
            if (ua.match(/MicroMessenger/i) == "micromessenger") {
                return true
            } else {
                return false
            }
        },
    
        /**
         *判断是否是iPhone手机
         */
    
        isIphone: function () {
            var ua = navigator.userAgent.toLowerCase()
            if (ua.match(/iPhone/i) == "iphone") {
                return true
            } else {
                return false
            }
        },
    
        /**
         *判断是否是Android手机
         */
    
        isAndroid: function () {
            var ua = navigator.userAgent.toLowerCase()
            if (ua.match(/Android/i) == "android") {
                return true
            } else {
                return false
            }
        },
    
        /**
         *监测参数
         */
        checkMParam: function (value) {
            if (
                value != null &&
                value != undefined &&
                value != "" &&
                value != "null" &&
                value != "NULL" &&
                value != "undefined" &&
                value != "UNDEFINED"
            ) {
                return true
            }
            return false
        }
    }
    
    //设置微信参数
    function setwx_config(appId, timestamp, nonceStr, signature) {
        /*
           * 注意:
           * 1. 所有的JS接口只能在公众号绑定的域名下调用,公众号开发者需要先登录微信公众平台进入“公众号设置”的“功能设置”里填写“JS接口安全域名”。
           * 2. 如果发现在 Android 不能分享自定义内容,请到官网下载最新的包覆盖安装,Android 自定义分享接口需升级至 6.0.2.58 版本及以上。
           * 3. 常见问题及完整 JS-SDK 文档地址:http://mp.weixin.qq.com/wiki/7/aaa137b55fb2e0456bf8dd9148dd613f.html
           *
           * 开发中遇到问题详见文档“附录5-常见错误及解决办法”解决,如仍未能解决可通过以下渠道反馈:
           * 邮箱地址:weixin-open@qq.com
           * 邮件主题:【微信JS-SDK反馈】具体问题
           * 邮件内容说明:用简明的语言描述问题所在,并交代清楚遇到该问题的场景,可附上截屏图片,微信团队会尽快处理你的反馈。
           */
        wx.config({
            debug: false, // 开启调试模式,调用的所有api的返回值会在客户端alert出来,若要查看传入的参数,可以在pc端打开,参数信息会通过log打出,仅在pc端时才会打印。
            appId: appId, // 必填,公众号的唯一标识
            timestamp: timestamp, // 必填,生成签名的时间戳
            nonceStr: nonceStr, // 必填,生成签名的随机串
            // 必填,签名,见附录1
            signature: signature,
            // 必填,需要使用的JS接口列表,所有JS接口列表见附录2
            jsApiList: [
                "checkJsApi",
                "onMenuShareTimeline",
                "onMenuShareAppMessage",
                "onMenuShareQQ",
                "onMenuShareWeibo",
                "hideMenuItems",
                "showMenuItems",
                "hideAllNonBaseMenuItem",
                "showAllNonBaseMenuItem",
                "translateVoice",
                "startRecord",
                "stopRecord",
                "onRecordEnd",
                "playVoice",
                "pauseVoice",
                "stopVoice",
                "uploadVoice",
                "downloadVoice",
                "chooseImage",
                "previewImage",
                "uploadImage",
                "downloadImage",
                "getNetworkType",
                "openLocation",
                "getLocation",
                "hideOptionMenu",
                "showOptionMenu",
                "closeWindow"
                /**'scanQRCode',
                      'chooseWXPay',
                      'openProductSpecificView'
                      'addCard',
                      'chooseCard',
                      'openCard'**/
            ]
        })
    }
    
    //微信分享
    function wx_Share(shareData) {
        var wxappid = document.getElementById("shareAppid").value //微信号appID
        var timestamp = document.getElementById("shareTimeStamp").value //时间戳
        var nonceStr = document.getElementById("shareNonceStr").value //随机字符串
        var signature = document.getElementById("shareSign").value //签名
        setwx_config(wxappid, timestamp, nonceStr, signature)
    
        //微信分享 jS
        wx.ready(function () {
            if (shareData != null) {
                wx.showOptionMenu()
                wx.onMenuShareAppMessage(shareData)
                wx.onMenuShareTimeline(shareData)
            } else {
                //js-sdk  屏蔽分享按钮
                wx.hideOptionMenu()
            }
        })
    }
    
    //微信分享
    function weixinShare(options, flag) {
        if (!wxJs.isWeixin()) {
            return
        }
        var wxappid = options.wxappid //微信号appID
        var timestamp = options.timestamp //时间戳
        var nonceStr = options.nonceStr //随机字符串
        var signature = options.signature //签名
        var shareData = options.shareData
        setwx_config(wxappid, timestamp, nonceStr, signature)
        //微信分享 jS
        wx.ready(function () {
            if (shareData !== null || (options.shareWechatParam !== null && options.shareTimeLineParam !== null)) {
                wx.showOptionMenu()
                if (flag) {
                    wx.onMenuShareAppMessage(options.shareWechatParam)
                    wx.onMenuShareTimeline(options.shareTimeLineParam)
                } else {
                    wx.onMenuShareAppMessage(shareData)
                    wx.onMenuShareTimeline(shareData)
                }
            } else {
                //js-sdk  屏蔽分享按钮
                wx.hideOptionMenu()
            }
        })
    }
    
    
    

    refs



    ©xgqfrms 2012-2020

    www.cnblogs.com 发布文章使用:只允许注册用户才可以访问!


  • 相关阅读:
    Infopath Notify 弹出提示信息
    window.showModalDialog 返回值
    【转】获得正文内容中的所有img标签的图片路径
    Json Datable Convert
    Sharepoint 列表 附件 小功能
    Surgey 权限更改
    SQL 触发器用于IP记录转换
    Caml语句 查询分配给当前用户及当前组
    jquery 1.3.2 auto referenced when new web application in VSTS2010(DEV10)
    TFS diff/merge configuration
  • 原文地址:https://www.cnblogs.com/xgqfrms/p/14066766.html
Copyright © 2011-2022 走看看