Skip to content

Conversation

@WekyJay
Copy link

@WekyJay WekyJay commented Jan 16, 2026

本次更新主要增强了 Markdown 编辑器的图片粘贴体验,核心实现了 “智能去重”与“自动转存” 功能。

主要改进包括:

  1. 体验升级:现在粘贴 Markdown 图片链接时,编辑器会自动拦截并显示“转存中”的状态。系统会计算图片 MD5 指纹,若本地缓存中存在记录则直接“秒传”复用,否则自动上传替换。
  2. 兼容性增强:针对防盗链或跨域(CORS)的外部图片,增加了 wsrv.nl 代理降级方案,大幅提升了转存成功率。
  3. 代码重构:核心逻辑已封装为 useImageUploader Hook,编辑器粘贴事件也进行了规范化重构.
  4. 依赖加入:按照规范使用pnpm添加spark/md5依赖,用于将Blob文件转化文MD5的形式,可以通过该HASH值进行校验。
Area.mp4

⚠️需要注意的潜在风险: 由于跨域降级依赖了公共代理服务,敏感图片建议后续改用后端自建代理。此外,若用户一次性粘贴大量高清图,可能会引起短暂的性能波动,未来可考虑增加并发限制,并改用indexedDB进行存储。

WekyJay added 2 commits January 17, 2026 01:26
搞定了一个新功能:现在在编辑器里粘贴带链接的图片,会自动拦截处理了。
自动去重:系统会先算图片 Hash,如果以前传过,直接用旧链接,省流又快,没传过会自动下载并上传到我们的图床。
搞定了跨域:遇到那些不让下载的外部图片,会自动切到代理模式下载,转存成功率很高。
代码清理:逻辑都抽离到了 Hook 里,之前的测试代码和按钮都删干净了,代码现在很清爽。
最后:为了解决跨域用了公共代理,如果是特别敏感的数据要注意一下。另外目前没有做严格的并发限制,如果一次性粘贴几百张大图可能会有点卡,后续可以优化。
搞定了一个新功能:现在在编辑器里粘贴带链接的图片,会自动拦截处理了。
自动去重:系统会先算图片 Hash,如果以前传过,直接用旧链接,省流又快,没传过会自动下载并上传到我们的图床。
搞定了跨域:遇到那些不让下载的外部图片,会自动切到代理模式下载,转存成功率很高。
代码清理:逻辑都抽离到了 Hook 里,之前的测试代码和按钮都删干净了,代码现在很清爽。
最后:为了解决跨域用了公共代理,如果是特别敏感的数据要注意一下。另外目前没有做严格的并发限制,如果一次性粘贴几百张大图可能会有点卡,后续可以优化。
@WekyJay WekyJay changed the title Feat:auto save image feat:auto save image Jan 16, 2026
@github-actions
Copy link

github-actions bot commented Jan 18, 2026

🚀 Surge Preview has been successfully deployed!

Preview URL: https://doocs-md-preview-pr-1249.surge.sh

Built with commit a1cf951

@WekyJay
Copy link
Author

WekyJay commented Jan 18, 2026

Updated the branch with the latest changes from upstream. Ready for review when you have a moment!

@WekyJay WekyJay changed the title feat:auto save image feat(editor): auto save image Jan 18, 2026
@WekyJay
Copy link
Author

WekyJay commented Jan 20, 2026

其它模块的package忘记上传了,所以导致build失败,麻烦再测试一下。

@yanglbme
Copy link
Member

所有 package.json 中的依赖的版本号都被固定了,请恢复一下 @WekyJay

@WekyJay
Copy link
Author

WekyJay commented Jan 21, 2026

所有 package.json 中的依赖的版本号都被固定了,请恢复一下 @WekyJay

我的pnpm为v10+,在我对依赖版本号恢复后,安装时出现了一个问题:

问题描述:当前项目启用了严格的 trustPolicy: no-downgrade 策略。由于 [email protected]、semver 和 langium 等依赖的新版本缺失了旧版本所拥有的来源证明(Provenance),导致 pnpm 判定为“高风险信任降级”并拦截安装。

修改内容:在 pnpm-workspace.yaml 中配置了 trustPolicyExclude 白名单。

trustPolicyExclude:
  - '[email protected]'
  - '[email protected] || 5.7.2'
  - '[email protected]'

将上述受影响的特定版本加入白名单,绕过检查。

修改理由:这种方式可以在解决安装报错的同时,继续保持项目全局的严格安全策略,比直接关闭 trustPolicy 更为安全和规范。

@yanglbme
Copy link
Member

packages/core/package.json 这个文件还没有恢复

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants