[js] 移动到回收站

本贴最后更新于 281 天前,其中的信息可能已经东海扬尘

功能:

  1. 移动选中的文档到回收站,支持批量选择后移动。
  2. 清空回收站或批量选择后删除。
  3. 还原回收站文档(仅支持回收站顶级文档或文件夹的还原,暂不支持子文档直接还原)

注意,必须事先建好笔记本作为回收站。

回收站的根文档的自定义属性中记录了移动前的文档来源,可在必要时查看。

使用方法:

  1. 新建笔记本,作为回收站使用
  2. 在刚才新建的回收站笔记本的右键=> 设置中,复制笔记本 id
  3. 把下面的代码部分的 js 代码粘贴到思源 js 代码片段中
  4. 配置 const toBoxId = '20250316032243-coo9k2t'; 参数为你的回收站笔记本 id

效果:

movetotrash.png

image.png

image.png

代码

https://gitee.com/wish163/mysoft/blob/main/%E6%80%9D%E6%BA%90/%E7%A7%BB%E5%88%B0%E5%9B%9E%E6%94%B6%E7%AB%99.js

其他:

此功能为简单起见,仅支持最常用和基本的功能,如果够用暂且不再额外增加功能。

如果你感兴趣可进一步完善。

  • 思源笔记

    思源笔记是一款隐私优先的个人知识管理系统,支持完全离线使用,同时也支持端到端加密同步。

    融合块、大纲和双向链接,重构你的思维。

    28446 引用 • 119768 回帖
  • 代码片段

    代码片段分为 CSS 与 JS 两种代码,添加在 [设置 - 外观 - 代码片段] 中,这些代码会在思源笔记加载时自动执行,用于改善笔记的样式或功能。

    用户在该标签下分享代码片段时需在帖子标题前添加 [css] [js] 用于区分代码片段类型。

    285 引用 • 1985 回帖
2 操作
wilsons 在 2025-03-16 22:31:08 更新了该帖
wilsons 在 2025-03-16 09:21:02 更新了该帖

相关帖子

欢迎来到这里!

我们正在构建一个小众社区,大家在这里相互信任,以平等 • 自由 • 奔放的价值观进行分享交流。最终,希望大家能够找到与自己志同道合的伙伴,共同成长。

注册 关于
请输入回帖内容 ...
  • image.png

    我也有一个回收站,只不过是我自己手动创建的 😂

    1 回复
  • wilsons

    👍 你 AI 怎么放到左侧的?打开是跳转到浏览器吗?

    1 回复
  • 那个是 web 集成插件,放在左侧是文档树功能不常用,实现左侧 ai,中间笔记,右侧大纲的效果

    1 回复
  • wenbocn

    👍👍 感谢 wilsons 大佬

    建议:

    1、可以不弹出确认窗口

    2、移动到回收站的同时关闭标签页中的这个文件

    1 回复
  • wilsons

    👍 我平时用浏览器较多,通常把常用的两个 ai 固定到标签。

    以前用 deepseek 居多,自从卡了后,换用 Qwen2.5-max 发现这个更强大耶。

    1 回复
  • wilsons
    1. 加了这个参数

      // 删除时,是否弹窗确认对话框,true弹出,fasle不弹出
      const isShowConfirm = true;
      
    2. 这个如果是批量操作需要遍历,尤其是删除的是文件夹,甚至多级文件夹时,有点麻烦,暂时不考虑吧。而且,我看了下 Windows 的回收站,删除文件也不会把打开的文件关闭。

    1 操作
    wilsons 在 2025-03-16 11:04:55 更新了该回帖
  • web 集成插件本质也是游览器,添加到笔记中比较方便一点

    image.png

  • wilsons 2

    @CongSec @wenbocn

    0.0.3 支持清空回收站和还原了。

    只有新删除的文件才能还原,旧删除的不行。

  • 会考虑往这里也添加一下入口吗?因为自己经常会直接在这个地方删文档 :) 。纯属个人习惯问题,在文档数直接删也行,这样就可以用移动到回收站功能了。

    PixPin20250317172524.png

    1 回复
  • wilsons 1

    已增加,请更新至最新版 0.0.4 版。

  • 这段代码中

    // 删除文档或清空回收站时,是否弹窗确认对话框,true 弹出,fasle 不弹出
    const isShowConfirm = true;

    当为 fasle 时清空回收站的按钮不见了

    1 回复
  • wilsons

    抱歉,无法复现你的问题,我这边 v3.1.10 Mac 和 v3.1.27 Windows 都正常

    image.png

    建议:

    1. 确保代码是最新版 0.0.4
    2. 新空间测试以排除干扰项
    3. 如果还有问题,请提供思源版本及重现步骤
    1 回复
  • 确定代码是 0.04,刚更新完思源最新 3.1.27,在新空间测试还是不行,以下是控制台报错页面:

    image.png

    不止清空回收站按钮不见了,移动回收站等按钮也没有 ,只有为 true 时,才能正常使用
    CongSec
    写错了呀,是 false,不是 fasle,建议直接从注释中复制
    wilsons
    @wilsons 你的注释写错了
    CongSec
    @CongSec ok 了,以后不用 ture,false,直接用 1 和 0 或 yes,no
    wilsons
  • wilsons 3

    @ACai @Afterglow @HugZephyr @8V9q7V @tijyiii @CongSec @Floria233 @wenbocn

    更新至 0.0.5

    0.0.5 修复咋非回收站笔记右键菜单上显示清空回收站和移动到回收站的 bug

  • 大佬,使用这个代码片段时遇到了一个 bug:

    任选一个文档 移动到回收站 后,其他所有不在回收站的文档都会变得无法编辑(点击编辑区不出现光标),需要等一段时间或重启思源才能恢复正常。

    PixPin20251011173112.gif

    除了这个 bug,在想或许可以拓展如下功能:

    1. 当文档移动至回收站后,回收站内的文档默认变成只读形式,尝试编辑时提示应先还原
    2. 文档还原后,则自动解锁变成可编辑
    1 回复
  • wilsons

    抱歉,我这边无法重现你说的问题。

    建议新空间测试以排除其他插件、代码或主题等造成的影响。

    如果仍有问题,建议写重现步骤,是否能稳定重现等。

    关于禁止修改,感觉也没必要禁止吧,有什么好处或场景需要吗?

  • 建议新空间测试以排除其他插件、代码或主题等造成的影响。

    如果仍有问题,建议写重现步骤,是否能稳定重现等。

    前面 gif 给的过程其实就是在新空间(v3.3.4,无主题、插件和其他代码片段)中复现的,可稳定复现。复现过程很简单的:

    1. 选一个文档“移动到回收站”
    2. 紧接着任意点开一个文档,点击编辑区(文档标题或正文区域),无法出现光标且无法输入内容
    3. 等待大概半分钟或重启思源,文档编辑区恢复正常,有光标且可输入内容

    关于禁止修改,感觉也没必要禁止吧,有什么好处或场景需要吗?

    想法是类似于 Windows 中回收站的处理思路,需要先还原到原路径后才能编辑,否则只能查看

    2 回复
  • wilsons 1 1 评论

    重现了,这个是思源本身的 bug,由 alert 或 confirm 函数引起的问题,已提 issue Issue #16071 · siyuan-note/siyuan

    仅 Windows pc 版上才有这个问题,Mac 和浏览器均未发现。

    临时解决方案:

    1 参数 isShowConfirm 改为 false 临时禁用 confirm 函数,设为 false 后 删除时将不会弹出确认框。

    2 升级最新版 0.0.6 已用自定义弹窗代替了 思源自带函数 confirm(✅ 推荐)

    3 什么都不做,等待官方 bug 修复

    好吧,原来是已知 bug Issue #12349 · siyuan-note/siyuan
    wilsons
  • wilsons 1 评论

    0.0.7 已支持回收站文档简单锁定

    参数

    // 是否锁定回收站文档,true 锁定 false 不锁定
    // 未作严格限制,仅简单锁定文档
    const lockBinFiles = false;

    OK,感谢感谢
    QMike
请输入回帖内容 ...
wilsons
正式入驻知乎了,以后新贴主要在这里。 欢迎大家订阅关注! 你的关注对我是莫大鼓励,也能让我持续产出优质内容,我们一起成长 🙏 点这里立即关注:https://www.zhihu.com/people/wilsonses

推荐标签 标签

  • 单点登录

    单点登录(Single Sign On)是目前比较流行的企业业务整合的解决方案之一。SSO 的定义是在多个应用系统中,用户只需要登录一次就可以访问所有相互信任的应用系统。

    9 引用 • 25 回帖 • 8 关注
  • 快应用

    快应用 是基于手机硬件平台的新型应用形态;标准是由主流手机厂商组成的快应用联盟联合制定;快应用标准的诞生将在研发接口、能力接入、开发者服务等层面建设标准平台;以平台化的生态模式对个人开发者和企业开发者全品类开放。

    15 引用 • 127 回帖
  • NetBeans

    NetBeans 是一个始于 1997 年的 Xelfi 计划,本身是捷克布拉格查理大学的数学及物理学院的学生计划。此计划延伸而成立了一家公司进而发展这个商用版本的 NetBeans IDE,直到 1999 年 Sun 买下此公司。Sun 于次年(2000 年)六月将 NetBeans IDE 开源,直到现在 NetBeans 的社群依然持续增长。

    78 引用 • 102 回帖 • 724 关注
  • BAE

    百度应用引擎(Baidu App Engine)提供了 PHP、Java、Python 的执行环境,以及云存储、消息服务、云数据库等全面的云服务。它可以让开发者实现自动地部署和管理应用,并且提供动态扩容和负载均衡的运行环境,让开发者不用考虑高成本的运维工作,只需专注于业务逻辑,大大降低了开发者学习和迁移的成本。

    19 引用 • 75 回帖 • 702 关注
  • 星云链

    星云链是一个开源公链,业内简单的将其称为区块链上的谷歌。其实它不仅仅是区块链搜索引擎,一个公链的所有功能,它基本都有,比如你可以用它来开发部署你的去中心化的 APP,你可以在上面编写智能合约,发送交易等等。3 分钟快速接入星云链 (NAS) 测试网

    3 引用 • 16 回帖
  • 30Seconds

    📙 前端知识精选集,包含 HTML、CSS、JavaScript、React、Node、安全等方面,每天仅需 30 秒。

    • 精选常见面试题,帮助您准备下一次面试
    • 精选常见交互,帮助您拥有简洁酷炫的站点
    • 精选有用的 React 片段,帮助你获取最佳实践
    • 精选常见代码集,帮助您提高打码效率
    • 整理前端界的最新资讯,邀您一同探索新世界
    488 引用 • 384 回帖
  • OpenStack

    OpenStack 是一个云操作系统,通过数据中心可控制大型的计算、存储、网络等资源池。所有的管理通过前端界面管理员就可以完成,同样也可以通过 Web 接口让最终用户部署资源。

    10 引用 • 8 关注
  • frp

    frp 是一个可用于内网穿透的高性能的反向代理应用,支持 TCP、UDP、 HTTP 和 HTTPS 协议。

    17 引用 • 7 回帖 • 1 关注
  • Python

    Python 是一种面向对象、直译式电脑编程语言,具有近二十年的发展历史,成熟且稳定。它包含了一组完善而且容易理解的标准库,能够轻松完成很多常见的任务。它的语法简捷和清晰,尽量使用无异义的英语单词,与其它大多数程序设计语言使用大括号不一样,它使用缩进来定义语句块。

    561 引用 • 677 回帖 • 1 关注
  • jsDelivr

    jsDelivr 是一个开源的 CDN 服务,可为 npm 包、GitHub 仓库提供免费、快速并且可靠的全球 CDN 加速服务。

    5 引用 • 31 回帖 • 120 关注
  • 深度学习

    深度学习(Deep Learning)是机器学习的分支,是一种试图使用包含复杂结构或由多重非线性变换构成的多个处理层对数据进行高层抽象的算法。

    45 引用 • 44 回帖 • 2 关注
  • V2Ray
    1 引用 • 15 回帖 • 4 关注
  • Sublime

    Sublime Text 是一款可以用来写代码、写文章的文本编辑器。支持代码高亮、自动完成,还支持通过插件进行扩展。

    10 引用 • 5 回帖 • 1 关注
  • TensorFlow

    TensorFlow 是一个采用数据流图(data flow graphs),用于数值计算的开源软件库。节点(Nodes)在图中表示数学操作,图中的线(edges)则表示在节点间相互联系的多维数据数组,即张量(tensor)。

    20 引用 • 19 回帖
  • SEO

    发布对别人有帮助的原创内容是最好的 SEO 方式。

    36 引用 • 200 回帖 • 54 关注
  • 职场

    找到自己的位置,萌新烦恼少。

    127 引用 • 1708 回帖 • 1 关注
  • Wide

    Wide 是一款基于 Web 的 Go 语言 IDE。通过浏览器就可以进行 Go 开发,并有代码自动完成、查看表达式、编译反馈、Lint、实时结果输出等功能。

    欢迎访问我们运维的实例: https://wide.b3log.org

    30 引用 • 218 回帖 • 663 关注
  • Eclipse

    Eclipse 是一个开放源代码的、基于 Java 的可扩展开发平台。就其本身而言,它只是一个框架和一组服务,用于通过插件组件构建开发环境。

    76 引用 • 258 回帖 • 641 关注
  • 工具

    子曰:“工欲善其事,必先利其器。”

    308 引用 • 773 回帖
  • 浅吟主题

    Jeffrey Chen 制作的思源笔记主题,项目仓库:https://github.com/TCOTC/Whisper

    2 引用 • 34 回帖 • 1 关注
  • iOS

    iOS 是由苹果公司开发的移动操作系统,最早于 2007 年 1 月 9 日的 Macworld 大会上公布这个系统,最初是设计给 iPhone 使用的,后来陆续套用到 iPod touch、iPad 以及 Apple TV 等产品上。iOS 与苹果的 Mac OS X 操作系统一样,属于类 Unix 的商业操作系统。

    89 引用 • 150 回帖 • 1 关注
  • abitmean

    有点意思就行了

    44 关注
  • ZooKeeper

    ZooKeeper 是一个分布式的,开放源码的分布式应用程序协调服务,是 Google 的 Chubby 一个开源的实现,是 Hadoop 和 HBase 的重要组件。它是一个为分布式应用提供一致性服务的软件,提供的功能包括:配置维护、域名服务、分布式同步、组服务等。

    61 引用 • 29 回帖 • 14 关注
  • Windows

    Microsoft Windows 是美国微软公司研发的一套操作系统,它问世于 1985 年,起初仅仅是 Microsoft-DOS 模拟环境,后续的系统版本由于微软不断的更新升级,不但易用,也慢慢的成为家家户户人们最喜爱的操作系统。

    232 引用 • 484 回帖 • 1 关注
  • Scala

    Scala 是一门多范式的编程语言,集成面向对象编程和函数式编程的各种特性。

    13 引用 • 11 回帖 • 180 关注
  • ZeroNet

    ZeroNet 是一个基于比特币加密技术和 BT 网络技术的去中心化的、开放开源的网络和交流系统。

    1 引用 • 21 回帖 • 667 关注
  • Kubernetes

    Kubernetes 是 Google 开源的一个容器编排引擎,它支持自动化部署、大规模可伸缩、应用容器化管理。

    119 引用 • 54 回帖