// ==UserScript== // @name 阿里云盘多账号localStorage管理器 // @namespace http://tampermonkey-multiple-accounts // @version 1.0.3 // @description 用于管理多个账号的localStorage信息 // @match https://www.aliyundrive.com/* // @match https://www.alipan.com/* // @grant GM_setValue // @grant GM_getValue // @downloadURL https://update.greasyfork.icu/scripts/466488/%E9%98%BF%E9%87%8C%E4%BA%91%E7%9B%98%E5%A4%9A%E8%B4%A6%E5%8F%B7localStorage%E7%AE%A1%E7%90%86%E5%99%A8.user.js // @updateURL https://update.greasyfork.icu/scripts/466488/%E9%98%BF%E9%87%8C%E4%BA%91%E7%9B%98%E5%A4%9A%E8%B4%A6%E5%8F%B7localStorage%E7%AE%A1%E7%90%86%E5%99%A8.meta.js // ==/UserScript== (function () { 'use strict'; // 定义变量 var accounts = GM_getValue('accounts', {}); var currentAccount = null; var currentLocalStorage = null; var currentHost = window.location.host; var currentName = JSON.parse(localStorage.token).nick_name || '' // 创建设置按钮 var settingsButton = document.createElement('div'); settingsButton.innerHTML = `
`; document.body.appendChild(settingsButton); // 显示管理面板 function showManagementPanel() { // 移除之前的管理页面 var previousPanel = document.getElementById('multiple-accounts-panel'); if (previousPanel) { previousPanel.parentNode.removeChild(previousPanel); } // 创建弹出元素 var panel = document.createElement('div'); panel.id = 'multiple-accounts-panel'; panel.style.position = 'fixed'; panel.style.top = '0'; panel.style.left = '0'; panel.style.width = '100%'; panel.style.height = '100%'; panel.style.backgroundColor = 'rgba(0, 0, 0, 0.5)'; panel.style.zIndex = '9999'; panel.innerHTML = `

多账号localStorage管理器

账号名称
操作
${Object.keys(accounts[currentHost] || {}).map(function (account) { return `
${account}
`; }).join('')}

`; document.body.appendChild(panel); // 绑定事件 panel.addEventListener('click', function (e) { var accountName = e.target.getAttribute('data-account'); if (e.target.classList.contains('login-button')) { localStorage.clear(); var data = accounts[currentHost][accountName]; for (var key in data) { localStorage.setItem(key, data[key]); } location.reload(); } else if (e.target.classList.contains('update-button')) { accounts[currentHost][accountName] = getLocalStorageData(); GM_setValue('accounts', accounts); showManagementPanel(); } else if (e.target.classList.contains('delete-button')) { delete accounts[currentHost][accountName]; GM_setValue('accounts', accounts); showManagementPanel(); } else if(e.target == panel){ panel.parentNode.removeChild(panel); } }); // 保存当前账号 document.getElementById('save-current-button').onclick = function () { var accountName = document.getElementById('account-name-input').value.trim(); if (accountName === '') { alert('请输入账号名称'); return; } if (!accounts[currentHost]) { accounts[currentHost] = {}; } accounts[currentHost][accountName] = getLocalStorageData(); GM_setValue('accounts', accounts); showManagementPanel(); }; } // 获取当前localStorage数据 function getLocalStorageData() { var data = {}; for (var i = 0; i < localStorage.length; i++) { var key = localStorage.key(i); data[key] = localStorage.getItem(key); } return data; } // 设置按钮点击事件 settingsButton.onclick = function () { showManagementPanel(); }; })();