util库

描述

此脚本不应直接安装,它是一个供其他脚本使用的外部库。如果您需要使用该库,请在脚本元属性加入:// @require https://update.cn-greasyfork.org/scripts/496125/1383400/util%E5%BA%93.js

  1. // gpt,使用GM_listValues和GM_getValue函数,获取所有保存的键值对为一个对象
  2. // 获取所有保存的键值对并组成一个对象
  3. function savedJson(prefix = 'savedResponse_') {
  4. let savedData = {};
  5. let keys = GM_listValues();
  6. keys.forEach(key => {
  7. let value = GM_getValue(key);
  8. savedData[key] = value;
  9. });
  10. // 将savedData对象下载为一个json文件
  11. downloadFunc(savedData, prefix)
  12. }
  13.  
  14. function downloadFunc(params, prefix) {
  15. // 创建一个 JSON 字符串
  16. let jsonData = JSON.stringify(params);
  17. // 创建一个新的 Blob 对象
  18. let blob = new Blob([jsonData], {
  19. type: 'application/json'
  20. });
  21. // 创建一个临时 URL,用于下载 JSON 文件
  22. let url = URL.createObjectURL(blob);
  23. // 创建一个隐藏的链接
  24. let a = document.createElement('a');
  25. a.style.display = 'none';
  26. a.href = url;
  27.  
  28. let currentDate = new Date(+new Date() + 8 * 3600 * 1000).toISOString().slice(0, 19).replace(/[-T:/]/g, ''); // 获取当前日期和时间
  29. a.download = prefix + currentDate + '.json'; // 文件名包含当前日期和时间 // gpt,'savedResponse这里加上当前的日期和时间.json'
  30.  
  31.  
  32. document.body.appendChild(a);
  33.  
  34. a.onclick = (e) => {
  35. e.stopPropagation();
  36. }
  37. // 触发点击事件来下载文件
  38. a.click();
  39. // 释放 URL 对象
  40. URL.revokeObjectURL(url);
  41. }
  42.  
  43.  
  44. // clearSavedData 函数用于执行清空操作
  45. function clearSavedData() {
  46. // 获取所有保存的键值对
  47. let keys = GM_listValues();
  48.  
  49. // 遍历所有键并删除对应的值
  50. keys.forEach(key => {
  51. GM_deleteValue(key);
  52. });
  53.  
  54. // 提示用户清空完成(可选)
  55. // alert('保存的响应数据已清空');
  56. GM_notification({
  57. title: '数据已清空',
  58. text: '保存的数据已清空',
  59. timeout: 3000 // 通知显示时间,单位为毫秒
  60. });
  61. }