科学教育

搜索
查看: 882|回复: 1
打印 上一主题 下一主题

share.js?v=744340

[复制链接]

3

主题

10

帖子

42

积分

新手上路

Rank: 1

积分
42
跳转到指定楼层
楼主
发表于 2025-9-25 12:08:21 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式


    // JS-SDK Init
    function initWeixinShare(shareCallback) {
        //SHA1
        var hexcase=0;var b64pad="";var chrsz=8;function hex_sha1(s){return binb2hex(core_sha1(str2binb(s),s.length*chrsz))}function b64_sha1(s){return binb2b64(core_sha1(str2binb(s),s.length*chrsz))}function str_sha1(s){return binb2str(core_sha1(str2binb(s),s.length*chrsz))}function hex_hmac_sha1(key,data){return binb2hex(core_hmac_sha1(key,data))}function b64_hmac_sha1(key,data){return binb2b64(core_hmac_sha1(key,data))}function str_hmac_sha1(key,data){return binb2str(core_hmac_sha1(key,data))}function sha1_vm_test(){return hex_sha1("abc")=="a9993e364706816aba3e25717850c26c9cd0d89d"}function core_sha1(x,len){x[len>>5]|=128<<(24-len%32);x[((len+64>>9)<<4)+15]=len;var w=Array(80);var a=1732584193;var b=-271733879;var c=-1732584194;var d=271733878;var e=-1009589776;for(var i=0;i<x.length;i+=16){var olda=a;var oldb=b;var oldc=c;var oldd=d;var olde=e;for(var j=0;j<80;j++){if(j<16){w[j]=x[i+j]}else{w[j]=rol(w[j-3]^w[j-8]^w[j-14]^w[j-16],1)}var t=safe_add(safe_add(rol(a,5),sha1_ft(j,b,c,d)),safe_add(safe_add(e,w[j]),sha1_kt(j)));e=d;d=c;c=rol(b,30);b=a;a=t}a=safe_add(a,olda);b=safe_add(b,oldb);c=safe_add(c,oldc);d=safe_add(d,oldd);e=safe_add(e,olde)}return Array(a,b,c,d,e)}function sha1_ft(t,b,c,d){if(t<20){return(b&c)|((~b)&d)}if(t<40){return b^c^d}if(t<60){return(b&c)|(b&d)|(c&d)}return b^c^d}function sha1_kt(t){return(t<20)?1518500249t<40)?1859775393t<60)?-1894007588:-899497514}function core_hmac_sha1(key,data){var bkey=str2binb(key);if(bkey.length>16){bkey=core_sha1(bkey,key.length*chrsz)}var ipad=Array(16),opad=Array(16);for(var i=0;i<16;i++){ipad[i]=bkey[i]^909522486;opad[i]=bkey[i]^1549556828}var hash=core_sha1(ipad.concat(str2binb(data)),512+data.length*chrsz);return core_sha1(opad.concat(hash),512+160)}function safe_add(x,y){var lsw=(x&65535)+(y&65535);var msw=(x>>16)+(y>>16)+(lsw>>16);return(msw<<16)|(lsw&65535)}function rol(num,cnt){return(num<<cnt)|(num>>>(32-cnt))}function str2binb(str){var bin=Array();var mask=(1<<chrsz)-1;for(var i=0;i<str.length*chrsz;i+=chrsz){bin[i>>5]|=(str.charCodeAt(i/chrsz)&mask)<<(32-chrsz-i%32)}return bin}function binb2str(bin){var str="";var mask=(1<<chrsz)-1;for(var i=0;i<bin.length*32;i+=chrsz){str+=String.fromCharCode((bin[i>>5]>>>(32-chrsz-i%32))&mask)}return str}function binb2hex(binarray){var hex_tab=hexcase?"0123456789ABCDEF":"0123456789abcdef";var str="";for(var i=0;i<binarray.length*4;i++){str+=hex_tab.charAt((binarray[i>>2]>>((3-i%4)*8+4))&15)+hex_tab.charAt((binarray[i>>2]>>((3-i%4)*8))&15)}return str}function binb2b64(binarray){var tab="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/";var str="";for(var i=0;i<binarray.length*4;i+=3){var triplet=(((binarray[i>>2]>>8*(3-i%4))&255)<<16)|(((binarray[i+1>>2]>>8*(3-(i+1)%4))&255)<<8)|((binarray[i+2>>2]>>8*(3-(i+2)%4))&255);for(var j=0;j<4;j++){if(i*8+j*6>binarray.length*32){str+=b64pad}else{str+=tab.charAt((triplet>>6*(3-j))&63)}}}return str};
        var share_url=location.href;
        var timestamp=new Date().getTime()+'';
        var nonceStr=timestamp+parseInt(Math.random()*100000)+'';
        var jsapi_ticket = window.jsticket || "";
        var strSHA1=hex_sha1("jsapi_ticket=" + jsapi_ticket + "&noncestr="+nonceStr+"&timestamp="+timestamp+"&url="+share_url);//SHA1加密

        var checkjsapi = location.href.indexOf("checkjsapi")>0;

        //var checkjsapi = 1;
        wx.config({
            debug: checkjsapi,
            appId: window.jsappid,
            timestamp: timestamp,
            nonceStr: nonceStr,
            signature: strSHA1,
            jsApiList: [
                'checkJsApi',
                'openLocation',
                'getLocation',
                'hideOptionMenu',
                'hideMenuItems',

                'updateTimelineShareData',
                'updateAppMessageShareData'
            ]
        });
        wx.ready(function () {
            if(checkjsapi){
                // 1 判断当前版本是否支持指定 JS 接口,支持批量判断
                wx.checkJsApi({
                    jsApiList: [
                      'getNetworkType',
                      'updateTimelineShareData',
                      'updateAppMessageShareData'
                    ],
                    success: function (res) {
                        alert(JSON.stringify(res));
                    }
                });

            }

            if(window.shareData.timeline_hide == 1){
                wx.hideOptionMenu();
            }


            wx.updateAppMessageShareData({
                title: window.shareData.tTitle, // 分享标题
                desc: window.shareData.tContent, // 分享描述
                link: window.shareData.sendFriendLink, // 分享链接,该链接域名或路径必须与当前页面对应的公众号JS安全域名一致
                imgUrl: window.shareData.imgUrl, // 分享图标
                success: function () {
                    // 设置成功
                }
            });

            wx.updateTimelineShareData({
                title: window.shareData.tTitle, // 分享标题
                link: window.shareData.sendFriendLink, // 分享链接,该链接域名或路径必须与当前页面对应的公众号JS安全域名一致
                imgUrl: window.shareData.imgUrl, // 分享图标
                success: function () {
                    // 设置成功
                }
            });
        });
    }

    $(function(){
        initWeixinShare();
    });


回复

使用道具 举报

3

主题

16

帖子

63

积分

注册会员

Rank: 2

积分
63
沙发
发表于 2025-9-28 15:27:50 | 只看该作者
牛66666666666666
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

快速回复 返回顶部 返回列表