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 发布文章使用:只允许注册用户才可以访问!


原文地址:https://www.cnblogs.com/xgqfrms/p/14066766.html