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


  • 相关阅读:
    Ubuntu 14.04 卸载通过源码安装的库
    Ubuntu 14.04 indigo 相关依赖
    Ubuntu 14.04 indigo 安装 cartographer 1.0.0
    Ubuntu 14.04 改变文件或者文件夹的拥有者
    安装cartographer遇到Unrecognized syntax identifier "proto3". This parser only recognizes "proto2"问题
    Unrecognized syntax identifier "proto3". This parser only recognizes "proto2". ”问题解决方法
    查看所有用户组,用户名
    1卸载ROS
    Ubuntu14.04 软件安装卸载
    Ubuntu14.04系统显示器不自动休眠修改
  • 原文地址:https://www.cnblogs.com/xgqfrms/p/14066766.html
Copyright © 2011-2022 走看看