自動轉存當前文件至上次轉存路徑。
// ==UserScript== // @name 百度網盤自動轉存 // @name:zh-CN 百度网盘自动转存 // @namespace moe.jixun.baidu.auto.save // @version 0.4 // @description 自動轉存當前文件至上次轉存路徑。 // @author Jixun // @include http://pan.baidu.com/share/link* // @include https://pan.baidu.com/share/link* // @include http://pan.baidu.com/s/* // @include https://pan.baidu.com/s/* // @grant none // @run-at document-end // @license MIT // ==/UserScript== (function(yunData, require) { 'use strict'; var errors = { 0: '成功', 5: '自己的文件', 12: '已经保存过了', 111: '另一保存任务进行中', '-33': '需要会员 (?)', 120: '需要会员 (?)', 130: '需要超级会员 (?)' }; (function (tip, c) { function getRecentPath() { var key = window.yunData.MYNAME.replace(/@/g, "") + "_transfer_save_path"; var _recent_path = localStorage.getItem(key); if (!_recent_path) _recent_path = '/'; else _recent_path = _recent_path.replace(/\?\d+/, ''); return _recent_path; } var $ = require("base:widget/libs/jquery-1.12.4.js"); function doAutoSave (count) { if (count <= 0) { tip.hide(); tip.show({ mode: 'error', msg: '转存失败:请检查网络连接。', hasClose: true, autoClose: false, vipType: 'svip' }); return; } const path = getRecentPath(); $.ajax({ type: 'POST', url: '/share/transfer?shareid=' + yunData.SHARE_ID + '&from=' + yunData.SHARE_UK, data: { filelist: JSON.stringify(yunData.FILEINFO.map(function(f){ return f.path; })), path: path }, dataType: 'json', success: function (data) { var raw = typeof data == 'string' ? $.parseJSON(data) : data; var err = data.errno; var errMsg = ''; if (err in errors) { errMsg += errors[err] + ' (' + err + ')'; } else { errMsg += '未知状态 (' + err + ')'; } var msg = '保存至: ' + path + ', 状态: ' + errMsg; document.title = errMsg + ' - ' + document.title; tip.hide(); tip.show({ mode: err === 0 ? 'success' : 'caution', msg: msg, hasClose: true, autoClose: false, vipType: 'svip' }); }, error: function (error) { console.warn('网络连接失败,进行重试…'); setTimeout(doAutoSave, 500, count - 1); } }); } doAutoSave(5); tip.show({ mode: 'loading', msg: "正在转存文件,请稍后...", hasClose: false, autoClose: false }); })( /*tip: */require("system-core:system/uiService/tip/tip.js") ); })(window.yunData, window.require);