• 正在查找将来过去时的官方设定集?不如看看万界大百科吧!
  • 《将来过去时》第一部分 现在 魔科纪元的少年少女 即将正式发布!
  • 让我偷偷看一眼小鱼君的博客……
  • 服务器已成功迁移到 阿里云(杭州)

MediaWiki:Gadget-Share-btn.js

来自小鱼君和他的朋友们
机智的小鱼君讨论 | 贡献2019年12月2日 (一) 03:16的版本 ([InPageEdit] 没有编辑摘要)

注意:在保存以后,您必须绕过浏览器缓存才能看到所作出的改变。

  • 谷歌浏览器(Google Chrome)- Windows:按下“Ctrl”键然后按 F5。OS X系统:同时按⌘ Cmd⇧ Shift键之后按R键。
  • Safari - 按住⇧ Shift键然后点击工具栏中重新载入键。
  • 火狐(Firefox)- Windows:按住Ctrl键然后按F5。OS X系统:同时按⌘ Cmd⇧ Shift键之后按R键。
  • Internet Explorer:按住Ctrl键然后按F5(或者点击“刷新”按钮)。

mw.loader.using('jquery.cookie',function () {
  /* 分享按钮 */
  $('.action-view .firstHeading').after(
    '<div id="share-this-page">' +
    '<button id="shareQQ-btn">分享到QQ</button>' +
    '<button id="QR-btn">分享二维码</button>' +
    '<button id="purge-btn" title="强刷新(purge)">强刷新页面</button>' +
    '<div id="share-short-url">您还可以通过此链接分享页面:<span id="s-url-placeholder">正在加载……</span></div>'+
    '</div>'
  );
  /* 短链接 */
  $.ajax({
    url: '/api.php',
    type: 'post',
    dataType: 'json',
    data: {
      action: 'shortenurl',
      url: location.href,
      format: 'json'
    },
    success: function(data) {
      var surl = data.shortenurl.shorturl;
      $('#s-url-placeholder').html('<a id="short-url" href="'+surl+'">'+surl+'</a>');
    }
  });
  /* 刷新按钮 */
  $('#purge-btn').click(function () {
    var $this = $(this);
    if ($.cookie('wasPerged') > 0) {
      $this.html('请求频率过高 (<span id="purge-btn_countdown">' + Math.floor(($.cookie('wasPerged') - new Date().getTime()) / 1000) + '</span>)').attr('disabled', 'disabled');
      var endTime = $.cookie('wasPerged');
      setInterval(function () {
        var timeleft = Math.floor((endTime - new Date().getTime()) / 1000);
        if (timeleft < 1) {
          $this.html('强刷新页面').attr('disabled', false);
          clearInterval();
        } else {
          $('#purge-btn_countdown').html(timeleft);
        }
      }, 1000);
    } else {
      $this.html('正在刷新&nbsp;<img src="https://wjghj.cn/images/9/98/Windows-loading.gif" style="height:14px;width:auto" />').attr('disabled', 'disabled');

      // 设置30秒cd
      mw.loader.using(['jquery.cookie'], function () {
        var timeLeft = new Date();
        timeLeft.setTime(timeLeft.getTime() + 30 * 1000);
        $.cookie('wasPerged', new Date().getTime() + (30 * 1000), {
          expires: timeLeft
        });
      });

      new mw.Api().post({
        action: 'purge',
        titles: wgPageName,
      }).done(function () {
        $this.html('刷新成功!');
        window.location.reload();
      }).fail(function () {
        $this.html('刷新失败,请重试').attr('disabled', false);
      });
    }
  });

  /* QQ空间 */
  $('#shareQQ-btn').click(function () {
    //ZONE
    var zoneurl = 'https://sns.qzone.qq.com/cgi-bin/qzshare/cgi_qzshare_onekey?url=https://wjghj.cn/index.php/' + wgPageName + '&sharesource=qzone&title=【' + wgPageName + '】-来自小鱼君和他的朋友们&summary=快来看看机智的小鱼君和他的朋友们的故事吧&pics=https://wjghj.cn/images/b/bc/Wiki.png';
    //FRIEND
    var friendurl = 'http://connect.qq.com/widget/shareqq/index.html?url=https://wjghj.cn/index.php/' + wgPageName + '&sharesource=qzone&title=【' + wgPageName + '】-来自小鱼君和他的朋友们&summary=快来看看机智的小鱼君和他的朋友们的故事吧&pics=https://wjghj.cn/images/b/bc/Wiki.png';

    ssi_modal.show({
      sizeClass: 'dialog',
      className: 'centerbox',
      content:
        '<div style="text-align: center; display: grid; grid-template-columns: 50% 50%">' +
        '<div><a href="' + friendurl + '" target="_blank"><img src="/images/9/97/Qq_logo.png" style="height:50px;width:50px;border-radius:50%;border:1px solid gray;"></a></div>' +
        '<div><a href="' + zoneurl + '" target="_blank"><img style="height:50px;width:50px;border-radius:50%;border:1px solid orange;" src="/images/b/b8/Qzone_logo.png"></a></div>' +
        '<div><a href="' + friendurl + '" target="_blank">分享给好友</a></div>' +
        '<a href="' + zoneurl + '" target="_blank">分享到空间</a></div>' +
        '</div>',
      title: '分享到QQ'
    });
  });

  /* 二维码 */
  $('#QR-btn').click(function () {
    var QRurl = 'https://api.qrserver.com/v1/create-qr-code/?color=Fl000000&bgcolor=FFFFFF&data=https://wjghj.cn/' + mw.config.get('wgPageName') + '&qzone=1&margin=0&size=150x150';
    var QRimg = '<img id="QR-code" src="' + QRurl + '"  alt="二维码服务检索失败!" style="width:150px;height:150px"/>';
    ssi_modal.show({
      sizeClass: 'dialog',
      className: 'centerbox',
      content:
        '<center>' +
        QRimg +
        '<div>扫描或长按保存,然后分享给你的小伙伴吧!<br/><span style="color:gray;font-size:70%;">你也可以<a href="' + QRurl + '" target="_blank">直接下载</a>二维码</span></div>' +
        '</center>',
      title: '分享本页二维码'
    });
  });
});