Conversation
|
Warning Rate limit exceeded@xuanlid has exceeded the limit for the number of commits that can be reviewed per hour. Please wait 21 minutes and 43 seconds before requesting another review. ⌛ How to resolve this issue?After the wait time has elapsed, a review can be triggered using the We recommend that you space out your commits to avoid hitting the rate limit. 🚦 How do rate limits work?CodeRabbit enforces hourly rate limits for each developer per organization. Our paid plans have higher rate limits than the trial, open-source and free plans. In all cases, we re-allow further reviews after a brief timeout. Please see our FAQ for further information. 📒 Files selected for processing (1)
WalkthroughRenames the portal package to Changes
Sequence Diagram(s)sequenceDiagram
autonumber
participant User
participant Browser
participant IntersectionObserver as IO
participant AppState as State
participant Carousel as TinyCarousel
Note over User,Browser: Desktop scroll / click flow
User->>Browser: scrolls page
Browser->>IO: observe .scroll-trigger intersections
IO->>State: set activeSceneId
State->>Browser: update image/text pane (animate)
Note over User,Carousel: Mobile carousel interaction
User->>Carousel: select slide / swipe
Carousel->>State: emit active id
State->>Browser: update sticky header tabs (active)
Estimated Code Review Effort🎯 4 (Complex) | ⏱️ ~50 minutes Poem
Pre-merge checks and finishing touches❌ Failed checks (1 inconclusive)
✅ Passed checks (2 passed)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
There was a problem hiding this comment.
Actionable comments posted: 3
Caution
Some comments are outside the diff and can’t be posted inline due to platform limitations.
⚠️ Outside diff range comments (3)
packages/lowcode-portal/src/help/course/Main.vue (1)
71-78: TYPE_MAP change breaks data filtering—data files still use 'engine' but mapping now returns 'guide'.The change creates a mismatch: all data objects in
course.jsonandindex.jsonstill havetype: "engine", butTYPE_MAP.enginenow maps to'guide'. This breaks the filter at line 203 (allData.filter(({ type }) => type === state.courseType)) sincestate.courseTypewill be'guide'and won't match any data items withtype: "engine". Additionally,home/Main.vuehardcodes/help-center/course/engineon line 109. Either update all data files to usetype: "guide"or revertTYPE_MAP.engineto'engine'.packages/lowcode-portal/src/home/Main.vue (1)
104-111: Redundant nested selector.The selector
.home-multi-scenario-maincontains another.home-multi-scenario-mainchild selector on line 106, which creates an incorrect rule targeting.home-multi-scenario-main .home-multi-scenario-main. This appears to be a copy-paste error.🔎 Proposed fix
:deep(.home-multi-scenario-main) { max-width: var(--max-width); - .home-multi-scenario-main { - .home-multi-scenario-banner-right { - margin-top: 280px; - } + .home-multi-scenario-banner-right { + margin-top: 280px; } }packages/lowcode-portal/src/home/HomeTop.vue (1)
57-73: Critical:copy()references non-existent.copy-successelement.The
copy()function queries for.copy-successelement (line 65), but this element doesn't exist in the template. This will causecopyElement.style.displayto throw a runtime error whencopy()is invoked.Additionally:
document.execCommand('copy')is deprecated. Consider using the modern Clipboard API.- Multiple rapid calls won't clear previous timeouts, causing UI inconsistency.
🔎 Proposed fix using Clipboard API with proper timeout handling
+ let copyTimeout = null + const copy = () => { - const textarea = document.createElement('textarea') - - textarea.value = 'npx @opentiny/tiny-engine-cli@latest create' - document.body.appendChild(textarea) - textarea.select() - document.execCommand('copy') - document.body.removeChild(textarea) - const copyElement = document.querySelector('.copy-success') - - setTimeout(() => { - copyElement.style.display = 'block' - }, 300) - setTimeout(() => { - copyElement.style.display = 'none' - }, 1500) + navigator.clipboard.writeText('npx @opentiny/tiny-engine-cli@latest create') + .then(() => { + // Add copy success feedback if needed + // Ensure .copy-success element exists in template first + }) + .catch((err) => { + console.error('Copy failed:', err) + }) }
🧹 Nitpick comments (6)
packages/lowcode-portal/public/docs/changelog-design.md (1)
1-73: Consider addressing formatting and language issues.The new changelog entries provide valuable information. However, there are a few minor improvements to consider:
Markdown structure: Heading levels jump from h2 (##) to h4 (####), which should increment by one level at a time for better accessibility and document structure.
Language refinement: Line 61 contains a grammatical construct that could be clearer. The phrase "已收起的页面且没被搜索到的" uses an awkward passive construction.
These are optional improvements and don't block the functionality of the changelog.
packages/lowcode-portal/src/home/HomeCoreScenarios.vue (1)
69-69: Unused state property:arrowMobileUrl.The
arrowMobileUrlis defined but never referenced in the template. According to the summary, mobile flow-arrow rendering was removed. Consider removing this dead code.🔎 Proposed fix
starUrl: `${import.meta.env.BASE_URL}img/home/hx_star.svg`, - arrowUrl: `${import.meta.env.BASE_URL}img/home/hx_arrow.svg`, - arrowMobileUrl: `${import.meta.env.BASE_URL}img/home/arrow-mobile.png` + arrowUrl: `${import.meta.env.BASE_URL}img/home/hx_arrow.svg`packages/lowcode-portal/src/home/HomeEcology.vue (2)
101-118:autoSwitchEnabledflag is set but never used.In
pauseAutoSwitch(),autoSwitchEnabledis set tofalse(line 116), butstartAutoSwitch()doesn't check or reset this flag. This makes the flag effectively dead code and could cause confusion about the intended behavior.Either remove the unused flag or implement the intended logic:
🔎 Option 1: Remove unused flag
const pauseAutoSwitch = (idx) => { state.currentIndex = idx state.showZoomEffect = true - state.autoSwitchEnabled = false stopAutoSwitch() }And remove from state initialization:
currentIndex: 0, - autoSwitchEnabled: true, switchInterval: null,🔎 Option 2: Use the flag properly
const startAutoSwitch = () => { + state.autoSwitchEnabled = true if (state.switchInterval) clearInterval(state.switchInterval) state.switchInterval = setInterval(nextItem, 4000) }
66-66:mobileImgUrlproperties are defined but unused.Each list item defines
mobileImgUrl, but the mobile template (line 43) usesimgUrlinstead. Either usemobileImgUrlin the mobile section or remove the unused properties.Also applies to: 74-74, 82-82
packages/lowcode-portal/src/home/HomeMultiScenario.vue (2)
126-129: DOM queries are not scoped to component instance.Using
document.querySelectorAll('.scroll-trigger')will select all matching elements in the entire document, not just within this component instance. If multiple instances exist or other components use the same class, this could cause unexpected behavior.Consider using template refs or scoping the query:
🔎 Proposed fix using scoped query
Add a ref to the scroll-container:
<div ref="scrollContainerRef" class="scroll-container">Then query within that ref:
+ const scrollContainerRef = ref(null) + const initObservers = () => { // ...observer setup... - const triggers = document.querySelectorAll('.scroll-trigger') + const triggers = scrollContainerRef.value?.querySelectorAll('.scroll-trigger') || [] triggers.forEach((trigger) => sceneObserver.observe(trigger)) } const handleClick = (id) => { state.activeSceneId = id - const triggers = document.querySelectorAll('.scroll-trigger') + const triggers = scrollContainerRef.value?.querySelectorAll('.scroll-trigger') || [] triggers.forEach((trigger) => { if (id === trigger.dataset.section) { trigger.scrollIntoView() } }) }Also applies to: 134-140
138-138: Consider adding smooth scroll behavior.
scrollIntoView()without options causes an instant jump which can be jarring. Adding smooth behavior improves UX:🔎 Proposed fix
- trigger.scrollIntoView() + trigger.scrollIntoView({ behavior: 'smooth' })
📜 Review details
Configuration used: Organization UI
Review profile: CHILL
Plan: Pro
⛔ Files ignored due to path filters (18)
packages/lowcode-portal/public/img/default-user-avatar.svgis excluded by!**/*.svgpackages/lowcode-portal/public/img/home/ad_bg1.svgis excluded by!**/*.svgpackages/lowcode-portal/public/img/home/ad_bg2.svgis excluded by!**/*.svgpackages/lowcode-portal/public/img/home/ad_bg3.svgis excluded by!**/*.svgpackages/lowcode-portal/public/img/home/ad_bg4.svgis excluded by!**/*.svgpackages/lowcode-portal/public/img/home/ad_bg5.svgis excluded by!**/*.svgpackages/lowcode-portal/public/img/home/case_bg.svgis excluded by!**/*.svgpackages/lowcode-portal/public/img/home/ec_1.svgis excluded by!**/*.svgpackages/lowcode-portal/public/img/home/ec_2.svgis excluded by!**/*.svgpackages/lowcode-portal/public/img/home/ec_3.svgis excluded by!**/*.svgpackages/lowcode-portal/public/img/home/ec_icon1.svgis excluded by!**/*.svgpackages/lowcode-portal/public/img/home/ec_icon2.svgis excluded by!**/*.svgpackages/lowcode-portal/public/img/home/ec_icon3.svgis excluded by!**/*.svgpackages/lowcode-portal/public/img/home/multi_bg.svgis excluded by!**/*.svgpackages/lowcode-portal/public/img/home/multim_bg.svgis excluded by!**/*.svgpackages/lowcode-portal/public/img/home/qrcode.pngis excluded by!**/*.pngpackages/lowcode-portal/public/img/home/top-banner.svgis excluded by!**/*.svgpackages/lowcode-portal/src/svgs/assets/copy.svgis excluded by!**/*.svg
📒 Files selected for processing (15)
packages/lowcode-portal/public/docs/changelog-design.mdpackages/lowcode-portal/public/img/home/banner_bg.webppackages/lowcode-portal/scripts/getDocsMdTime.jspackages/lowcode-portal/src/common/components/Header.vuepackages/lowcode-portal/src/help/course/Main.vuepackages/lowcode-portal/src/help/home/Main.vuepackages/lowcode-portal/src/help/home/data/index.jsonpackages/lowcode-portal/src/home/HomeAboutUs.vuepackages/lowcode-portal/src/home/HomeAdvantages.vuepackages/lowcode-portal/src/home/HomeCoreScenarios.vuepackages/lowcode-portal/src/home/HomeEcology.vuepackages/lowcode-portal/src/home/HomeMultiScenario.vuepackages/lowcode-portal/src/home/HomeTop.vuepackages/lowcode-portal/src/home/HomeUseUs.vuepackages/lowcode-portal/src/home/Main.vue
💤 Files with no reviewable changes (1)
- packages/lowcode-portal/src/help/home/data/index.json
🧰 Additional context used
🪛 LanguageTool
packages/lowcode-portal/public/docs/changelog-design.md
[uncategorized] ~61-~61: 能愿动词不能成为‘把’字句、‘被’字句的谓语动词。应该是:"会被……搜索"。
Context: ...和发布区块时接口报错 - 手动收起页面树的时候,如果清除搜索后,已收起的页面且没被搜索到的也会自动展开 - 物料区块tab添加区块,区块全选后,搜索区块然后取消全选,会连带取...
(wa3)
🪛 markdownlint-cli2 (0.18.1)
packages/lowcode-portal/public/docs/changelog-design.md
3-3: Emphasis used instead of a heading
(MD036, no-emphasis-as-heading)
5-5: Heading levels should only increment by one level at a time
Expected: h3; Actual: h4
(MD001, heading-increment)
32-32: Emphasis used instead of a heading
(MD036, no-emphasis-as-heading)
34-34: Heading levels should only increment by one level at a time
Expected: h3; Actual: h4
(MD001, heading-increment)
🔇 Additional comments (27)
packages/lowcode-portal/scripts/getDocsMdTime.js (1)
20-20: LGTM! Path field addition supports routing.The new
pathfield provides clean routing paths by removing the.mdextension. The implementation is consistent for both nested and top-level articles.Also applies to: 29-29
packages/lowcode-portal/src/help/course/Main.vue (1)
83-83: LGTM! Property renamed for clarity.The rename from
currentIdtocourseIdimproves code readability and makes the state property's purpose more explicit.packages/lowcode-portal/src/help/home/Main.vue (2)
66-66: LGTM! Dynamic copyright year implementation.The copyright year is now dynamically computed and displayed, which eliminates the need for manual updates each year. Clean implementation.
Also applies to: 95-95, 170-170
71-71: LGTM! Conditional rendering optimization.Adding
v-if="state.videoVisibility"prevents the VideoDialog component from mounting until needed, improving initial render performance.packages/lowcode-portal/src/common/components/Header.vue (3)
102-102: LGTM! Clean divider implementation.The horizontal rule dividers enhance the visual separation in the popovers. The CSS styling for the dividers is properly scoped and styled.
Also applies to: 123-123, 630-636
142-147: LGTM! Flexible menu rendering with divider support.The template loop now supports conditional divider rendering via
item.divider, making the menu structure more flexible and maintainable.
239-239: LGTM! Consistent asset format change.Switching from JPG to SVG for the default user avatar provides better scalability and is consistent with other icon assets in the project.
packages/lowcode-portal/src/home/HomeAboutUs.vue (3)
4-10: LGTM! QR code contact section added.The new QR code block provides a clear call-to-action for users to join the OpenTiny community. The implementation is consistent across desktop and mobile layouts.
Also applies to: 27-33
34-43: Mobile TreeMenu navigation behavior is correctly implemented.The implementation properly handles:
- Internal routes via
router.push()whendata.routerNameexists- External links by creating a dynamic anchor element when
!data.routerName && !data.children- Parent items with children remain unaffected—they preserve TreeMenu's default expand/collapse behavior
- Click handlers clearly distinguish between router navigation and external link opening through separate conditions
No issues found.
61-115: External community links verified as correct and accessible. All three URLs point to official OpenTiny community channels:
- Juejin profile (1,562 followers, active posting of OpenTiny content)
- Zhihu profile (confirmed presence via community references)
- Bilibili channel (official B站 space hosting tutorials and livestreams)
No changes required.
packages/lowcode-portal/src/home/HomeAdvantages.vue (3)
4-4: LGTM! Subtitle enhances content hierarchy.The new subtitle provides additional context and improves the visual hierarchy of the advantages section. Consistent with similar additions in other home components.
Also applies to: 31-31
35-72: Data model simplified effectively.The
desproperty change from an array to a single string simplifies the data structure while maintaining clarity. The addition ofborderandboxShadowproperties enables more refined visual styling per item.
162-217: LGTM! Comprehensive responsive design.The mobile styles properly adapt the layout for smaller screens with appropriate sizing, spacing, and disabled hover effects. Good attention to mobile UX.
packages/lowcode-portal/src/home/HomeUseUs.vue (3)
4-4: LGTM! Subtitle addition consistent with design pattern.The subtitle enhances the section's messaging and follows the same pattern implemented across other home components in this PR.
Also applies to: 21-21, 77-83
39-42: LGTM! New use case added.The "终端消息平台" (Terminal Message Platform) list item is properly structured with its icon reference.
113-147: LGTM! Mobile responsive refinements.The mobile styles appropriately scale down typography, adjust spacing, and resize icons for smaller viewports, ensuring a good mobile experience.
packages/lowcode-portal/src/home/HomeCoreScenarios.vue (2)
5-5: LGTM! SubTitle addition is consistent with the design system update.The new
subTitleproperty and its rendering align well with the broader pattern being introduced across home components.Also applies to: 37-39
79-271: Styling updates look well-structured.The responsive breakpoints and styling changes are consistent with the design system updates. The mobile layout correctly switches to a single-column grid and adjusts the flow-arrow orientation.
packages/lowcode-portal/src/home/Main.vue (2)
53-58: Good use of CSS custom properties for responsive layout.The introduction of
--max-width,--top-max-width,--padding-mobile, and--mobile-widthtokens improves maintainability and ensures consistent sizing across sections.
91-216: Overall responsive strategy is well-implemented.The media query breakpoints and the use of CSS custom properties provide a clean, maintainable approach to responsive design across the home page sections.
packages/lowcode-portal/src/home/HomeTop.vue (2)
1-29: Template structure and layout changes look good.The updated title structure with
title-oneandtitle-twodivs, the multi-line description, and the simplified image container provide a cleaner layout.
86-183: Animation and styling implementation is well-done.The
slideUpFadeInanimation and the updated responsive flex layout provide a polished user experience. The gradient text effect on.title-twois a nice touch.packages/lowcode-portal/src/home/HomeEcology.vue (2)
29-47: Mobile section implementation is well-structured.The mobile-specific layout with click-to-expand behavior and conditional image display provides a good responsive experience.
Also applies to: 247-294
90-90: Good use of computed property for derived state.The
currentImgcomputed property cleanly derives the current image from state, improving reactivity handling.Also applies to: 130-133
packages/lowcode-portal/src/home/HomeMultiScenario.vue (3)
339-342: Scroll-trigger elements create significant scroll height.Each
.scroll-triggerhasheight: 100vh, creating 300vh of total scroll space for the three scenes. This may confuse users scrolling through the page. Consider documenting this behavior or adding visual indicators that more content exists.Verify this scroll-driven behavior provides a good UX on different screen sizes and ensure users understand the scroll interaction model.
45-55: Mobile carousel implementation is appropriate.Using TinyCarousel for mobile viewports provides a touch-friendly alternative to the scroll-driven desktop experience.
60-68: IntersectionObserver setup is correctly cleaned up.The observer is properly initialized on mount and disconnected on unmount, preventing memory leaks.
Also applies to: 110-129
There was a problem hiding this comment.
Actionable comments posted: 0
🧹 Nitpick comments (1)
packages/tiny-engine-portal/public/docs/changelog-design.md (1)
61-61: Optional: Minor Chinese grammar refinement.The phrase "已收起的页面且没被搜索到的" could be refined for better grammar. Consider rephrasing to "已收起且未被搜索到的页面" or "已收起的页面如果没有被搜索到".
📜 Review details
Configuration used: Organization UI
Review profile: CHILL
Plan: Pro
⛔ Files ignored due to path filters (164)
packages/tiny-engine-portal/public/favicon.icois excluded by!**/*.icopackages/tiny-engine-portal/public/img/AI/image21.pngis excluded by!**/*.pngpackages/tiny-engine-portal/public/img/AI/image22.pngis excluded by!**/*.pngpackages/tiny-engine-portal/public/img/AI/image23.pngis excluded by!**/*.pngpackages/tiny-engine-portal/public/img/AI/image24.pngis excluded by!**/*.pngpackages/tiny-engine-portal/public/img/AI/image25.pngis excluded by!**/*.pngpackages/tiny-engine-portal/public/img/AI/image26.pngis excluded by!**/*.pngpackages/tiny-engine-portal/public/img/AI/image27.pngis excluded by!**/*.pngpackages/tiny-engine-portal/public/img/AI/image28.pngis excluded by!**/*.pngpackages/tiny-engine-portal/public/img/AI/image29.pngis excluded by!**/*.pngpackages/tiny-engine-portal/public/img/AI/image30.pngis excluded by!**/*.pngpackages/tiny-engine-portal/public/img/AI/image31.pngis excluded by!**/*.pngpackages/tiny-engine-portal/public/img/AI/image32.pngis excluded by!**/*.pngpackages/tiny-engine-portal/public/img/TinyEngine.svgis excluded by!**/*.svgpackages/tiny-engine-portal/public/img/application.pngis excluded by!**/*.pngpackages/tiny-engine-portal/public/img/application.svgis excluded by!**/*.svgpackages/tiny-engine-portal/public/img/application/application1.pngis excluded by!**/*.pngpackages/tiny-engine-portal/public/img/application/application2.pngis excluded by!**/*.pngpackages/tiny-engine-portal/public/img/application/application3.pngis excluded by!**/*.pngpackages/tiny-engine-portal/public/img/application/application4.pngis excluded by!**/*.pngpackages/tiny-engine-portal/public/img/application/material1.pngis excluded by!**/*.pngpackages/tiny-engine-portal/public/img/application/material2.pngis excluded by!**/*.pngpackages/tiny-engine-portal/public/img/application/material3.pngis excluded by!**/*.pngpackages/tiny-engine-portal/public/img/application/material4.pngis excluded by!**/*.pngpackages/tiny-engine-portal/public/img/application/platform1.pngis excluded by!**/*.pngpackages/tiny-engine-portal/public/img/application/platform2.pngis excluded by!**/*.pngpackages/tiny-engine-portal/public/img/application/platform3.pngis excluded by!**/*.pngpackages/tiny-engine-portal/public/img/application/platform4.pngis excluded by!**/*.pngpackages/tiny-engine-portal/public/img/arrowdown.pngis excluded by!**/*.pngpackages/tiny-engine-portal/public/img/background1.pngis excluded by!**/*.pngpackages/tiny-engine-portal/public/img/banner.pngis excluded by!**/*.pngpackages/tiny-engine-portal/public/img/banner1.pngis excluded by!**/*.pngpackages/tiny-engine-portal/public/img/banner2.pngis excluded by!**/*.pngpackages/tiny-engine-portal/public/img/component.pngis excluded by!**/*.pngpackages/tiny-engine-portal/public/img/componentLib.pngis excluded by!**/*.pngpackages/tiny-engine-portal/public/img/coursebg.pngis excluded by!**/*.pngpackages/tiny-engine-portal/public/img/courses/course1.jpgis excluded by!**/*.jpgpackages/tiny-engine-portal/public/img/courses/course10.jpgis excluded by!**/*.jpgpackages/tiny-engine-portal/public/img/courses/course11.jpgis excluded by!**/*.jpgpackages/tiny-engine-portal/public/img/courses/course2.jpgis excluded by!**/*.jpgpackages/tiny-engine-portal/public/img/courses/course3.jpgis excluded by!**/*.jpgpackages/tiny-engine-portal/public/img/courses/course4.jpgis excluded by!**/*.jpgpackages/tiny-engine-portal/public/img/courses/course5.jpgis excluded by!**/*.jpgpackages/tiny-engine-portal/public/img/courses/course6.jpgis excluded by!**/*.jpgpackages/tiny-engine-portal/public/img/courses/course7.jpgis excluded by!**/*.jpgpackages/tiny-engine-portal/public/img/courses/course8.jpgis excluded by!**/*.jpgpackages/tiny-engine-portal/public/img/courses/course9.jpgis excluded by!**/*.jpgpackages/tiny-engine-portal/public/img/default-user-avatar.jpgis excluded by!**/*.jpgpackages/tiny-engine-portal/public/img/default-user-avatar.svgis excluded by!**/*.svgpackages/tiny-engine-portal/public/img/default.pngis excluded by!**/*.pngpackages/tiny-engine-portal/public/img/docimg/ScreenShot_20241029195609.pngis excluded by!**/*.pngpackages/tiny-engine-portal/public/img/docimg/TinyEngineSchem2Code.pngis excluded by!**/*.pngpackages/tiny-engine-portal/public/img/docimg/add-Function.pngis excluded by!**/*.pngpackages/tiny-engine-portal/public/img/docimg/addAiPlugin.pngis excluded by!**/*.pngpackages/tiny-engine-portal/public/img/docimg/addApp.pngis excluded by!**/*.pngpackages/tiny-engine-portal/public/img/docimg/addBlocks.pngis excluded by!**/*.pngpackages/tiny-engine-portal/public/img/docimg/addComponent.pngis excluded by!**/*.pngpackages/tiny-engine-portal/public/img/docimg/addComponents.pngis excluded by!**/*.pngpackages/tiny-engine-portal/public/img/docimg/addFolder.pngis excluded by!**/*.pngpackages/tiny-engine-portal/public/img/docimg/addPage.pngis excluded by!**/*.pngpackages/tiny-engine-portal/public/img/docimg/addState.pngis excluded by!**/*.pngpackages/tiny-engine-portal/public/img/docimg/add_block.pngis excluded by!**/*.pngpackages/tiny-engine-portal/public/img/docimg/add_block1.pngis excluded by!**/*.pngpackages/tiny-engine-portal/public/img/docimg/add_block2.pngis excluded by!**/*.pngpackages/tiny-engine-portal/public/img/docimg/app.pngis excluded by!**/*.pngpackages/tiny-engine-portal/public/img/docimg/appCreateOne.pngis excluded by!**/*.pngpackages/tiny-engine-portal/public/img/docimg/appCreateTwo.pngis excluded by!**/*.pngpackages/tiny-engine-portal/public/img/docimg/appDevOne.pngis excluded by!**/*.pngpackages/tiny-engine-portal/public/img/docimg/appDevTwo.pngis excluded by!**/*.pngpackages/tiny-engine-portal/public/img/docimg/askToModifyPage.pngis excluded by!**/*.pngpackages/tiny-engine-portal/public/img/docimg/backend_code.pngis excluded by!**/*.pngpackages/tiny-engine-portal/public/img/docimg/backend_code3.pngis excluded by!**/*.pngpackages/tiny-engine-portal/public/img/docimg/backend_deploy_1.pngis excluded by!**/*.pngpackages/tiny-engine-portal/public/img/docimg/backend_deploy_10.pngis excluded by!**/*.pngpackages/tiny-engine-portal/public/img/docimg/backend_deploy_2.pngis excluded by!**/*.pngpackages/tiny-engine-portal/public/img/docimg/backend_deploy_3.pngis excluded by!**/*.pngpackages/tiny-engine-portal/public/img/docimg/backend_deploy_4.pngis excluded by!**/*.pngpackages/tiny-engine-portal/public/img/docimg/backend_deploy_5.pngis excluded by!**/*.pngpackages/tiny-engine-portal/public/img/docimg/backend_deploy_6.pngis excluded by!**/*.pngpackages/tiny-engine-portal/public/img/docimg/backend_deploy_7.pngis excluded by!**/*.pngpackages/tiny-engine-portal/public/img/docimg/backend_deploy_8.pngis excluded by!**/*.pngpackages/tiny-engine-portal/public/img/docimg/backend_deploy_9.pngis excluded by!**/*.pngpackages/tiny-engine-portal/public/img/docimg/bangEnv.pngis excluded by!**/*.pngpackages/tiny-engine-portal/public/img/docimg/bindEvent.gifis excluded by!**/*.gifpackages/tiny-engine-portal/public/img/docimg/bindEventApi.pngis excluded by!**/*.pngpackages/tiny-engine-portal/public/img/docimg/block-publish-10.pngis excluded by!**/*.pngpackages/tiny-engine-portal/public/img/docimg/block-publish-11.pngis excluded by!**/*.pngpackages/tiny-engine-portal/public/img/docimg/block-publish-12.pngis excluded by!**/*.pngpackages/tiny-engine-portal/public/img/docimg/block-publish-2.pngis excluded by!**/*.pngpackages/tiny-engine-portal/public/img/docimg/block-publish-3.pngis excluded by!**/*.pngpackages/tiny-engine-portal/public/img/docimg/block-publish-4.pngis excluded by!**/*.pngpackages/tiny-engine-portal/public/img/docimg/block-publish-5.pngis excluded by!**/*.pngpackages/tiny-engine-portal/public/img/docimg/block-publish-6.pngis excluded by!**/*.pngpackages/tiny-engine-portal/public/img/docimg/block-publish-7.pngis excluded by!**/*.pngpackages/tiny-engine-portal/public/img/docimg/block-publish-8.pngis excluded by!**/*.pngpackages/tiny-engine-portal/public/img/docimg/block-publish-9.pngis excluded by!**/*.pngpackages/tiny-engine-portal/public/img/docimg/block-publish-db-1.pngis excluded by!**/*.pngpackages/tiny-engine-portal/public/img/docimg/blockBaseSetting.pngis excluded by!**/*.pngpackages/tiny-engine-portal/public/img/docimg/blockExposeAttr.gifis excluded by!**/*.gifpackages/tiny-engine-portal/public/img/docimg/blockProps.pngis excluded by!**/*.pngpackages/tiny-engine-portal/public/img/docimg/blockSettings.pngis excluded by!**/*.pngpackages/tiny-engine-portal/public/img/docimg/blockexposeattrusage.gifis excluded by!**/*.gifpackages/tiny-engine-portal/public/img/docimg/buildMaterial1.pngis excluded by!**/*.pngpackages/tiny-engine-portal/public/img/docimg/buildMaterial2.pngis excluded by!**/*.pngpackages/tiny-engine-portal/public/img/docimg/buildPlatform1.pngis excluded by!**/*.pngpackages/tiny-engine-portal/public/img/docimg/buildPlatform2.pngis excluded by!**/*.pngpackages/tiny-engine-portal/public/img/docimg/canvasoverview.pngis excluded by!**/*.pngpackages/tiny-engine-portal/public/img/docimg/cli-create-plugin.pngis excluded by!**/*.pngpackages/tiny-engine-portal/public/img/docimg/cli-plugin-open.pngis excluded by!**/*.pngpackages/tiny-engine-portal/public/img/docimg/code.pngis excluded by!**/*.pngpackages/tiny-engine-portal/public/img/docimg/componentConfigBase.pngis excluded by!**/*.pngpackages/tiny-engine-portal/public/img/docimg/componentConfigProps.pngis excluded by!**/*.pngpackages/tiny-engine-portal/public/img/docimg/componentConfigQuick.pngis excluded by!**/*.pngpackages/tiny-engine-portal/public/img/docimg/componentConfigSchema.pngis excluded by!**/*.pngpackages/tiny-engine-portal/public/img/docimg/componentConfigTec.pngis excluded by!**/*.pngpackages/tiny-engine-portal/public/img/docimg/componentLibInfo.pngis excluded by!**/*.pngpackages/tiny-engine-portal/public/img/docimg/conditionRender.gifis excluded by!**/*.gifpackages/tiny-engine-portal/public/img/docimg/createBlockFromPage.gifis excluded by!**/*.gifpackages/tiny-engine-portal/public/img/docimg/createEmptyBlock.pngis excluded by!**/*.pngpackages/tiny-engine-portal/public/img/docimg/createMaterial.gifis excluded by!**/*.gifpackages/tiny-engine-portal/public/img/docimg/createMaterial.pngis excluded by!**/*.pngpackages/tiny-engine-portal/public/img/docimg/createMaterial2.gifis excluded by!**/*.gifpackages/tiny-engine-portal/public/img/docimg/createMaterialBlock.pngis excluded by!**/*.pngpackages/tiny-engine-portal/public/img/docimg/createMaterialBlockCancel.pngis excluded by!**/*.pngpackages/tiny-engine-portal/public/img/docimg/createMaterialForm.pngis excluded by!**/*.pngpackages/tiny-engine-portal/public/img/docimg/createMaterialLib.pngis excluded by!**/*.pngpackages/tiny-engine-portal/public/img/docimg/createMaterialLibCancel.pngis excluded by!**/*.pngpackages/tiny-engine-portal/public/img/docimg/createPlatform.pngis excluded by!**/*.pngpackages/tiny-engine-portal/public/img/docimg/create_block.pngis excluded by!**/*.pngpackages/tiny-engine-portal/public/img/docimg/custom-plugin-page-full.pngis excluded by!**/*.pngpackages/tiny-engine-portal/public/img/docimg/custom-plugin-page-pos.pngis excluded by!**/*.pngpackages/tiny-engine-portal/public/img/docimg/customGenCodePlugin.pngis excluded by!**/*.pngpackages/tiny-engine-portal/public/img/docimg/data-source-1.pngis excluded by!**/*.pngpackages/tiny-engine-portal/public/img/docimg/data-source-2.pngis excluded by!**/*.pngpackages/tiny-engine-portal/public/img/docimg/data-source-3.pngis excluded by!**/*.pngpackages/tiny-engine-portal/public/img/docimg/data-source-4.pngis excluded by!**/*.pngpackages/tiny-engine-portal/public/img/docimg/data-source-load-1.pngis excluded by!**/*.pngpackages/tiny-engine-portal/public/img/docimg/data-source-load-2.pngis excluded by!**/*.pngpackages/tiny-engine-portal/public/img/docimg/data-source-load-3.pngis excluded by!**/*.pngpackages/tiny-engine-portal/public/img/docimg/dataSource1.pngis excluded by!**/*.pngpackages/tiny-engine-portal/public/img/docimg/dataSource2.pngis excluded by!**/*.pngpackages/tiny-engine-portal/public/img/docimg/dataSource3.pngis excluded by!**/*.pngpackages/tiny-engine-portal/public/img/docimg/dataSource4.pngis excluded by!**/*.pngpackages/tiny-engine-portal/public/img/docimg/dataSource5.pngis excluded by!**/*.pngpackages/tiny-engine-portal/public/img/docimg/dataSource6.gifis excluded by!**/*.gifpackages/tiny-engine-portal/public/img/docimg/dataSource7.pngis excluded by!**/*.pngpackages/tiny-engine-portal/public/img/docimg/dataSource9.pngis excluded by!**/*.pngpackages/tiny-engine-portal/public/img/docimg/defineDsl.pngis excluded by!**/*.pngpackages/tiny-engine-portal/public/img/docimg/defineMaterial.pngis excluded by!**/*.pngpackages/tiny-engine-portal/public/img/docimg/definePlugs.pngis excluded by!**/*.pngpackages/tiny-engine-portal/public/img/docimg/defineTheme.pngis excluded by!**/*.pngpackages/tiny-engine-portal/public/img/docimg/defineTools.pngis excluded by!**/*.pngpackages/tiny-engine-portal/public/img/docimg/defineslot.gifis excluded by!**/*.gifpackages/tiny-engine-portal/public/img/docimg/deleteClassNameNew.gifis excluded by!**/*.gifpackages/tiny-engine-portal/public/img/docimg/designer-right-click.pngis excluded by!**/*.pngpackages/tiny-engine-portal/public/img/docimg/designeroverview.pngis excluded by!**/*.pngpackages/tiny-engine-portal/public/img/docimg/download.pngis excluded by!**/*.pngpackages/tiny-engine-portal/public/img/docimg/dragComponent.gifis excluded by!**/*.gifpackages/tiny-engine-portal/public/img/docimg/ecology1.pngis excluded by!**/*.pngpackages/tiny-engine-portal/public/img/docimg/ecology2.pngis excluded by!**/*.pngpackages/tiny-engine-portal/public/img/docimg/ecology3.pngis excluded by!**/*.pngpackages/tiny-engine-portal/public/img/docimg/edit-plugin.pngis excluded by!**/*.pngpackages/tiny-engine-portal/public/img/docimg/edit-plugin2.pngis excluded by!**/*.pngpackages/tiny-engine-portal/public/img/docimg/editClassName.gifis excluded by!**/*.gif
📒 Files selected for processing (121)
.github/workflows/deploy-obs-tiny-engine.yml.gitmodulespackages/tiny-engine-portal/.browserslistrcpackages/tiny-engine-portal/.env.alphapackages/tiny-engine-portal/.env.alpha-openpackages/tiny-engine-portal/.env.developmentpackages/tiny-engine-portal/.env.openpackages/tiny-engine-portal/.env.prodpackages/tiny-engine-portal/.eslintignorepackages/tiny-engine-portal/.eslintrc.jspackages/tiny-engine-portal/.eslintrc.js.bakpackages/tiny-engine-portal/.gitignorepackages/tiny-engine-portal/.husky/pre-commitpackages/tiny-engine-portal/.npmignorepackages/tiny-engine-portal/.prettierignorepackages/tiny-engine-portal/.prettierrcpackages/tiny-engine-portal/README.mdpackages/tiny-engine-portal/build.shpackages/tiny-engine-portal/card.config.jspackages/tiny-engine-portal/cypress.jsonpackages/tiny-engine-portal/index.htmlpackages/tiny-engine-portal/jsconfig.jsonpackages/tiny-engine-portal/lerna.jsonpackages/tiny-engine-portal/lint-staged.config.jspackages/tiny-engine-portal/package.jsonpackages/tiny-engine-portal/public/docs/AI-plugin-usage.mdpackages/tiny-engine-portal/public/docs/advancedPanel.mdpackages/tiny-engine-portal/public/docs/ai-generate-page.mdpackages/tiny-engine-portal/public/docs/answer-question/answer-question-20231027.mdpackages/tiny-engine-portal/public/docs/api-app-ai.mdpackages/tiny-engine-portal/public/docs/api-app-manage.mdpackages/tiny-engine-portal/public/docs/api-app-util-manage.mdpackages/tiny-engine-portal/public/docs/api-block-group.mdpackages/tiny-engine-portal/public/docs/api-block.mdpackages/tiny-engine-portal/public/docs/api-data-source.mdpackages/tiny-engine-portal/public/docs/api-dsl.mdpackages/tiny-engine-portal/public/docs/api-i18n.mdpackages/tiny-engine-portal/public/docs/api-material.mdpackages/tiny-engine-portal/public/docs/api-page.mdpackages/tiny-engine-portal/public/docs/api-service.mdpackages/tiny-engine-portal/public/docs/apis/apiOverview.mdpackages/tiny-engine-portal/public/docs/apis/canvasApi.mdpackages/tiny-engine-portal/public/docs/apis/layoutApi.mdpackages/tiny-engine-portal/public/docs/apis/mainApi.mdpackages/tiny-engine-portal/public/docs/apis/materialApi.mdpackages/tiny-engine-portal/public/docs/apis/settingApi.mdpackages/tiny-engine-portal/public/docs/application-protocol.mdpackages/tiny-engine-portal/public/docs/applications.mdpackages/tiny-engine-portal/public/docs/backend-deploy.mdpackages/tiny-engine-portal/public/docs/blockMana-panel.mdpackages/tiny-engine-portal/public/docs/blockMana.mdpackages/tiny-engine-portal/public/docs/build-material.mdpackages/tiny-engine-portal/public/docs/build-platform.mdpackages/tiny-engine-portal/public/docs/canvas.mdpackages/tiny-engine-portal/public/docs/changelog-design.mdpackages/tiny-engine-portal/public/docs/changelog-portal.mdpackages/tiny-engine-portal/public/docs/changelog.mdpackages/tiny-engine-portal/public/docs/cli/cli-Introduce.mdpackages/tiny-engine-portal/public/docs/cli/quickStartCli.mdpackages/tiny-engine-portal/public/docs/component-library.mdpackages/tiny-engine-portal/public/docs/configurator.mdpackages/tiny-engine-portal/public/docs/customize-components-blocks.mdpackages/tiny-engine-portal/public/docs/data-source.mdpackages/tiny-engine-portal/public/docs/dataSource-panel.mdpackages/tiny-engine-portal/public/docs/design-core.mdpackages/tiny-engine-portal/public/docs/domTree-panel.mdpackages/tiny-engine-portal/public/docs/ecology-center.mdpackages/tiny-engine-portal/public/docs/extends-metaservice.mdpackages/tiny-engine-portal/public/docs/extends-plugin-ui.mdpackages/tiny-engine-portal/public/docs/extensibility/metaServiceMetaApp.mdpackages/tiny-engine-portal/public/docs/extensibility/newFrameworkIntro.mdpackages/tiny-engine-portal/public/docs/extensibility/registry.mdpackages/tiny-engine-portal/public/docs/genCode/genCodeApi.mdpackages/tiny-engine-portal/public/docs/genCode/genCodeCustomPlugin.mdpackages/tiny-engine-portal/public/docs/genCode/genCodeIntro.mdpackages/tiny-engine-portal/public/docs/genCode/genCodePagePluginDev.mdpackages/tiny-engine-portal/public/docs/genCode/genCodePluginDev.mdpackages/tiny-engine-portal/public/docs/i18n-panel.mdpackages/tiny-engine-portal/public/docs/import-component-lib.mdpackages/tiny-engine-portal/public/docs/installcli.mdpackages/tiny-engine-portal/public/docs/intro.mdpackages/tiny-engine-portal/public/docs/java/java-deploy.mdpackages/tiny-engine-portal/public/docs/java/java-local-debugging.mdpackages/tiny-engine-portal/public/docs/localized-deploy/block-publish.mdpackages/tiny-engine-portal/public/docs/material-package-protocol.mdpackages/tiny-engine-portal/public/docs/material-panel.mdpackages/tiny-engine-portal/public/docs/mult-languages.mdpackages/tiny-engine-portal/public/docs/otherPro/Introduction.mdpackages/tiny-engine-portal/public/docs/otherPro/addState.mdpackages/tiny-engine-portal/public/docs/otherPro/conditions.mdpackages/tiny-engine-portal/public/docs/otherPro/designAppFlow.mdpackages/tiny-engine-portal/public/docs/otherPro/i18nSource.mdpackages/tiny-engine-portal/public/docs/otherPro/lineStyle.mdpackages/tiny-engine-portal/public/docs/otherPro/loopRender.mdpackages/tiny-engine-portal/public/docs/otherPro/useComponent.mdpackages/tiny-engine-portal/public/docs/otherPro/watchTree.mdpackages/tiny-engine-portal/public/docs/page-schema.mdpackages/tiny-engine-portal/public/docs/pageMana-panel.mdpackages/tiny-engine-portal/public/docs/pageMana.mdpackages/tiny-engine-portal/public/docs/pageScript.mdpackages/tiny-engine-portal/public/docs/pdm.mdpackages/tiny-engine-portal/public/docs/permission-management.mdpackages/tiny-engine-portal/public/docs/plugin.mdpackages/tiny-engine-portal/public/docs/preview.mdpackages/tiny-engine-portal/public/docs/protocol-demos.mdpackages/tiny-engine-portal/public/docs/publish-block.mdpackages/tiny-engine-portal/public/docs/publish-component.mdpackages/tiny-engine-portal/public/docs/resource-panel.mdpackages/tiny-engine-portal/public/docs/resource.mdpackages/tiny-engine-portal/public/docs/setting.mdpackages/tiny-engine-portal/public/docs/slot.mdpackages/tiny-engine-portal/public/docs/slotusage.mdpackages/tiny-engine-portal/public/docs/start.mdpackages/tiny-engine-portal/public/docs/state-management.mdpackages/tiny-engine-portal/public/docs/state-panel.mdpackages/tiny-engine-portal/public/docs/styleSetting.mdpackages/tiny-engine-portal/public/docs/synchronize-materials.mdpackages/tiny-engine-portal/public/docs/toolbar.mdpackages/tiny-engine-portal/public/docs/useComponent.mdpackages/tiny-engine-portal/public/docs/useVscode.mdpackages/tiny-engine-portal/public/html/app-default.html
🧰 Additional context used
🪛 LanguageTool
packages/tiny-engine-portal/public/docs/changelog-design.md
[uncategorized] ~61-~61: 能愿动词不能成为‘把’字句、‘被’字句的谓语动词。应该是:"会被……搜索"。
Context: ...和发布区块时接口报错 - 手动收起页面树的时候,如果清除搜索后,已收起的页面且没被搜索到的也会自动展开 - 物料区块tab添加区块,区块全选后,搜索区块然后取消全选,会连带取...
(wa3)
🪛 markdownlint-cli2 (0.18.1)
packages/tiny-engine-portal/public/docs/changelog-design.md
3-3: Emphasis used instead of a heading
(MD036, no-emphasis-as-heading)
5-5: Heading levels should only increment by one level at a time
Expected: h3; Actual: h4
(MD001, heading-increment)
32-32: Emphasis used instead of a heading
(MD036, no-emphasis-as-heading)
34-34: Heading levels should only increment by one level at a time
Expected: h3; Actual: h4
(MD001, heading-increment)
🔇 Additional comments (4)
packages/tiny-engine-portal/public/docs/changelog-design.md (1)
1-1: Past review comment has been addressed.The directory has been successfully renamed from
lowcode-portaltotiny-engine-portalas requested in the previous review..gitmodules (1)
1-2: Submodule path update is correct.The submodule path has been correctly updated to align with the package rename from
lowcode-portaltotiny-engine-portal. The submodule URL remains unchanged, which is appropriate..github/workflows/deploy-obs-tiny-engine.yml (1)
8-8: Workflow updates are comprehensive and consistent.All references to
lowcode-portalhave been systematically updated totiny-engine-portalthroughout the workflow file, including:
- Path triggers
- Input descriptions
- Version extraction
- Build environment variables
- Artifact paths (upload and download)
- OBS deployment paths
The changes maintain the workflow logic while aligning with the package rename.
Also applies to: 13-13, 61-61, 69-69, 74-74, 84-84, 104-107
packages/tiny-engine-portal/package.json (1)
2-2: Package rename is correct with no functional issues.The package name change from "lowcode-portal" to "tiny-engine-portal" is correct and aligns with the PR's refactoring effort. References to "lowcode-portal" in the codebase are limited to external CDN asset URLs in mock data files and documentation strings—these are unaffected by package.json name changes and require no updates. The rename will not introduce broken imports or dependencies.
There was a problem hiding this comment.
Actionable comments posted: 1
Caution
Some comments are outside the diff and can’t be posted inline due to platform limitations.
⚠️ Outside diff range comments (1)
.github/workflows/deploy-obs-tiny-engine.yml (1)
84-84: Critical path mismatch: artifact downloaded to wrong location.The artifact is uploaded from
packages/tiny-engine-portal/dist/(line 74) but downloaded to the old pathpackages/lowcode-portal/dist/. This causes a mismatch with line 106, which expects to movepackages/tiny-engine-portal/dist. The deployment will fail.🔎 Proposed fix
- path: packages/lowcode-portal/dist/ + path: packages/tiny-engine-portal/dist/
📜 Review details
Configuration used: Organization UI
Review profile: CHILL
Plan: Pro
📒 Files selected for processing (1)
.github/workflows/deploy-obs-tiny-engine.yml
🔇 Additional comments (1)
.github/workflows/deploy-obs-tiny-engine.yml (1)
8-8: LGTM! Naming migration correctly applied.The path triggers, version extraction, static asset path, and artifact upload path have all been correctly updated to reflect the new
tiny-engine-portalnaming convention.Also applies to: 13-13, 61-61, 69-69, 74-74
9905578 to
560be44
Compare
There was a problem hiding this comment.
Actionable comments posted: 0
Caution
Some comments are outside the diff and can’t be posted inline due to platform limitations.
⚠️ Outside diff range comments (1)
.github/workflows/deploy-obs-tiny-engine.yml (1)
69-69: Fix static asset path to match renamed package.The
VITE_APP_STATIC_PATHstill referenceslowcode-portal, but the package has been renamed totiny-engine-portal. This mismatch will cause the built application to load static assets from the wrong CDN path, resulting in 404 errors and broken functionality.🔎 Proposed fix
- VITE_APP_STATIC_PATH: //res-static.opentiny.design/lowcode-portal/${{ steps.ver.outputs.value }}/ + VITE_APP_STATIC_PATH: //res-static.opentiny.design/tiny-engine-portal/${{ steps.ver.outputs.value }}/
♻️ Duplicate comments (1)
.github/workflows/deploy-obs-tiny-engine.yml (1)
107-107: Fix OBS upload destination to match renamed package.The OBS upload path still uses
lowcode-portal, but the package has been renamed totiny-engine-portal. Files will be uploaded to the wrong location in OBS, causing deployment failures or broken links.This issue was flagged in the previous review but remains unresolved.
🔎 Proposed fix
- obsutil cp ${{ needs.build.outputs.version }} obs://${{ env.HUAWEI_CLOUD_BUCKET }}/lowcode-portal/ -r -f + obsutil cp ${{ needs.build.outputs.version }} obs://${{ env.HUAWEI_CLOUD_BUCKET }}/tiny-engine-portal/ -r -f
Summary by CodeRabbit
New Features
Improvements
Chores
Documentation
✏️ Tip: You can customize this high-level summary in your review settings.