// ==UserScript==
// @name 微信公众号推文图片一键下载
// @namespace http://tampermonkey.net/
// @version 1.2.1
// @description 一键下载微信公众号推文内的图片到本地保存
// @author Ray++
// @match https://mp.weixin.qq.com/s/*
// @match https://mp.weixin.qq.com/s?__biz=*
// @require http://libs.baidu.com/jquery/1.9.0/jquery.js
// @grant GM_addStyle
// @grant GM_download
// @grant GM_xmlhttpRequest
// @grant GM_getResourceText
// @resource Bootstrap http://libs.baidu.com/bootstrap/3.1.1/css/bootstrap.min.css
// @downloadURL https://update.greasyfork.icu/scripts/40583/%E5%BE%AE%E4%BF%A1%E5%85%AC%E4%BC%97%E5%8F%B7%E6%8E%A8%E6%96%87%E5%9B%BE%E7%89%87%E4%B8%80%E9%94%AE%E4%B8%8B%E8%BD%BD.user.js
// @updateURL https://update.greasyfork.icu/scripts/40583/%E5%BE%AE%E4%BF%A1%E5%85%AC%E4%BC%97%E5%8F%B7%E6%8E%A8%E6%96%87%E5%9B%BE%E7%89%87%E4%B8%80%E9%94%AE%E4%B8%8B%E8%BD%BD.meta.js
// ==/UserScript==
var body_data={
"isuse":1,
"title":"",
"copyright":"",
"post_date":"",
"post_user":"",
"post_auth":"",
"js_content":"",
"wx_code":"",
"wx_desc":"",
"imgs":Array(),
"imgs_tag":Array()
};
function dl(m)
{
var ext=".jpg";
if (body_data.imgs[m].indexOf('wx_fmt=gif')>0 || body_data.imgs[m].indexOf('mmbiz_gif')>0) { ext=".gif"; }
if (body_data.imgs[m].indexOf('wx_fmt=png')>0 || body_data.imgs[m].indexOf('mmbiz_png')>0) { ext=".png"; }
if (body_data.imgs[m].indexOf('wx_fmt=bmp')>0 || body_data.imgs[m].indexOf('mmbiz_bmp')>0) { ext=".bmp"; }
var fn=body_data.title+m.toString()+ext;
GM_xmlhttpRequest({
method: 'GET',
url: body_data.imgs[m],
responseType: 'blob',
onload:function (xhr) {
var blobURL=window.URL.createObjectURL(xhr.response);
if (body_data.imgs_tag[m]==1)
{
download_a = document.querySelector('.download_a');
download_a.href = blobURL;
download_a.setAttribute('download', fn);
download_a.click();
window.URL.revokeObjectURL(blobURL);
body_data.imgs_tag[m]=0;
if (m<(body_data.imgs.length-1)) {
m++;
dl(m);
$("#cnum")[0].innerText=m+"/"+body_data.imgs.length;
}
else
{
$("#cnum")[0].innerText="";
}
}
}
});
}
function download_fn(){
dl(0);
}
(function() {
'use strict';
var Bootstrap=GM_getResourceText("Bootstrap");
GM_addStyle(Bootstrap);
var $btn1=$('');
$btn1.click(download_fn);
$("#img-content").prepend($btn1);
var getElm = document.getElementsByTagName("title");
body_data.title=getElm[0].innerText;
var gs=$("#js_content")[0].getElementsByTagName("img");
var imgs=Array();
var imgs_tag=Array();
for (var i=0;i