// ==UserScript== // @name 阿里云盘脚本V5.7【修复无法执行】 // @namespace http://bbs.tampermonkey.net.cn/ // @version 66.84 // @description 【bbs.tampermonkey.net.cn】李恒道 // @author 【bbs.tampermonkey.net.cn】李恒道 // @match https://passport.aliyundrive.com/* // @match https://www.aliyundrive.com/drive/* // @match https://www.aliyundrive.com/drive // @match https://aliyundrive.com/drive/* // @match https://aliyundrive.com/drive // @match http://passport.aliyundrive.com/* // @match http://www.aliyundrive.com/drive/* // @match http://www.aliyundrive.com/drive // @match http://aliyundrive.com/drive/* // @match http://aliyundrive.com/drive // @icon https://www.google.com/s2/favicons?domain=aliyundrive.com // @require https://cdn.bootcdn.net/ajax/libs/lodash.js/4.17.21/lodash.js // @require https://cdn.bootcdn.net/ajax/libs/js-sha1/0.6.0/sha1.js // @grant unsafeWindow // @grant GM_setClipboard // @grant GM_xmlhttpRequest // @connect aliyundrive.com // @connect alicloudccp.com // @run-at document-start // ==/UserScript== let username = '' let password = '' //自动登陆配置项 let NewLink = true; //使用新版链接 let FileList = [] let Searchlist = [] let CreateListner = false; let GenerateFileInShow = false; let parent_file_id = 'root' let listurl = '' let CreateSaveBtn = false; let Totallistnum = 0; let Sublistnum = 0; var ShowFileObj = { name: '文件获取失败', content_hash: 'hash获取失败', size: '公众号:叛逆青年旅舍,来自油猴中文网:bbs.tampermonkey.net.cn', content_type: 'Fucccccck', file_id: '天才少年李恒道', content_type: '系统李恒道吹牛逼理论,QQ4548212' } let accesstoken = '' let filenum = 0; let next_markerlist = [] let totalnum = 0; let Uploadlist = [] let Success = 0; let Faile = 0; let GenerateDialogShow;//对话框1 let GenerateFileinDialogShow;//对话框2 let GenerateShow = false let uploadsize = 1000000 //他妈看不懂了,写的是啥 function GetFileSha1Encr(tempobj) { if (NewLink == true) { let name = tempobj.name.replace('|', '=') if (name === '') { name = 'nameisnull' } return 'aliyunpan://' + name + '|' + tempobj.content_hash.replace('|', '=') + '|' + tempobj.size + '|' + tempobj.content_type.replace('|', '=') } return window.btoa(unescape(encodeURIComponent(JSON.stringify({ name: tempobj.name, content_hash: tempobj.content_hash, size: tempobj.size, content_type: tempobj.content_type, })))) } function CurrentText() { var d = new Date(), str = ''; str += d.getFullYear() + '年'; str += d.getMonth() + 1 + '月'; str += d.getDate() + '日'; str += d.getHours() + '时'; str += d.getMinutes() + '分'; str += d.getSeconds() + '秒'; return str + '序列文件.txt'; } async function CreateTextUpload(name, size, hash) { return new Promise((resolve, reject) => { let useruid = JSON.parse(localStorage.getItem('token')).default_drive_id let uploadtext = '{"drive_id":"' + useruid + '","part_info_list":[{"part_number":1}],"parent_file_id":"' + parent_file_id + '","name":"' + name + '","type":"file","check_name_mode":"auto_rename","size":' + size + ',"content_hash":"' + hash + '","content_hash_name":"sha1"}' GM_xmlhttpRequest({ url: "https://api.aliyundrive.com/v2/file/create", method: "POST", data: uploadtext, headers: { "Content-type": "application/json;charset=utf-8", "Authorization": accesstoken }, onload: function (xhr) { resolve(xhr.responseText); } }); }); } async function UploadTextBin(tageturl, targetdata) { return new Promise((resolve, reject) => { GM_xmlhttpRequest({ url: tageturl, method: "PUT", data: targetdata, headers: { "Content-type": " ", "Referer": "https://www.aliyundrive.com/", // "Authorization": accesstoken }, //binary:true, onload: function (xhr) { resolve(xhr.responseText); } }); }); } async function Complete(upload_id, file_id) { return new Promise((resolve, reject) => { let useruid = JSON.parse(localStorage.getItem('token')).default_drive_id let uploadtext = '{"drive_id":"' + useruid + '","upload_id":"' + upload_id + '","file_id":"' + file_id + '"}' GM_xmlhttpRequest({ url: 'https://api.aliyundrive.com/v2/file/complete', method: "POST", data: uploadtext, headers: { "Content-type": "application/json;charset=utf-8", "Authorization": accesstoken }, onload: function (xhr) { resolve(xhr.responseText); } }); }); } async function UploadTextToAliYunpan(text) { var tempblob = new Blob([text]) if (tempblob.size > uploadsize) { alert('文件超出脚本限制大小,无法上传至云盘!请选择导出文件') return; } let create = JSON.parse(await CreateTextUpload(CurrentText(), tempblob.size, sha1(text))) if (create.rapid_upload == true) { alert('网盘内存在该文件!') } let createurl = create.part_info_list[0].upload_url await UploadTextBin(createurl, text) let finishret = await Complete(create.upload_id, create.file_id) if (finishret.indexOf('file_id') == -1) { alert('保存至网盘失败!') } finishret = JSON.parse(finishret) let sharurl = GetFileSha1Encr(finishret) alert('保存至网盘成功!,已设置到剪辑版') GM_setClipboard(sharurl) //file_id JSON.parse console.log('UploadTextToAliYunpan', finishret) } function GetDecrText(text) { debugger; if (text.indexOf('115://') !== -1) { let sizelist = text.replace('115://', '').split('|') if (sizelist.length < 4) { return 'Error' } if (sizelist.length > 4) { var n = parseInt(sizelist[1]); if (!isNaN(n)) { return { content_hash: sizelist[2], content_type: 'null', name: sizelist[0], size: sizelist[1] } } let temp = text let sizelength = text.replace('115://', '').split('|').length - 4 for (let num = 0; num < sizelength; num++) { temp = temp.replace('|', '=') } sizelist = temp.replace('115://', '').split('|') } return { content_hash: sizelist[2], content_type: 'null', name: sizelist[0], size: sizelist[1] } } if (text.indexOf('aliyunpan::') !== -1) { let sizelist = text.replace('aliyunpan::', '').split('|') if (sizelist.length !== 4) { return 'Error' } return { content_hash: sizelist[1], content_type: sizelist[3], name: sizelist[0], size: sizelist[2] } } if (text.indexOf('aliyunpan://') !== -1) { let sizelist = text.replace('aliyunpan://', '').split('|') if (sizelist.length !== 4) { return 'Error' } return { content_hash: sizelist[1], content_type: sizelist[3], name: sizelist[0], size: sizelist[2] } } try { return JSON.parse(decodeURIComponent(escape(window.atob(text)))) } catch (err) { return 'Error' } } function MulReadialogCreate() { if (GenerateShow === true) { GenerateShow = false; GenerateDialogShow.remove() } //导入文件 if (GenerateFileInShow == true) { return; } GenerateFileInShow = true GenerateFileinDialogShow = document.createElement('div') unsafeWindow.ReadFileList = ReadFileList GenerateFileinDialogShow.innerHTML = `
文件批量导入(请勿导入时关闭)
多文件批量导出 公众号:叛逆青年旅舍
作者天才少年李恒道QQ4548212
油猴中文网bbs.tampermonkey.net.cn
开始提取
导入文件
当前已选:0
` GenerateFileinDialogShow.onclick = function (event) { //多选关闭删除 if (event.target.outerHTML.indexOf('#PDSClose') != -1) { Uploadlist = [] GenerateFileInShow = false; GenerateFileinDialogShow.remove() return; } if (event.target.outerHTML.indexOf('导入文件') != -1) { document.getElementById("uploadfile").click(); return; } if (event.target.outerHTML.indexOf('开始提取') != -1) { alert('正在开始上传,请勿重复点击!') StartAllFile() return; } } document.querySelector('body').append(GenerateFileinDialogShow) } function MulFileDialogCreate() { if (GenerateFileInShow == true) { Uploadlist = [] GenerateFileInShow = false; GenerateFileinDialogShow.remove() } if (GenerateShow == true) { return; } GenerateShow = true GenerateDialogShow = document.createElement('div') GenerateDialogShow.innerHTML = `
文件批量导出
多文件批量导出 公众号:叛逆青年旅舍
作者天才少年李恒道QQ4548212
油猴中文网bbs.tampermonkey.net.cn
搜索文件
搜索
保存至网盘
导出
全部选择
当前共:330
` GenerateDialogShow.onclick = function (event) { debugger; console.log('去他妈的导出', event.target) //多选关闭删除 if (event.target.outerHTML.indexOf('#PDSClose') != -1) { GenerateShow = false; GenerateDialogShow.remove() return; } if (event.target.innerText == '全部选择') { document.querySelectorAll('.FileListOutShow >div').forEach(item => { SetSelectItem(item, true) }) return; } if (event.target.innerText == '搜索') { SearchFileMulInsert(document.querySelector('[name="SearchMulFile"]').value); return; } if (event.target.innerText == '保存至网盘') { let outtext = '阿里云油猴插件By:油猴中文版\n作者:天才少年李恒道QQ:4548212\n公众号:叛逆青年旅舍\n油猴中文网:bbs.tampermonkey.net.cn\n' document.querySelectorAll('.FileListOutShow >div').forEach(item => { if (item.checkbox == true) { outtext = outtext + item.name + '\n' + item.date + '\n' } }) if (outtext !== '阿里云油猴插件By:油猴中文版\n作者:天才少年李恒道QQ:4548212\n公众号:叛逆青年旅舍\n油猴中文网:bbs.tampermonkey.net.cn\n') { alert('开始进行上传,请勿重复点击!') UploadTextToAliYunpan(outtext) } else { alert('未选择任何文件') } return; } if (event.target.innerText == '导出') { let outtext = '阿里云油猴插件By:油猴中文版\n作者:天才少年李恒道QQ:4548212\n公众号:叛逆青年旅舍\n油猴中文网:bbs.tampermonkey.net.cn\n' document.querySelectorAll('.FileListOutShow >div').forEach(item => { if (item.checkbox == true) { outtext = outtext + item.name + '\n' + item.date + '\n' } }) if (outtext !== '阿里云油猴插件By:油猴中文版\n作者:天才少年李恒道QQ:4548212\n公众号:叛逆青年旅舍\n油猴中文网:bbs.tampermonkey.net.cn\n') { download('导出文件成功By:油猴中文网.txt', outtext) } else { alert('未选择任何文件') } return; } } document.querySelector('body').append(GenerateDialogShow) SearchFileMulInsert('') } function LoadDownloadText(url) { debugger; GM_xmlhttpRequest({ url: url, method: "GET", headers: { //"Content-type": "application/json;charset=utf-8", "Referer": "https://www.aliyundrive.com/", // "Authorization": accesstoken }, onload: function (xhr) { debugger; MulReadialogCreate() AddText(xhr.responseText) alert('解析完成!') console.log('解析文本内容!', xhr.responseText) } }); } function DownloadTextRead(obj) { alert('开始读取文件内容,时长根据网速决定,请勿重复点击'); console.log('获取远程对象开始', obj) let useruid = JSON.parse(localStorage.getItem('token')).default_drive_id let uploadtext = '{"drive_id":"' + useruid + '","file_id":"' + obj.file_id + '"}' GM_xmlhttpRequest({ url: "https://api.aliyundrive.com/v2/file/get_download_url", method: "POST", data: uploadtext, headers: { "Content-type": "application/json;charset=utf-8", "Referer": "https://www.aliyundrive.com/", "Authorization": accesstoken }, onload: function (xhr) { var json = JSON.parse(xhr.responseText); if (json.url === undefined) { alert('获取下载地址失败!') return; } LoadDownloadText(json.url) } }); //MulReadialogCreate() } async function UploadOne(num) { return new Promise((resolve, reject) => { let obj = Uploadlist[num] let text = GetDecrText(obj.date) let useruid = JSON.parse(localStorage.getItem('token')).default_drive_id let uploadtext = '{"drive_id":"' + useruid + '","part_info_list":[{"part_number":1}],"parent_file_id":"' + parent_file_id + '","name":"' + text.name + '","type":"file","check_name_mode":"auto_rename","size":' + text.size + ',"content_hash":"' + text.content_hash + '","content_hash_name":"sha1"}' GM_xmlhttpRequest({ url: "https://api.aliyundrive.com/v2/file/create", method: "POST", data: uploadtext, headers: { "Content-type": "application/json;charset=utf-8", "Authorization": accesstoken }, onload: function (xhr) { var json = JSON.parse(xhr.responseText); if (json.rapid_upload == true) { Success++; SetSelectItem(obj, true, false) resolve('success'); } else { Faile++; SetSelectItem(obj, false, false) resolve('faile'); } } }); }); } async function StartAllFile() { Uploadlist = document.querySelectorAll('.FileListOutShow >div') Success = 0; Faile = 0; for (let index = 0; index < Uploadlist.length; index++) { if (Uploadlist[index].checkbox === false) { await UploadOne(index) } } alert('上传完毕,成功了:' + Success + '个文件,失败了:' + Faile + '文件') unsafeWindow.location.reload(); } function AddText(text) { let list = text.split('\n') for (let index = 0; index < list.length; index++) { let rowtext = list[index] if (rowtext.indexOf('eyJu') != -1 || rowtext.indexOf('aliyunpan://') != -1 || rowtext.indexOf('aliyunpan::') != -1 || rowtext.indexOf('115://') != -1) { let temp = GetDecrText(rowtext) if (temp.content_hash == undefined) { alert('存在文件不正確!已跳過該文件!') } else { let FileItem = document.createElement('div') totalnum += 1 SetTotalnum() FileItem.checkbox = false; FileItem.date = rowtext FileItem.name = temp.name FileItem.innerHTML = '
' + temp.name + '
' + temp.size + '
' document.querySelector('.FileListOutShow').append(FileItem) } } } if (document.querySelectorAll('.FileListOutShow >div').length == 0) { alert('找不到分享码!') } } function ReadFileList(evt) { totalnum = 0 SetTotalnum() let files = evt.files if (files.length > 0) { let file = files[0]; let reader = new FileReader(); reader.readAsText(file); reader.onloadend = () => { let result = reader.result; AddText(result) }; } } function download(filename, text) { var element = document.createElement('a'); element.setAttribute('href', 'data:text/plain;charset=utf-8,' + encodeURIComponent(text)); element.setAttribute('download', filename); element.style.display = 'none'; document.body.appendChild(element); element.click(); document.body.removeChild(element); } function uploadadded(event) { } function SetTotalnum() { document.querySelector('.SelectNumShow span').innerText = totalnum } function SetSelectItem(item, check, change = true) { if (item.checkbox === check) { return; } if (item.checkbox === false) { item.checkbox = true if (change == true) { totalnum += 1 SetTotalnum() } item.children[0].children[2].setAttribute('data-checked', 'true') item.children[0].children[2].innerHTML = '
' } else { item.checkbox = false if (change == true) { totalnum -= 1 SetTotalnum() } item.children[0].children[2].setAttribute('data-checked', 'false') item.children[0].children[2].innerHTML = '
' } } function SearchFileMulInsert(text) { document.querySelector('.FileListOutShow').innerText = '' totalnum = 0 for (let index = 0; index < FileList.length; index++) { let templist = FileList[index] for (let innerindex = 0; innerindex < templist.list.length; innerindex++) { let tempobj = templist.list[innerindex] if (tempobj.type !== 'folder') { if (text === '' || tempobj.name.indexOf(text) != -1) { let FileItem = document.createElement('div') FileItem.checkbox = false; FileItem.date = GetFileSha1Encr(tempobj) FileItem.name = tempobj.name FileItem.innerHTML = '
' + tempobj.name + '
' + tempobj.size + '
' FileItem.onclick = function (event) { if (event.target.outerHTML.indexOf('checkbox') !== -1 || event.target.outerHTML.indexOf('M12.6247 5.29974L7.26637') !== -1) { SetSelectItem(FileItem, !FileItem.checkbox) } } document.querySelector('.FileListOutShow').append(FileItem) } } } } SetTotalnum() } function ShowToast(text, time = 3000) { let toast = document.createElement('div') toast.innerHTML = '
' + text + '
' document.querySelector('body').append(toast) setInterval(function () { toast.remove() }, time); } function RefreshToken() { if (accesstoken !== '') { return; } GM_xmlhttpRequest({ url: "https://websv.aliyundrive.com/token/refresh", method: "POST", data: '{"refresh_token": "' + JSON.parse(localStorage.getItem('token')).refresh_token + '"}', headers: { "Content-type": "application/json;charset=utf-8", }, onload: function (xhr) { var json = JSON.parse(xhr.responseText); accesstoken = json.access_token if (accesstoken !== undefined && accesstoken != '') { } else { ShowToast('解析Acess_Token失败!') } } }); } function CreateShareClip(tempobj) { ShowFileObj.name = tempobj.name; ShowFileObj.content_hash = tempobj.content_hash; ShowFileObj.size = tempobj.size; ShowFileObj.content_type = tempobj.content_type; ShowFileObj.file_id = tempobj.file_id; let ret = confirm('文件名:' + ShowFileObj.name + '\n校验值:' + ShowFileObj.content_hash + '\n文件大小:' + ShowFileObj.size + '\n' + '点击确定自动添加分享码到剪辑版\n来自油猴中文网bbs.tampermonkey.net.cn\n公众号:叛逆青年旅舍'); if (ret == true) { try { GM_setClipboard(GetFileSha1Encr(tempobj)) alert('文件已设置到剪辑版!') } catch (err) { alert('文件名字可能存在特殊关键字,请改名重试') } } } function StartListner() { setInterval(function (event) { if (CreateSaveBtn === false) { let header = document.querySelector('[class|=header]') if (header !== null && header.childElementCount === 2 && document.querySelector('[class|=header]').children[1].innerText.indexOf('提取分享码') === -1) { let GenerateShareBtn = document.createElement('div') GenerateShareBtn.innerHTML = '
提取分享码
' GenerateShareBtn.onclick = function () { var text = prompt("请输入分享码", ""); if (text == null) { return; } try { text = GetDecrText(text) } catch (err) { alert('解析提取码失败!') return; } if (text.content_hash == undefined) { alert('提取码不正确!') } else { if (accesstoken == '') { alert('访问Token异常!') return; } let useruid = JSON.parse(localStorage.getItem('token')).default_drive_id let uploadtext = '{"drive_id":"' + useruid + '","part_info_list":[{"part_number":1}],"parent_file_id":"' + parent_file_id + '","name":"' + text.name + '","type":"file","check_name_mode":"auto_rename","size":' + text.size + ',"content_hash":"' + text.content_hash + '","content_hash_name":"sha1"}' GM_xmlhttpRequest({ url: "https://api.aliyundrive.com/v2/file/create", method: "POST", data: uploadtext, headers: { "Content-type": "application/json;charset=utf-8", "Authorization": accesstoken }, onload: function (xhr) { var json = JSON.parse(xhr.responseText); if (json.rapid_upload == true) { alert("提取文件成功!") unsafeWindow.location.reload(); } else { alert("提取文件失败!") } } }); } } let GenerateFileOut = document.createElement('div') GenerateFileOut.innerHTML = '
多文件分享
' GenerateFileOut.onclick = function () { MulFileDialogCreate() } let GenerateFileIn = document.createElement('div') GenerateFileIn.innerHTML = '
多文件提取
' GenerateFileIn.onclick = function () { MulReadialogCreate() } document.querySelector('[class|=header]').children[1].append(GenerateShareBtn) document.querySelector('[class|=header]').children[1].append(GenerateFileOut) document.querySelector('[class|=header]').children[1].append(GenerateFileIn) } } //info-wrapper-- let formlist = document.querySelectorAll('.ant-modal-body') for (let forminedx = 0; forminedx < formlist.length; forminedx++) { let form = formlist[forminedx] if (form.offsetWidth == 0) { continue; } if (form != null && form.innerHTML.indexOf('详细信息') != -1) { if (form.innerHTML.indexOf('创建时间') != -1) { let img = form.children[0].children[0].children[0].children[0].alt if (img !== null && img === "folder") { if (document.querySelector('.ant-modal-body').innerText.indexOf('生成分享') !== -1) { document.querySelector('.ant-modal-body [data-type="primary"]').remove() document.querySelector('.ant-modal-body [data-type="primary"]').remove() } return; } /*if(img!==null&&img.alt==="text") { let innertext=document.querySelector('.ant-modal-body').innerText if(innertext.indexOf('生成分享')!==-1&&innertext.indexOf('远程提取')===-1) { document.querySelector('.dingwei').style.display='flex' document.querySelector('.dingwei').innerHTML='
生成分享
远程提取
' return; } }*/ if (form.innerHTML.indexOf('生成分享') == -1) { let GenerateFileDate = document.createElement('div') GenerateFileDate.style.display = 'flex' GenerateFileDate.innerHTML = '
生成分享
远程提取
' /*if(img.alt==="text") { GenerateFileDate.style.display='flex' GenerateFileDate.innerHTML='
生成分享
远程提取
' }else{ GenerateFileDate.innerHTML='
生成分享
' }*/ GenerateFileDate.onclick = function (event) { debugger; if (event.target.innerText == '生成分享') { let name = document.querySelector('.ant-modal-content [class|=title-wrapper]').innerText for (let index = 0; index < FileList.length; index++) { let templist = FileList[index] for (let innerindex = 0; innerindex < templist.list.length; innerindex++) { let tempobj = templist.list[innerindex] if (tempobj.type !== 'folder') { if (tempobj.name === name) { CreateShareClip(tempobj) return; } } } } return; } if (event.target.innerText == '远程提取') { let name = document.querySelector('.ant-modal-content [class|=title-wrapper]').innerText for (let index = 0; index < FileList.length; index++) { let templist = FileList[index] for (let innerindex = 0; innerindex < templist.list.length; innerindex++) { let tempobj = templist.list[innerindex] if (tempobj.type !== 'folder') { if (tempobj.name === name) { if (tempobj.file_extension === "txt") { console.log('查看文件', tempobj) if (tempobj.size > uploadsize) { alert('该文本文档的大小过大!无法使用该功能') } else { let temlist = document.querySelectorAll('[role="document"] [data-icon-type="PDSClose"]') for (let index = 0; index < temlist.length; index++) { temlist[index].click() } DownloadTextRead(tempobj) } } else { alert('该文件不是文本文件!') } return; } } } } return; } } let WrapperList = document.querySelectorAll('[class|=group-wrapper]') WrapperList[WrapperList.length - 1].append(GenerateFileDate) } } } } }, 1500); } if (unsafeWindow.location.href.indexOf('aliyundrive.com/drive') != -1) { function addXMLRequestCallback(callback) { var oldSend, i; if (XMLHttpRequest.prototype.callbacks) { XMLHttpRequest.prototype.callbacks.push(callback); } else { XMLHttpRequest.prototype.callbacks = [callback]; oldSend = XMLHttpRequest.prototype.send; XMLHttpRequest.prototype.send = function () { for (i = 0; i < XMLHttpRequest.prototype.callbacks.length; i++) { XMLHttpRequest.prototype.callbacks[i](this); } if (arguments.length !== 0 && arguments[0] && arguments[0].indexOf != undefined) { if (arguments[0].indexOf('marker') == -1) { this.CreatFirstList = true } else if (FileList.length != 0 && arguments[0].indexOf(FileList[FileList.length - 1].name) !== -1) { this.NextList = true } if (arguments[0].indexOf('parent_file_id') !== -1) { parent_file_id = JSON.parse(arguments[0]).parent_file_id } } //FileList=[{name:item.next_marker,list:item.items}] oldSend.apply(this, arguments); } } } addXMLRequestCallback(function (xhr) { //CreateBanList xhr.addEventListener("load", function () { if (xhr.readyState == 4 && xhr.status == 200) { if (xhr.responseURL === "https://websv.aliyundrive.com/token/refresh") { accesstoken = JSON.parse(xhr.response).access_token } if (xhr.responseURL === "https://api.aliyundrive.com/v2/file/list") { let quit = false; document.querySelectorAll('.ant-modal-header').forEach((item) => { if (item.innerText.indexOf('移动') !== -1) { if (item.offsetWidth !== 0) { quit = true } } }) if (quit) { return; } let item = JSON.parse(xhr.response) if (listurl === unsafeWindow.location.href) { if (xhr.CreatFirstList == true) { FileList = [{ name: item.next_marker, list: item.items }] filenum = item.items.length } else { let Search = false; FileList.forEach((item) => { if (item.name === item.next_marker) { item.list = item.items Search = true } }) if (Search === false && xhr.NextList == true) { FileList.push({ name: item.next_marker, list: item.items }) filenum += item.items.length } } } else { listurl = unsafeWindow.location.href FileList = [{ name: item.next_marker, list: item.items }] filenum = item.items.length } if (CreateListner === false) { StartListner() CreateListner = true } RefreshToken() ShowToast('已获取文件列表 数量为' + filenum + '(数字如不准请联系作者) By:天才少年李恒道') } } }); }); } if (unsafeWindow.location.href.indexOf('passport.aliyundrive.com/mini_login.htm') != -1) { let container = document.querySelector('#container'); container.addEventListener("DOMNodeInserted", function (event) { if (username == '') { return } if (password == '') { return } let header = document.querySelector('.login-blocks') if (header === null) { return; } document.querySelector('.login-blocks').children[1].click() document.querySelector('#fm-login-id').value = username document.querySelector('#fm-login-password').value = password document.querySelector('.password-login').click() }); return; }