Skip to content

feat: 图片渲染支持二维码 #3150

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Open
wants to merge 6 commits into
base: next
Choose a base branch
from
Open

feat: 图片渲染支持二维码 #3150

wants to merge 6 commits into from

Conversation

Alexzjt
Copy link
Contributor

@Alexzjt Alexzjt commented Apr 25, 2025

👀 PR includes

✨ Feature

  • New feature

🎨 Enhance

  • Code style optimization
  • Refactoring
  • Change the UI
  • Improve the performance
  • Type optimization

🐛 Bugfix

  • Solve the issue and close #0

🔧 Chore

  • Test case
  • Docs / demos update
  • CI / workflow
  • Release version
  • Other ()

📝 Description

🖼️ Screenshot

Before After
image

🔗 Related issue link

🔍 Self-Check before the merge

  • Add or update relevant docs.
  • Add or update relevant demos.
  • Add or update test case.
  • Add or update relevant TypeScript definitions.

@github-actions github-actions bot added the next 2.0-next 版本的问题 label Apr 25, 2025
Copy link
Contributor

你好 @Alexzjt,非常感谢你的贡献.
为了让代码更健壮, 请根据 贡献指南 补充相应单元测试 (文档改动或其他特殊场景除外), 如果有 API 改动, 请修改 相应的文档.
同时请检查 linttest 相关 CI 是否通过, 如果失败, 请点击 [Details] 按钮查看, 并根据日志修复.

Hello, @Alexzjt, Thanks for your contribution. In order to make the code more robust, please add the corresponding unit tests, and update the docs if there are API changes.
At the same time, please check whether the CI related to lint and test passes. If the CI fails, please click [Details] button to check and repair according to the log.

@github-actions github-actions bot added the pr(feature) new feature label Apr 25, 2025
Copy link

Walkthrough

This PR introduces a new feature that supports rendering images as QR codes. It includes updates to the renderer to handle asynchronous text preparation, allowing URLs or links to be converted into QR codes before rendering. The changes also involve adding test cases, updating documentation, and modifying the package dependencies to include the qrcode library.

Changes

Files Summary
packages/s2-core/__tests__/unit/renderer/renderer-factory-spec.ts Added test cases for image rendering with QR code support.
packages/s2-core/src/common/interface/renderer.ts Introduced prepareText method for asynchronous text processing.
packages/s2-core/src/renderer/BaseRenderer.ts Added prepareText method to handle text preparation in renderers.
packages/s2-core/src/renderer/ImageRenderer.ts, packages/s2-core/src/renderer/VideoRenderer.ts Updated to use asynchronous prepareText method.
pnpm-lock.yaml Added qrcode and related dependencies.
s2-site/.dumi/global.ts Included qrcode library in global scope.
s2-site/docs/api/general/s2-data-config.en.md, s2-site/docs/api/general/s2-data-config.zh.md Updated documentation to include prepareText option.
s2-site/docs/manual/advanced/cell-render/image.zh.md, s2-site/docs/manual/advanced/cell-render/video.zh.md Documented usage of prepareText for QR code conversion.
s2-site/examples/custom/custom-renderer/demo/qrcode.ts Added example demonstrating QR code rendering.
s2-site/package.json Updated to include qrcode dependency.

@codecov-commenter
Copy link

codecov-commenter commented Apr 25, 2025

Codecov Report

Attention: Patch coverage is 91.30435% with 2 lines in your changes missing coverage. Please review.

Project coverage is 79.89%. Comparing base (ecdc9c8) to head (769b5b6).
Report is 661 commits behind head on next.

Files with missing lines Patch % Lines
packages/s2-core/src/utils/cell/customRenderer.ts 86.66% 0 Missing and 2 partials ⚠️
Additional details and impacted files
@@            Coverage Diff             @@
##             next    #3150      +/-   ##
==========================================
+ Coverage   75.77%   79.89%   +4.12%     
==========================================
  Files         257      217      -40     
  Lines       11994    11907      -87     
  Branches     2464     2664     +200     
==========================================
+ Hits         9088     9513     +425     
+ Misses       1398      790     -608     
- Partials     1508     1604      +96     

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.
  • 📦 JS Bundle Analysis: Save yourself from yourself by tracking and limiting bundle sizes in JS merges.

Copy link
Contributor

github-actions bot commented Apr 25, 2025

Size Change: +407 B (+0.06%)

Total Size: 628 kB

Filename Size Change
./packages/s2-core/dist/s2-extends.min.js 158 kB +193 B (+0.12%)
./packages/s2-core/dist/s2.min.js 262 kB +214 B (+0.08%)
ℹ️ View Unchanged
Filename Size
./packages/s2-core/dist/s2.min.css 581 B
./packages/s2-react-components/dist/s2-react-components.min.css 2.55 kB
./packages/s2-react-components/dist/s2-react-components.min.js 124 kB
./packages/s2-react/dist/s2-react.min.css 1.74 kB
./packages/s2-react/dist/s2-react.min.js 38.3 kB
./packages/s2-vue/dist/s2-vue.min.css 2.05 kB
./packages/s2-vue/dist/s2-vue.min.js 38.3 kB

compressed-size-action

Copy link
Contributor

你好, @Alexzjt CI 执行失败, 请点击 [Details] 按钮查看, 并根据日志修复。

Hello, @Alexzjt CI run failed, please click the [Details] button for detailed log information and fix it.

@github-actions github-actions bot added the 🚨 test failed 单元测试挂了 label Apr 25, 2025
@github-actions github-actions bot removed the 🚨 test failed 单元测试挂了 label Apr 25, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
next 2.0-next 版本的问题 pr(feature) new feature
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants