-
Notifications
You must be signed in to change notification settings - Fork 318
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
docs: 添加文档 #917
base: refactor/develop
Are you sure you want to change the base?
docs: 添加文档 #917
Conversation
WalkthroughThis pull request introduces a comprehensive documentation update for the TinyEngine low-code platform, significantly expanding and restructuring the documentation across multiple directories. The changes create a well-organized, multi-chapter documentation system covering user guides, platform development, ecosystem details, and practical use cases. The documentation is primarily written in Chinese and provides in-depth explanations of the platform's features, capabilities, and usage methods. Changes
Suggested labels
Suggested reviewers
Poem
Possibly related PRs
Tip CodeRabbit's docstrings feature is now available as part of our Early Access Program! Simply use the command Thank you for using CodeRabbit. We offer it for free to the OSS community and would appreciate your support in helping us grow. If you find it useful, would you consider giving us a shout-out on your favorite social media? 🪧 TipsChatThere are 3 ways to chat with CodeRabbit:
Note: Be mindful of the bot's finite context window. It's strongly recommended to break down tasks such as reading entire modules into smaller chunks. For a focused discussion, use review comments to chat about specific files and their changes, instead of using the PR comments. CodeRabbit Commands (Invoked using PR comments)
Other keywords and placeholders
CodeRabbit Configuration File (
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Actionable comments posted: 39
🧹 Outside diff range and nitpick comments (123)
docs/新手指引/简介.md (2)
23-23
: 修正中文语法用词在"强大的开放物料设计"中,"强大的"作为形容词修饰"开放"时,应使用"地"而不是"的"。
Apply this change:
-得益于 TinyEngine 强大的开放物料设计 +得益于 TinyEngine 强大地开放物料设计🧰 Tools
🪛 LanguageTool
[uncategorized] ~23-~23: 动词的修饰一般为‘形容词(副词)+地+动词’。您的意思是否是:强大"地"开放
Context: ...nyEngine 有开放的物料协议和扩展接口:得益于 TinyEngine 强大的开放物料设计,可直接导入第三方组件库,例如 elementUI 和 AntDes...(wb4)
31-37
: Remove extra empty lines at the end of the fileMultiple empty lines at the end of the file are unnecessary. Keep only one newline at the end.
Remove lines 31-37, leaving only one empty line at the end of the file.
docs/解决方案/区块发布方案.md (4)
1-24
: Improve Markdown formatting for better readabilityThe document structure is well-organized, but there are some formatting improvements needed:
- Add language specifier to code blocks
- Fix unordered list indentation
- Remove spaces inside code spans
Apply these formatting fixes:
- ``` + ```text // Add language specifier to code blocks - - List item + - List item // Fix list indentation - ` https://www.unpkg.com/ ` + `https://www.unpkg.com/` // Remove spaces inside code spans
80-90
: Enhance development prerequisites sectionConsider adding more specific details to the prerequisites:
- MySQL version requirements and configuration
- Minimum Node.js version
- Required permissions for npm token
Would you like me to help expand this section with more detailed requirements?
91-124
: Consider adding automation scripts for the workflowThe manual steps for block creation, editing, and publishing could be automated using CLI tools or scripts to improve developer productivity.
Would you like me to help create automation scripts for these workflows?
🧰 Tools
🪛 Markdownlint (0.35.0)
95-95: Expected: 0; Actual: 2
Unordered list indentation(MD007, ul-indent)
99-99: Expected: 0; Actual: 2
Unordered list indentation(MD007, ul-indent)
103-103: Expected: 0; Actual: 2
Unordered list indentation(MD007, ul-indent)
113-113: Expected: 0; Actual: 2
Unordered list indentation(MD007, ul-indent)
107-107: Expected: fenced; Actual: indented
Code block style(MD046, code-block-style)
111-111: Expected: fenced; Actual: indented
Code block style(MD046, code-block-style)
117-117: Expected: fenced; Actual: indented
Code block style(MD046, code-block-style)
121-121: Expected: fenced; Actual: indented
Code block style(MD046, code-block-style)
125-192
: Enhance API documentationConsider the following improvements:
- Add error response examples and status codes
- Document rate limiting and timeout values
- Add language specifiers to JSON code blocks
- Include authentication requirements
Example improvement:
- ``` + ```json { "data": { "id": 100, // ... } }
Error Responses
- {
- "error": {
"code": "ERROR_CODE",
"message": "Error description"
- }
- }
</blockquote></details> <details> <summary>docs/扩展能力使用教程/定制插件UI.md (6)</summary><blockquote> `1-4`: **Consider enhancing the introduction with a structured overview.** While the introduction is clear, it could be more helpful to add: - A brief description of what plugins are - A list of customization capabilities - Prerequisites or requirements --- `9-11`: **Enhance configuration properties documentation.** Consider adding: - Examples of valid icon string values - Interface requirements for custom icon components - Code examples for both string and component icon usage --- `15-31`: **Enhance code example with type information and explanations.** Consider: - Adding TypeScript type annotations - Explaining the spread operator usage with Page - Documenting the Page plugin's interface --- `33-33`: **Use absolute paths for image references.** To prevent broken links when documentation is moved or restructured, consider using absolute paths from the repository root. ```diff -![定制页面插件位置](./imgs/custom-plugin-page-pos.png) +![定制页面插件位置](/docs/扩展能力使用教程/imgs/custom-plugin-page-pos.png)
55-66
: Enhance Vue component example with best practices.Consider improving the example by:
- Adding TypeScript setup
- Documenting component props and events
- Including error handling examples
- Demonstrating component lifecycle hooks
Example enhancement:
<script setup lang="ts"> import { ref, onMounted } from 'vue' interface Props { initialTitle?: string } const props = withDefaults(defineProps<Props>(), { initialTitle: '自定义插件UI' }) const title = ref(props.initialTitle) onMounted(() => { // Add initialization logic }) </script>
68-68
: Use absolute path for image reference.Similar to the previous image, use an absolute path to prevent broken links.
-![替换整个插件页面](./imgs/custom-plugin-page-full.png) +![替换整个插件页面](/docs/扩展能力使用教程/imgs/custom-plugin-page-full.png)docs/扩展能力介绍/新架构介绍.md (5)
1-4
: Consider merging the empty section with the following content.The heading "为什么需要 TinyEngine 洛书架构" is followed by an empty section. Consider removing the empty lines and connecting it directly with the content that follows for better document flow.
# TinyEngine 洛书架构介绍 ## 为什么需要 TinyEngine 洛书架构 - 在 TinyEngine 开源以来...
5-7
: Fix grammatical issue while maintaining excellent content.The problem statement effectively explains the challenges faced by users who fork the codebase. However, there's a minor grammatical issue that should be fixed.
-TinyEngine引擎官方在慢慢的增加新特性 +TinyEngine引擎官方在慢慢地增加新特性🧰 Tools
🪛 LanguageTool
[uncategorized] ~6-~6: 动词的修饰一般为‘形容词(副词)+地+动词’。您的意思是否是:慢慢"地"增加
Context: ...对官方项目代码的修改程度也逐渐增多,与此同时,TinyEngine引擎官方在慢慢的增加新特性,以及修复 bug,导致 fork 出来的代码与官方引擎项目差异越来越...(wb4)
8-11
: Consider adding a horizontal rule for better section separation.The transition to the solution is well-written. Consider adding a horizontal rule (
---
) before introducing the new architecture to create a clearer visual separation between the problem statement and solution.于是,我们需要一种新的架构... +--- + 基于这个需求与思路,我们设计了新的可扩展架构——洛书架构🧰 Tools
🪛 LanguageTool
[uncategorized] ~10-~10: 动词的修饰一般为‘形容词(副词)+地+动词’。您的意思是否是:新"地"可
Context: ...对插件、设计器、布局、出码等等方式进行定制。 基于这个需求与思路,我们设计了新的可扩展架构——洛书架构 ## 扩展架构核心特性 - 提供 cli 工具,使用...(wb4)
12-17
: Enhance feature list formatting and consider adding details.The core features are well-identified, but consider:
- Using consistent punctuation at the end of each bullet point
- Adding brief examples or explanations for each feature
- Using sub-bullets to break down complex features
Example enhancement for the first feature:
-- 提供 cli 工具,使用 cli 快速创建出来基于 TinyEngine 引擎的低代码平台。 +- 提供 cli 工具,使用 cli 快速创建出来基于 TinyEngine 引擎的低代码平台: + - 支持项目模板选择 + - 提供配置向导 + - 自动依赖安装
1-17
: Well-structured documentation with clear purpose.The document effectively introduces the 洛书架构 (Luoshu Architecture), clearly explaining the motivation, challenges, and solutions. The content is technically accurate and well-organized.
Consider adding a conclusion section that summarizes the benefits and next steps for users interested in adopting this architecture.
Would you like me to help draft a conclusion section for this document?
🧰 Tools
🪛 LanguageTool
[uncategorized] ~6-~6: 动词的修饰一般为‘形容词(副词)+地+动词’。您的意思是否是:慢慢"地"增加
Context: ...对官方项目代码的修改程度也逐渐增多,与此同时,TinyEngine引擎官方在慢慢的增加新特性,以及修复 bug,导致 fork 出来的代码与官方引擎项目差异越来越...(wb4)
[uncategorized] ~10-~10: 动词的修饰一般为‘形容词(副词)+地+动词’。您的意思是否是:新"地"可
Context: ...对插件、设计器、布局、出码等等方式进行定制。 基于这个需求与思路,我们设计了新的可扩展架构——洛书架构 ## 扩展架构核心特性 - 提供 cli 工具,使用...(wb4)
docs/扩展能力使用教程/出码功能/出码功能简介与使用.md (2)
7-31
: Consider enhancing the code example documentation.While the example clearly shows the transformation from JSON to Vue, consider:
- Explaining why
Text
component in JSON becomesspan
in Vue- Adding comments to highlight key aspects of the transformation
Example enhancement:
```json +// Input: JSON Schema representing a div with Text component { "componentName": "div", "props": { "style": "color: red; text-align: center;" }, "children": [ { "componentName": "Text", // Built-in Text component "props": { "text": "TinyEngine 前端可视化设计器,为设计器开发者提供定制服务,在线构建出自己专属的设计器。" } } ] }
+// Output: Transformed Vue template
+// Note: Text component is rendered as a span element<div style="color: red; text-align: center;"> <span>TinyEngine 前端可视化设计器,为设计器开发者提供定制服务,在线构建出自己专属的设计器。</span> </div>--- `34-34`: **Fix grammatical issues in Chinese text.** There are two grammatical issues to address: 1. Line 34: "膨胀的非常巨大" should be "膨胀得非常巨大" 2. Line 40: "完美的解决" should be "完美地解决" Also applies to: 40-40 <details> <summary>🧰 Tools</summary> <details> <summary>🪛 LanguageTool</summary> [uncategorized] ~34-~34: 1.动词被副词修饰时,助词应该用‘得’;2.省略宾语时,助词应该用‘的’;可能造成歧义。您的意思是不是:膨胀"得"非常巨大 Context: ...但是,在我们实战经验中却发现随着需求的变更以及时间的变迁,运行时引擎的代码会膨胀的非常巨大,运行时引擎内部的架构也越来越复杂,会带来一些明显的痛点: - 由于运... (wb4) </details> </details> </blockquote></details> <details> <summary>docs/进阶功能/区块管理.md (2)</summary><blockquote> `9-20`: **Fix the directory tree formatting** The directory tree structure has an inconsistent indentation in line 13. The hyphen should be aligned with other files at the same level. ```diff - components |_ Header.vue - - Footer.vue + |_ Footer.vue - Container.vue
68-68
: Fix Chinese grammar: Use "地" for adverbsChange "更好的明白" to "更好地明白" as it's modifying a verb.
-区块描述:区块的描述,可以让别人更好的明白该区块的用途以及含义 +区块描述:区块的描述,可以让别人更好地明白该区块的用途以及含义🧰 Tools
🪛 LanguageTool
[uncategorized] ~68-~68: 动词的修饰一般为‘形容词(副词)+地+动词’。您的意思是否是:好"地"明白
Context: ...围进行设置,下面对相关设置项进行讲解 - 区块描述:区块的描述,可以让别人更好的明白该区块的用途以及含义 - 区块标签:区块的标签,方便消费侧用户搜索 - 公开...(wb4)
docs/基础功能/样式设置.md (5)
9-12
: Add language identifier to the code block.For better syntax highlighting, specify the language:
-```html +```html <div style="display:block; color: red; font-size: 12px; background-color: #fff;"> </div>
151-163
: Improve code example formatting and readability.Consider these improvements to the Vue template:
<template> -<div - :style="{ - top: state.position.top, - right: state.position.right, - bottom: state.position.bottom, - left: state.position.left, - }" -> -</div> + <div + :style="{ + top: state.position.top, + right: state.position.right, + bottom: state.position.bottom, + left: state.position.left + }" + > + </div> </template>
74-79
: Consider adding a code example for global styles.To make the global styles section more comprehensive, consider adding a code example showing how to declare and use global styles.
/* Example to add */ /* global.css */ .utility-class { /* Common styles that can be reused */ display: flex; align-items: center; justify-content: center; } /* Media query example */ @media screen and (max-width: 768px) { .responsive-class { flex-direction: column; } }
137-141
: Enhance the state selector example.Consider expanding the example to show multiple states:
/* Example to add */ .test1:hover { background-color: #f0f0f0; transform: scale(1.05); } .test1:focus { outline: 2px solid #007bff; } .test1:disabled { opacity: 0.5; cursor: not-allowed; }
1-169
: Overall excellent documentation with room for minor improvements.The documentation provides a comprehensive guide to style settings in TinyEngine with clear explanations, practical examples, and helpful visuals. Consider:
- Adding more comprehensive code examples for global styles and state selectors
- Ensuring consistent code formatting across examples
- Using correct Vue.js terminology (e.g., 'scoped' instead of 'scope')
docs/基础功能/页面管理.md (2)
9-16
: Improve file tree structure consistencyThe file tree structure uses inconsistent indentation and symbols (
|_
vs-
). Consider standardizing the representation for better readability.```bash - project - views - |_ Index.vue - - Page2.vue - - TodoFolder - |_ Todo.vue + ├── Index.vue + ├── Page2.vue + └── TodoFolder + └── Todo.vue
55-55
: Fix typo in image captionThere's a typo in the Chinese text: "声明周期" should be "生命周期" to match the context.
-![声明周期配置](./imgs/lifecycle.gif) +![生命周期配置](./imgs/lifecycle.gif)docs/扩展能力使用教程/出码功能/如何自定义出码.md (1)
32-34
: Consider specifying a package versionFor reproducibility and stability, consider specifying a version in the npm installation command.
-npm install @opentiny/tiny-engine-dsl-vue +npm install @opentiny/tiny-engine-dsl-vue@<version>docs/扩展能力使用教程/开发设置器组件.md (4)
7-7
: Add descriptive alt text for better accessibilityThe image markdown should include a more descriptive alt text to improve accessibility for screen readers.
-![输入框设置器组件](./imgs/input-configurator.png) +![Screenshot showing an example of an input configurator component in the properties panel](./imgs/input-configurator.png)
49-55
: Optimize input filtering logicThe current string manipulation could be simplified using a regular expression test.
const change = (val) => { - value.value = val - .split('') - .filter((c) => /[A-Za-z0-9]/.test(c)) - .join('') + value.value = val.replace(/[^A-Za-z0-9]/g, '') emit('update:modelValue', value.value) }
72-82
: Add validation steps for configurator registrationConsider adding instructions for validating the configurator registration:
- How to verify the configurator is properly registered
- Common troubleshooting steps if the configurator doesn't appear
Example addition:
3. 验证设置器注册 - 检查浏览器控制台是否有注册相关的错误 - 确认设置器名称在 configurators 对象中是否正确导出 - 验证设置器组件是否正确编译
143-144
: Add descriptive alt text for the GIFThe GIF should include a more descriptive alt text for accessibility.
-![自定义输入框设置器组件效果](./imgs/my-input-configurator.gif) +![Demonstration of the custom input configurator component filtering alphanumeric input in the properties panel](./imgs/my-input-configurator.gif)docs/开始/快速上手.md (4)
7-14
: Improve text consistency and version specifications
- Replace full-width characters (⼯, ⼯具) with standard width characters (工, 工具) for better readability.
- Consider using a more flexible version specification for Chrome, such as "Chrome 最新的稳定版本" (latest stable version) to avoid frequent documentation updates.
🧰 Tools
🪛 LanguageTool
[uncategorized] ~14-~14: 动词的修饰一般为‘形容词(副词)+地+动词’。您的意思是否是:必要"地"开发
Context: ...t 代码版本管理⼯具 - chrome浏览器 110+ 版本 - 以及其他必要的开发前端开发环境、⼯具等。 ## 二、Tiny Engine CLI ...(wb4)
40-40
: Enhance image accessibility and reliabilityThe image references should:
- Include meaningful alt text describing the image content
- Use absolute paths or ensure images are committed to the repository
- Consider adding image dimensions for better page layout stability
Example fix for the first image:
-![lowcode-designer](./imgs/tiny-engine-cli.png) +![TinyEngine CLI creating a new low-code designer project](./imgs/tiny-engine-cli.png)Also applies to: 56-56, 70-70, 104-104
124-141
: Improve directory structure formattingAdd language specification to the code block and consider using tree format for better visualization:
-``` +```tree ... ├─ designer-demo # 此处为高度可定制化的低代码平台,即用户自己的低代码设计器 │ ├─ env🧰 Tools
🪛 Markdownlint (0.35.0)
124-124: null
Fenced code blocks should have a language specified(MD040, fenced-code-language)
1-157
: Consider adding these helpful sectionsTo make the documentation more comprehensive, consider adding:
- Troubleshooting guide for common issues
- System requirements (memory, disk space)
- Links to API documentation and advanced topics
- Contributing guidelines
Would you like me to help draft these additional sections?
🧰 Tools
🪛 Markdownlint (0.35.0)
90-90: Column: 1
Hard tabs(MD010, no-hard-tabs)
124-124: null
Fenced code blocks should have a language specified(MD040, fenced-code-language)
🪛 LanguageTool
[uncategorized] ~14-~14: 动词的修饰一般为‘形容词(副词)+地+动词’。您的意思是否是:必要"地"开发
Context: ...t 代码版本管理⼯具 - chrome浏览器 110+ 版本 - 以及其他必要的开发前端开发环境、⼯具等。 ## 二、Tiny Engine CLI ...(wb4)
[uncategorized] ~64-~64: 动词的修饰一般为‘形容词(副词)+地+动词’。您的意思是否是:新"地"插
Context: ... 另起一个终端,在当前目录下,输入下面命令,选择创建plugin类型,创建一个新的插件 ```shell npx @opentiny/tiny-engine-c...(wb4)
[uncategorized] ~102-~102: 动词的修饰一般为‘形容词(副词)+地+动词’。您的意思是否是:新"地"插
Context: ...#### 2.2.3 开发调试插件 重新打开项目页面,可以看到侧边栏多了一个新的插件: ![cli-plugin-open](./imgs/cli-plugi...(wb4)
docs/解决方案/服务端部署方案.md (10)
7-7
: Enhance URL presentation for better readabilityConsider wrapping the MySQL download URL in proper markdown link syntax for better readability and maintainability.
-mysql官网下载 https://dev.mysql.com/downloads/ +mysql官网下载 [MySQL Downloads](https://dev.mysql.com/downloads/)🧰 Tools
🪛 Markdownlint (0.35.0)
7-7: null
Bare URL used(MD034, no-bare-urls)
19-21
: Maintain consistent list style throughout the documentThe document uses mixed list markers (dash and asterisk). Standardize on one style for better maintainability.
-[基础数据SQL文件](https://tinyengine-assets.obs.cn-north-4.myhuaweicloud.com/files/%E5%9F%BA%E7%A1%80%E6%95%B0%E6%8D%AE.sql) - -[自实现数据中心-设计器涉及表](https://tinyengine-assets.obs.cn-north-4.myhuaweicloud.com/files/%E8%87%AA%E5%AE%9E%E7%8E%B0%E6%95%B0%E6%8D%AE%E4%B8%AD%E5%BF%83-%E8%AE%BE%E8%AE%A1%E5%99%A8%E6%B6%89%E5%8F%8A%E8%A1%A8.sql) +* [基础数据SQL文件](https://tinyengine-assets.obs.cn-north-4.myhuaweicloud.com/files/%E5%9F%BA%E7%A1%80%E6%95%B0%E6%8D%AE.sql) + +* [自实现数据中心-设计器涉及表](https://tinyengine-assets.obs.cn-north-4.myhuaweicloud.com/files/%E8%87%AA%E5%AE%9E%E7%8E%B0%E6%95%B0%E6%8D%AE%E4%B8%AD%E5%BF%83-%E8%AE%BE%E8%AE%A1%E5%99%A8%E6%B6%89%E5%8F%8A%E8%A1%A8.sql)🧰 Tools
🪛 Markdownlint (0.35.0)
19-19: Expected: asterisk; Actual: dash
Unordered list style(MD004, ul-style)
21-21: Expected: asterisk; Actual: dash
Unordered list style(MD004, ul-style)
19-21
: Consider versioning SQL files and providing checksumsThe SQL files are hosted on an external cloud service without version information or integrity checks. Consider:
- Adding version information to the SQL files
- Providing SHA256 checksums for verification
- Documenting the schema version compatibility
🧰 Tools
🪛 Markdownlint (0.35.0)
19-19: Expected: asterisk; Actual: dash
Unordered list style(MD004, ul-style)
21-21: Expected: asterisk; Actual: dash
Unordered list style(MD004, ul-style)
42-51
: Enhance security-related documentation for environment variablesFor sensitive environment variables like tokens and keys:
- Add information about required permissions/scopes
- Document secure ways to generate these values
- Include validation patterns where applicable
🧰 Tools
🪛 Markdownlint (0.35.0)
42-42: Expected: leading_only; Actual: leading_and_trailing; Unexpected trailing pipe
Table pipe style(MD055, table-pipe-style)
43-43: Expected: leading_only; Actual: leading_and_trailing; Unexpected trailing pipe
Table pipe style(MD055, table-pipe-style)
44-44: Expected: leading_only; Actual: leading_and_trailing; Unexpected trailing pipe
Table pipe style(MD055, table-pipe-style)
45-45: Expected: leading_only; Actual: leading_and_trailing; Unexpected trailing pipe
Table pipe style(MD055, table-pipe-style)
47-47: Expected: leading_only; Actual: leading_and_trailing; Unexpected trailing pipe
Table pipe style(MD055, table-pipe-style)
48-48: Expected: leading_only; Actual: leading_and_trailing; Unexpected trailing pipe
Table pipe style(MD055, table-pipe-style)
49-49: Expected: leading_only; Actual: leading_and_trailing; Unexpected trailing pipe
Table pipe style(MD055, table-pipe-style)
50-50: Expected: leading_only; Actual: leading_and_trailing; Unexpected trailing pipe
Table pipe style(MD055, table-pipe-style)
51-51: Expected: leading_only; Actual: leading_and_trailing; Unexpected trailing pipe
Table pipe style(MD055, table-pipe-style)
40-95
: Standardize table formatting for better maintainabilityThe tables use inconsistent pipe styling. Consider standardizing the table format:
|变量名称|说明| |---|---| |GIT_USERNAME|应用发布时具备push代码权限的代码仓用户名| -Instead of- |变量名称|说明| |---|---| |GIT_USERNAME|应用发布时具备push代码权限的代码仓用户名||
🧰 Tools
🪛 Markdownlint (0.35.0)
41-41: Expected: leading_only; Actual: leading_and_trailing; Unexpected trailing pipe
Table pipe style(MD055, table-pipe-style)
42-42: Expected: leading_only; Actual: leading_and_trailing; Unexpected trailing pipe
Table pipe style(MD055, table-pipe-style)
43-43: Expected: leading_only; Actual: leading_and_trailing; Unexpected trailing pipe
Table pipe style(MD055, table-pipe-style)
44-44: Expected: leading_only; Actual: leading_and_trailing; Unexpected trailing pipe
Table pipe style(MD055, table-pipe-style)
45-45: Expected: leading_only; Actual: leading_and_trailing; Unexpected trailing pipe
Table pipe style(MD055, table-pipe-style)
47-47: Expected: leading_only; Actual: leading_and_trailing; Unexpected trailing pipe
Table pipe style(MD055, table-pipe-style)
48-48: Expected: leading_only; Actual: leading_and_trailing; Unexpected trailing pipe
Table pipe style(MD055, table-pipe-style)
49-49: Expected: leading_only; Actual: leading_and_trailing; Unexpected trailing pipe
Table pipe style(MD055, table-pipe-style)
50-50: Expected: leading_only; Actual: leading_and_trailing; Unexpected trailing pipe
Table pipe style(MD055, table-pipe-style)
51-51: Expected: leading_only; Actual: leading_and_trailing; Unexpected trailing pipe
Table pipe style(MD055, table-pipe-style)
60-60: Expected: leading_only; Actual: leading_and_trailing; Unexpected trailing pipe
Table pipe style(MD055, table-pipe-style)
61-61: Expected: leading_only; Actual: leading_and_trailing; Unexpected trailing pipe
Table pipe style(MD055, table-pipe-style)
62-62: Expected: leading_only; Actual: leading_and_trailing; Unexpected trailing pipe
Table pipe style(MD055, table-pipe-style)
63-63: Expected: leading_only; Actual: leading_and_trailing; Unexpected trailing pipe
Table pipe style(MD055, table-pipe-style)
64-64: Expected: leading_only; Actual: leading_and_trailing; Unexpected trailing pipe
Table pipe style(MD055, table-pipe-style)
71-71: Expected: leading_only; Actual: leading_and_trailing; Unexpected trailing pipe
Table pipe style(MD055, table-pipe-style)
72-72: Expected: leading_only; Actual: leading_and_trailing; Unexpected trailing pipe
Table pipe style(MD055, table-pipe-style)
73-73: Expected: leading_only; Actual: leading_and_trailing; Unexpected trailing pipe
Table pipe style(MD055, table-pipe-style)
74-74: Expected: leading_only; Actual: leading_and_trailing; Unexpected trailing pipe
Table pipe style(MD055, table-pipe-style)
75-75: Expected: leading_only; Actual: leading_and_trailing; Unexpected trailing pipe
Table pipe style(MD055, table-pipe-style)
82-82: Expected: leading_only; Actual: leading_and_trailing; Unexpected trailing pipe
Table pipe style(MD055, table-pipe-style)
83-83: Expected: leading_only; Actual: leading_and_trailing; Unexpected trailing pipe
Table pipe style(MD055, table-pipe-style)
84-84: Expected: leading_only; Actual: leading_and_trailing; Unexpected trailing pipe
Table pipe style(MD055, table-pipe-style)
85-85: Expected: leading_only; Actual: leading_and_trailing; Unexpected trailing pipe
Table pipe style(MD055, table-pipe-style)
86-86: Expected: leading_only; Actual: leading_and_trailing; Unexpected trailing pipe
Table pipe style(MD055, table-pipe-style)
91-91: Expected: leading_only; Actual: leading_and_trailing; Unexpected trailing pipe
Table pipe style(MD055, table-pipe-style)
92-92: Expected: leading_only; Actual: leading_and_trailing; Unexpected trailing pipe
Table pipe style(MD055, table-pipe-style)
93-93: Expected: leading_only; Actual: leading_and_trailing; Unexpected trailing pipe
Table pipe style(MD055, table-pipe-style)
94-94: Expected: leading_only; Actual: leading_and_trailing; Unexpected trailing pipe
Table pipe style(MD055, table-pipe-style)
95-95: Expected: leading_only; Actual: leading_and_trailing; Unexpected trailing pipe
Table pipe style(MD055, table-pipe-style)
109-113
: Add validation steps for environment configurationConsider adding commands to verify the environment setup:
source ~/.bashrc +# Verify environment variables are set correctly +echo "Verifying environment setup..." +echo "MQ_IP: $MQ_IP" +echo "MQ_PORT: $MQ_PORT"
128-132
: Document common startup issues and troubleshooting stepsConsider adding a troubleshooting section that covers:
- Common npm installation errors and solutions
- Port conflict resolution
- Dependency version mismatch handling
319-319
: Enhance Docker deployment documentationThe note about removing
--daemon
for Docker deployment is crucial. Consider expanding the Docker deployment section to include:
- Example Dockerfile
- Docker Compose configuration
- Container health checks
- Volume mounting guidelines
336-337
: Document port configuration security considerationsThe production port difference (7001 vs 7011) needs more context:
- Add firewall configuration guidelines
- Document recommended proxy settings
- Include SSL/TLS setup instructions
🧰 Tools
🪛 Markdownlint (0.35.0)
336-336: null
Emphasis used instead of a heading(MD036, no-emphasis-as-heading)
338-343
: Remove duplicate SQL file referencesThese SQL file links are duplicates of the ones provided at the beginning of the document. Consider:
- Removing this section
- Or moving all SQL-related content to a dedicated section
docs/基础功能/初识设计器.md (2)
7-7
: Enhance image accessibility with descriptive alt textThe image alt text should provide a clear description of what the interface overview shows, including key components and their layout.
-![设计器界面示例图](./imgs/platformExpend.png) +![设计器界面示例图:展示了顶部工具栏、左侧插件栏、中间画布区和右侧设置面板的整体布局](./imgs/platformExpend.png)
34-36
: Consider expanding plugin descriptionsWhile the list of plugins is comprehensive, users would benefit from brief descriptions of each plugin's core functionality and common use cases.
Consider expanding the content like this:
- 物料插件:提供可拖拽的UI组件库 - 大纲树插件:展示页面组件层级结构 - 页面管理工具插件:管理多页面应用的页面配置 [... other plugins with descriptions ...]docs/新手指引/快速上手.md (1)
26-26
: Consider using code formatting for URLs.Wrap the image URL in backticks for better readability.
Apply this change:
-设置src属性,修改图片地址为:https://res.hc-cdn.com/lowcode-portal/1.1.65/img/home/top-banner.jpg +设置src属性,修改图片地址为:`https://res.hc-cdn.com/lowcode-portal/1.1.65/img/home/top-banner.jpg`docs/教程/第一期2023.10.27.md (4)
3-3
: Format URL using proper markdown syntaxThe bare URL should be formatted using proper markdown link syntax.
-[https://www.bilibili.com/video/BV16j411e7y2/](https://www.bilibili.com/video/BV16j411e7y2/) +[直播答疑视频 (Live Q&A Video)](https://www.bilibili.com/video/BV16j411e7y2/)
5-7
: Fix markdown heading hierarchyThe document structure should follow proper heading hierarchy (h1 -> h2 -> h3). Currently, h3 headings are used directly under h1.
# 直播答疑视频链接 -# 基础功能使用类问题 +## 基础功能使用类问题 -### 问题1:如何使用第三方组件库? +### 问题1:如何使用第三方组件库? -# 功能增强拓展类问题 +## 功能增强拓展类问题Also applies to: 173-175
🧰 Tools
🪛 Markdownlint (0.35.0)
7-7: Expected: h2; Actual: h3
Heading levels should only increment by one level at a time(MD001, heading-increment)
36-51
: Add language specifier to code blockThe code block showing package structure should specify the language for proper syntax highlighting.
- ```js + ```text |_ canvas 负责中间画布渲染 |_ common 公共的组件以及 metaComponent ...
125-125
: Improve Chinese language usage in questionsFor better Chinese language expression in questions, replace "或者" with "还是".
-问题7:在使用 TinyEngine 低代码引擎时,组件内的静态资源(图片或者音频)如何引用? +问题7:在使用 TinyEngine 低代码引擎时,组件内的静态资源(图片还是音频)如何引用? -问题4:TinyEngine 低代码引擎是否提供商业版本或者商业上的技术支持? +问题4:TinyEngine 低代码引擎是否提供商业版本还是商业上的技术支持?Also applies to: 187-187
🧰 Tools
🪛 LanguageTool
[uncategorized] ~125-~125: 表示选择的疑问句中不能使用 “或者” ,请改用:"还是"。
Context: ...## 问题7:在使用 TinyEngine 低代码引擎时,组件内的静态资源(图片或者音频)如何引用? 答:这个问题要分多种情况讨论, - 设计器开发: 可以拉下...(wb3)
docs/基础功能/设计器界面模块简介.md (6)
7-7
: Enhance image accessibility with descriptive alt text.The current alt text "设计器界面示例图" is generic. Consider providing more descriptive alt text that explains the key elements visible in the image.
Apply this diff to improve the alt text:
- ![设计器界面示例图](./imgs/platformExpend.png) + ![设计器界面布局图,展示顶部工具栏、左侧插件栏、中心画布和右侧设置面板的排列](./imgs/platformExpend.png)
25-26
: Consider adding keyboard shortcuts for key actions.For productivity features like undo/redo and fullscreen, consider adding keyboard shortcut information (e.g., Ctrl+Z, F11) to help users work more efficiently.
Apply this diff to add shortcut information:
- - 撤销回退功能,撤销或回退上一步操作 - - 全屏功能,将当前页面全屏(跟网页全屏功能一样) + - 撤销回退功能,撤销或回退上一步操作 (Ctrl+Z / Ctrl+Y) + - 全屏功能,将当前页面全屏 (F11)
34-36
: Add plugin availability and configuration information.Consider adding details about:
- Which plugins are enabled by default
- Any dependencies or prerequisites for specific plugins
- How to enable/disable plugins if applicable
42-42
: Enhance canvas interaction documentation.Consider adding details about:
- Drag-and-drop gestures and indicators
- Keyboard navigation within the canvas
- Component alignment and snapping features
- Multi-select operations
48-54
: Add practical examples for common configurations.Consider enhancing this section with:
- Common property configurations for frequently used components
- Example CSS snippets for typical styling needs
- Step-by-step examples of event binding
62-62
: Expand node tree functionality documentation.Consider adding information about:
- Node reordering capabilities
- Keyboard shortcuts for node navigation
- Node search/filter functionality
- Node visibility toggling
docs/扩展能力使用教程/出码功能/自定义页面出码插件.md (5)
1-3
: Consider enhancing the documentation structure with additional sections.The documentation is well-organized but could benefit from:
- Adding a table of contents for easier navigation
- Including a "Prerequisites" section
- Adding a "Quick Start" section with basic examples
Also applies to: 45-47
141-147
: Add error handling to the component name transformation example.The component name transformation should include validation and error handling.
function handleComponentName(optionData) { + if (!optionData || typeof optionData.componentName !== 'string') { + return; + } if (optionData.componentName === 'Text') { optionData.componentName = 'span' } }
292-299
: Consider adding validation for statement insertion.The statement insertion example should demonstrate validation of the position and value parameters.
globalHooks.addStatement({ position: 'AFTER_IMPORT', value: 'const test = "hello world"', key: 'test' + // Add validation + validate: (value) => { + return typeof value === 'string' && value.trim().length > 0; + } })
465-478
: Enhance interface documentation with JSDoc comments.The
IConfig
interface would benefit from detailed JSDoc documentation for each property.+/** + * Configuration interface for the code generation plugin + * @interface IConfig + */ interface IConfig { + /** + * Plugin-specific configuration options + * @property {Object} pluginConfig + */ pluginConfig: { page: { + /** Base path for page components */ pageBasePath: string; // 默认为 './src/views' sfcConfig: ISFCConfig; }, // ... } }
461-462
: Add security considerations section to the API documentation.Consider adding a section that covers:
- Input validation best practices
- Safe code generation practices
- Common security pitfalls to avoid
docs/基础功能/使用状态管理和变量绑定.md (1)
17-17
: Improve code formattingThe inline code reference could be more consistently formatted.
Consider adding spaces around the code reference:
-我们添加的 state 通常是一个可以随不同状态有不同值的变量,如果想要改变 state,可以在 JS 面板中通过 `this.state.xxx` 获取到 state并且改变之。 +我们添加的 state 通常是一个可以随不同状态有不同值的变量,如果想要改变 state,可以在 JS 面板中通过 ` this.state.xxx ` 获取到 state 并且改变之。docs/关于物料/介绍.md (1)
7-8
: Consider adding cross-referencesThe documentation mentions component libraries and blocks but doesn't link to their detailed documentation.
Consider adding links to related documentation:
- Link to component library documentation when mentioning "组件库"
- Link to block management documentation when discussing block customization
docs/API/全局布局API.md (2)
39-39
: Remove empty headingThere appears to be an empty heading at the end of the document. Please either remove it or add the intended content.
24-35
: Enhance API documentation with parameter detailsThe API documentation would benefit from more detailed descriptions of parameters and return values. Consider adding:
- Parameter types and constraints
- Return value descriptions
- Usage examples for each API method
Example enhancement for
activePlugin
:- activePlugin, // 激活plugin面板,参数(插件名,是否激活对应面板) + activePlugin, // 激活plugin面板 + // @param {string} pluginName - 插件名称 + // @param {boolean} isActive - 是否激活对应面板 + // @returns {void} + // @example + // activePlugin('myPlugin', true)docs/解决方案/物料同步方案.md (1)
34-34
: Enhance environment configuration documentationLine 34 mentions configuration in
.env.local
but doesn't specify the required variables. Consider adding:
- List of required environment variables
- Example configuration values
- Description of each configuration option
Example addition:
配置示例 (.env.local): DB_HOST=localhost DB_PORT=3306 DB_USER=your_username DB_PASSWORD=your_password DB_NAME=your_databasedocs/开始/简介.md (1)
28-35
: Consider adding specific examples for each orchestration typeThe platform capabilities section would benefit from more concrete examples or code snippets demonstrating each type of orchestration (图元编排, 流程编排, 页面编排).
docs/实战案例/SMB轻量应用服务.md (1)
30-34
: Consider adding code examples for lifecycle functionsThe section about block lifecycle functions would be more helpful with concrete code examples showing how to implement these functions.
docs/基础功能/设计前端应用流程.md (1)
25-28
: Consider adding validation error messagesThe page creation section lists several format requirements. It would be helpful to include examples of the error messages users might encounter when validation fails.
docs/扩展能力介绍/元服务和元应用.md (3)
18-28
: Enhance Vue code example with TypeScript types and commentsThe Vue example would benefit from TypeScript types and additional comments explaining the
getMergeMeta
function's parameters and return type.<script setup> +// Import types from tiny-engine +import type { MetaComponent } from '@opentiny/tiny-engine-types' import { getMergeMeta } from '@opentiny/tiny-engine-meta-register' -// 获取元应用 +// Get meta application entry component +// comp: MetaComponent - The meta component configuration const entry = getMergeMeta(comp).entry </script>
58-74
: Add type definitions and improve service documentationThe Meta Service example would be clearer with TypeScript interfaces and documentation for the service APIs.
+interface MetaServiceAPI { + parseRequiredBlocks: (blocks: any) => any; + getAllNestedBlocksSchema: () => any; + generatePageCode: () => string; + generateAppCode: () => string; +} +interface MetaService { + id: string; + type: 'MetaService'; + options: Record<string, any>; + apis: MetaServiceAPI; +} export const GenerateCodeService = { id: 'engine.service.generateCode', type: 'MetaService', options: {}, apis: { + // Parse required blocks for code generation parseRequiredBlocks, + // Get schema for all nested blocks getAllNestedBlocksSchema, + // Generate code for a single page generatePageCode, + // Generate code for entire application generateAppCode } }
1-11
: Consider adding architectural diagramThe documentation would benefit from a visual representation showing the relationship between Meta Applications and Meta Services, helping users better understand the separation of concerns.
Consider adding a diagram after the introduction section to illustrate how Meta Applications interact with Meta Services.
docs/基础功能/使用组件.md (1)
20-20
: Fix Chinese grammar in explanationThe sentence contains a grammatical error in the usage of "好的".
-直接拖拽并不能很好的拖入到指定的层级中 +直接拖拽并不能很好地拖入到指定的层级中🧰 Tools
🪛 LanguageTool
[uncategorized] ~20-~20: 动词的修饰一般为‘形容词(副词)+地+动词’。您的意思是否是:好"地"拖
Context: ...# 从画布中直接添加组件 对于复杂的页面,嵌套层级可能很深,直接拖拽并不能很好的拖入到指定的层级中,所以,设计器提供在画布中右键精准添加组件的能力。 1. 画...(wb4)
docs/基础功能/国际化.md (1)
72-72
: Enhance i18n usage exampleThe documentation would benefit from more examples showing i18n usage in different contexts.
Consider adding examples for:
- Using i18n in component props
- Dynamic translations with variables
- Handling pluralization
- Date and number formatting
🧰 Tools
🪛 Markdownlint (0.35.0)
72-72: null
Link fragments should be valid(MD051, link-fragments)
docs/API/设置面板API.md (3)
1-1
: Fix formatting: Replace hard tabs with spacesReplace the hard tab in the title line with spaces to maintain consistent formatting.
-# 设置面板模块API +# 设置面板模块API🧰 Tools
🪛 Markdownlint (0.35.0)
1-1: Column: 12
Hard tabs(MD010, no-hard-tabs)
5-5
: Improve language claritySimplify the expression by removing redundant words.
-变量绑定列表中的变量可能来自于其他元应用。 +变量绑定列表中的变量可能来自其他元应用。🧰 Tools
🪛 LanguageTool
[uncategorized] ~5-~5: 成分累赘: “来自” “于” 不一起使用,请删除 “于”:"来自"。
Context: # 设置面板模块API ## 变量绑定 变量绑定列表中的变量可能来自于其他元应用。 目前提供一种在元应用中注册变量绑定列表来源的方法:首先在元应用配...(wb2)
97-97
: Add alt text for imageEnhance accessibility by providing descriptive alt text for the image.
-![bindEvent]( ./imgs/bindEventApi.png) +![事件绑定对话框界面]( ./imgs/bindEventApi.png)docs/生态中心/如何导入组件库.md (2)
30-36
: Add blank lines around tableImprove markdown formatting by adding blank lines before and after the table.
![基本信息](./imgs/componentConfigBase.png) + | 字段名称 | 描述 | | --- | --- | | 组件ID | 决定组件的使用方式<tiny-input></tiny-input> | | 组件名称 | 设计器物料面板中组件显示的名称 | | 图标 | 设计器物料面板中组件显示的图标 | | schema片段 | [决定组件在画布上的显示效果](./imgs/componentConfigSchema.png) | | 组件属性 | 包含属性、事件、插槽,对应设计器中右侧属性面板可配置的属性、插槽及高级面板中的事件配置 | +🧰 Tools
🪛 Markdownlint (0.35.0)
30-30: null
Tables should be surrounded by blank lines(MD058, blanks-around-tables)
17-17
: Add hyperlink to ESModule documentationEnhance the documentation by providing a direct link to the ESModule specification.
-| JS文件CDN | 必填,[ESModule格式](https://tc39.es/ecma262/#sec-modules)的JS文件CDN地址,如果地址错误或文件不可用将导致画布无法渲染组件。 | +| JS文件CDN | 必填,[ESModule格式](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Guide/Modules)的JS文件CDN地址,如果地址错误或文件不可用将导致画布无法渲染组件。 |docs/扩展能力使用教程/定制元服务逻辑.md (2)
21-23
: Add type annotations and documentationConsider adding TypeScript type annotations and JSDoc comments to improve code maintainability.
+/** @type {ServiceOptions} */ GlobalService.options = { + /** @type {string} Custom URL for the service */ url: 'custom url' }
89-94
: Add error handling for event subscriptionConsider adding error handling for the event callback to improve robustness.
subscribe({ topic: 'custom_event', callback: (data) => { + try { // 回调逻辑 + } catch (error) { + console.error('Error processing custom_event:', error); + } } })docs/扩展能力介绍/注册表.md (1)
19-44
: Consider adding TypeScript type definitions for better documentation.The registry configuration example would benefit from TypeScript type definitions to clearly document the expected shape and types of each property.
interface RegistryConfig { root: { id: string; metas: Array<typeof Service>; }; config: typeof engineConfig; layout: { options: Record<string, unknown>; }; themes: Array<{ id: string; }>; toolbars: Array<typeof Plugin>; plugins: Array<typeof Plugin>; settings: Array<typeof Plugin>; Canvas: typeof Canvas; }docs/进阶功能/使用JS面板和事件绑定.md (1)
53-55
: Document the purpose and behavior of thewrap
function.The example shows usage of a
wrap
function that's crucial for the functionality, but its purpose and behavior are not explained. Consider adding documentation about:
- What the wrap function does
- Why it's necessary
- How it affects the wrapped functions
docs/API/物料API.md (1)
83-98
: Enhance API method documentation with return types and examples.The API methods would benefit from explicit return type documentation and usage examples for each method. Consider adding:
- Return type for each method
- Parameter types
- Example usage for complex methods like
generateNode
andupdateCanvasDependencies
{ // Initialize material module initMaterial: (options: { isInit: boolean, appData: AppData }) => Promise<void>, // Generate component schema node generateNode: (component: { type: string, componentName: string }) => SchemaNode, // Update canvas dependencies updateCanvasDependencies: (block: Block) => Promise<void>, // ... (document other methods similarly) }docs/index.md (1)
1-104
: LGTM! Well-structured documentation hierarchy.The table of contents is logically organized with clear categorization and consistent formatting. The four main sections (使用指南, 网站文档, 平台开发指南, and 实战案例) provide an intuitive navigation structure.
Consider adding a brief description under each main section header to help users quickly understand what content they can expect to find in each section.
docs/实战案例/图元编排设计器.md (1)
19-19
: Consider revising Chinese grammar in several locations.The following grammar improvements are suggested based on Chinese language conventions:
- Line 19: Consider rephrasing "每一个云服务" to "每一项云服务"
- Line 68: Add "地" after "完备"
- Line 74: Add "地" after "一定"
- Line 121: Add "地" after "快速"
- Line 127: Add "地" after "优秀"
Also applies to: 68-68, 74-74, 121-121, 127-127
🧰 Tools
🪛 LanguageTool
[uncategorized] ~19-~19: “个”不能与“云”搭配,可改为:"每"一朵"云"
Context: ...计器,顺利生成资源模板,实现一键部署。 考虑到需要支持大量的云服务资源,同时每一个云服务资源需要配置的属性也是不一样的,因而采用传统开发方式,为每一种云服务资源开...(wa5)
docs/进阶功能/如何使用插槽.md (1)
147-165
: LGTM! Well-structured slot configuration schema.The JSON schema example clearly illustrates how to define slots in material configuration.
Consider adding a brief example of how this schema translates to the actual Vue component implementation for better clarity.
docs/实战案例/PDM元数据审批电子流.md (2)
17-17
: Add descriptive alt text for better accessibility.The image tag should include meaningful alternative text to improve accessibility.
- <img src="./imgs/process.png" style="width:60%;"> + <img src="./imgs/process.png" style="width:60%;" alt="PDM metadata approval flow process diagram">🧰 Tools
🪛 Markdownlint (0.35.0)
17-17: null
Images should have alternate text (alt text)(MD045, no-alt-text)
29-29
: Replace generic alt text with descriptive text.The image uses a generic "avatar" alt text which should be replaced with a meaningful description.
-![avatar](./imgs/pdm.png) +![PDM metadata approval system architecture diagram](./imgs/pdm.png)docs/进阶功能/使用工具类方法 utils.md (1)
153-156
: Consider adding type checking in the isNil function.The current implementation might lead to unexpected results with falsy values. Consider using strict equality for more precise null checking.
function isNil(value) { - return value == null + return value === null || value === undefined }docs/扩展能力使用教程/出码功能/官方出码能力API.md (2)
36-39
: Fix interface naming convention.TypeScript interface names should use PascalCase.
-interface codeGenInstance { +interface CodeGenInstance { generate(IAppSchema): ICodeGenResult }
171-177
: Add error handling for file operations.The example code should demonstrate proper error handling for the file replacement operation.
- this.replaceFile({ + const success = this.replaceFile({ path: './src/test.js', fileContent: 'function foo() { console.log("hello world") }', fileType: 'js', fileName: 'test.js' } ) + if (!success) { + this.addLog('Failed to replace file: ./src/test.js') + }docs/API/画布API.md (3)
3-4
: Fix heading hierarchyThe heading hierarchy should be properly structured. After h1, the next level should be h2.
-### 元服务useCanvas +## 元服务useCanvas🧰 Tools
🪛 Markdownlint (0.35.0)
3-3: Expected: h2; Actual: h3
Heading levels should only increment by one level at a time(MD001, heading-increment)
7-23
: Add language specifier to code blockThe code block should specify the language for proper syntax highlighting.
-``` +```json🧰 Tools
🪛 Markdownlint (0.35.0)
7-7: null
Fenced code blocks should have a language specified(MD040, fenced-code-language)
53-54
: Improve documentation clarity for setState methodThe
setState
method has a typo in the documentation (extra comma) and lacks description.- setState,,// 转接的方法, 调用render的setState + setState, // 转接的方法,调用render的setState,用于更新组件状态Also applies to: 75-75
docs/API/后端API/DSL代码生成.md (1)
15-24
: Add error handling documentationThe code example should include error handling for file operations and generateCode method calls.
const { generateCode } = require('@opentiny/tiny-engine-dsl-ng-tiny/lib/generate-code.js') +try { const result = generateCode({ pageInfo, blocksData }) - result.forEach((item) => fs.writeFileSync(`dist/${item.filePath}/${item.panelName}`, item.panelValue)) + result.forEach((item) => { + const dir = `dist/${item.filePath}` + if (!fs.existsSync(dir)) { + fs.mkdirSync(dir, { recursive: true }) + } + fs.writeFileSync(`${dir}/${item.panelName}`, item.panelValue) + }) +} catch (error) { + console.error('Code generation failed:', error) + throw error +}docs/API/主包API.md (2)
3-4
: Add version compatibility informationInclude version compatibility information and minimum requirements for the main package and its dependencies.
Add a section like:
## Compatibility - Minimum Node.js version: X.Y.Z - Compatible TinyEngine versions: X.Y.Z and above - Browser compatibility: Modern browsers (Chrome X+, Firefox Y+, Safari Z+)
157-166
: Document initialization sequenceAdd information about the correct sequence of initialization and any prerequisites.
2. `defineEntry`:提供了defineEntry函数,作为注册表的注册入口,能够将用户注册表注册到TinyEngine中,如: + +注意:在调用 defineEntry 之前,请确保: +1. 所有必需的插件已经加载 +2. 配置对象已经正确初始化 +3. 环境变量已经设置 + ```js import registry from '../registry.js' import { defineEntry } from '@opentiny/tiny-engine'docs/扩展能力使用教程/出码功能/如何自定义出码插件.md (1)
Line range hint
267-293
: Add error handling and resource cleanup in publish functionThe file processing loop lacks error handling and proper resource cleanup.
Implement proper error handling:
private async publish(folder, blockInfo, version): Promise<any> { + try { // ... existing code ... for(const file of files) { - const fileContent = await fs.readFile(path.join(folder, file)); + try { + const fileContent = await fs.readFile(path.join(folder, file)); const base64Data = fileContent.toString('base64'); // ... rest of the code ... + } catch (err) { + this.logger.error(`Failed to process file ${file}: ${err.message}`); + throw err; + } } return this.filterFiles(files, prefix); + } catch (error) { + this.logger.error(`Publication failed: ${error.message}`); + throw error; + } }docs/解决方案/设计器中引入第三方组件库.md (3)
1-41
: Consider enhancing the document structure with additional formatting.The content is well-organized, but readability could be improved by:
- Adding a table of contents at the beginning
- Using consistent heading levels
- Adding more line breaks between sections
🧰 Tools
🪛 LanguageTool
[uncategorized] ~10-~10: 动词的修饰一般为‘形容词(副词)+地+动词’。您的意思是否是:进一步"地"解释
Context: ...ts、组件面板配置snippets。下面将在协议基础上对核心字段作进一步的解释,可以打开源码中物料资产包文件(packages\design-core\p...(wb4)
42-169
: Consider adding validation rules and constraints documentation.The JSON examples are comprehensive, but would benefit from additional documentation about:
- Valid value ranges for numeric fields
- Format requirements for string fields
- Required field combinations or dependencies
170-454
: Consider adding error handling documentation.The material package example would benefit from:
- Common error scenarios and their solutions
- Validation error examples
- Troubleshooting guide for preview issues
docs/API/后端API/AI功能接口.md (1)
15-16
: Consider adding more error response examples.The error response section would be more helpful with:
- Examples for different error scenarios
- Error code listing and descriptions
- Handling strategies for each error type
docs/API/后端API/APP服务.md (2)
68-72
: Add example values for better clarityThe
type
parameter example shows "Block" but the备注 (remarks) shows "Page". This could be confusing for developers. Consider clarifying the valid values and their use cases.
1-117
: Add missing alt text to HTML tablesThe HTML tables lack accessibility attributes. Consider adding appropriate ARIA labels and alt text for better accessibility.
Add
aria-label
attributes to tables, for example:-<table> +<table aria-label="Request Parameters">🧰 Tools
🪛 Markdownlint (0.35.0)
87-87: null
Multiple headings with the same content(MD024, no-duplicate-heading)
96-96: null
Multiple headings with the same content(MD024, no-duplicate-heading)
108-108: null
Multiple headings with the same content(MD024, no-duplicate-heading)
19-19: null
Emphasis used instead of a heading(MD036, no-emphasis-as-heading)
25-25: null
Emphasis used instead of a heading(MD036, no-emphasis-as-heading)
64-64: null
Emphasis used instead of a heading(MD036, no-emphasis-as-heading)
98-98: null
Emphasis used instead of a heading(MD036, no-emphasis-as-heading)
🪛 LanguageTool
[misspelling] ~51-~51: Use “an” instead of ‘a’ if the following word starts with a vowel sound, e.g. ‘an article’, ‘an hour’.
Context: ... ## 获取页面/区块源码 ### 基本信息 Path:...(EN_A_VS_AN)
[misspelling] ~85-~85: Use “an” instead of ‘a’ if the following word starts with a vowel sound, e.g. ‘an article’, ‘an hour’.
Context: ... ## 页面/区块预览用元数据 ### 基本信息 **Path:...(EN_A_VS_AN)
docs/API/后端API/数据源管理.md (2)
149-151
: Add example and description for template ID parameterThe
id
parameter in the delete template endpoint lacks an example value and description. Consider adding these details for completeness.
1-266
: Document error responses and status codesThe API documentation would benefit from including possible error responses and HTTP status codes for each endpoint.
Consider adding a section for each endpoint that describes:
- Success status codes
- Error status codes
- Error response format
- Common error scenarios
🧰 Tools
🪛 Markdownlint (0.35.0)
18-18: null
Emphasis used instead of a heading(MD036, no-emphasis-as-heading)
24-24: null
Emphasis used instead of a heading(MD036, no-emphasis-as-heading)
30-30: null
Emphasis used instead of a heading(MD036, no-emphasis-as-heading)
69-69: null
Emphasis used instead of a heading(MD036, no-emphasis-as-heading)
75-75: null
Emphasis used instead of a heading(MD036, no-emphasis-as-heading)
114-114: null
Emphasis used instead of a heading(MD036, no-emphasis-as-heading)
147-147: null
Emphasis used instead of a heading(MD036, no-emphasis-as-heading)
180-180: null
Emphasis used instead of a heading(MD036, no-emphasis-as-heading)
215-215: null
Emphasis used instead of a heading(MD036, no-emphasis-as-heading)
250-250: null
Emphasis used instead of a heading(MD036, no-emphasis-as-heading)
docs/基础功能/查看大纲树.md (2)
5-5
: Add alt text to icon imageThe icon image lacks alt text which is important for accessibility.
-![](./imgs/icon-tree.png) +![Outline Tree Icon](./imgs/icon-tree.png)🧰 Tools
🪛 Markdownlint (0.35.0)
5-5: null
Images should have alternate text (alt text)(MD045, no-alt-text)
1-9
: Enhance documentation with additional contextThe documentation would benefit from:
- A brief introduction explaining what the outline tree is and its purpose
- Expected outcome or result after following the steps
- Any related features or functionalities
🧰 Tools
🪛 Markdownlint (0.35.0)
5-5: null
Images should have alternate text (alt text)(MD045, no-alt-text)
8-8: null
Images should have alternate text (alt text)(MD045, no-alt-text)
docs/关于应用/开发应用.md (2)
7-7
: Add descriptive alt text to images for accessibility.Images should include alt text to improve accessibility. Consider adding descriptive alt text:
-![view-app1]( ./imgs/appDevOne.png) +![Application development interface showing the "My Applications" section]( ./imgs/appDevOne.png) -![view-app2]( ./imgs/appDevTwo.png) +![Visual designer interface for application development]( ./imgs/appDevTwo.png)Also applies to: 11-11
9-10
: Use proper heading format instead of bold text.Convert the bold text to a proper heading for better document structure:
-**可视化设计器** +### 可视化设计器🧰 Tools
🪛 Markdownlint (0.35.0)
9-9: null
Emphasis used instead of a heading(MD036, no-emphasis-as-heading)
docs/生态中心/发布其他生态.md (3)
1-1
: Fix heading format by removing leading space.Remove the leading space before the heading for proper Markdown formatting:
- ## 如何发布其他生态 +## 如何发布其他生态🧰 Tools
🪛 Markdownlint (0.35.0)
1-1: null
Headings must start at the beginning of the line(MD023, heading-start-left)
4-4
: Add descriptive alt text to image for accessibility.Add alt text that describes the image content:
-![](./imgs/ecology3.png) +![Plugin publishing interface showing repository address, version, and visibility settings](./imgs/ecology3.png)🧰 Tools
🪛 Markdownlint (0.35.0)
4-4: null
Images should have alternate text (alt text)(MD045, no-alt-text)
7-8
: Improve language clarity in passive voice constructions.Consider revising these sentences for better clarity:
-被标识为官方的插件会显示"官方"字样 -被标识为默认的插件会在创建设计器时默认被选中 +标识为官方的插件会显示"官方"字样 +标识为默认的插件会在创建设计器时自动选中🧰 Tools
🪛 LanguageTool
[uncategorized] ~7-~7: 能愿动词不能成为‘把’字句、‘被’字句的谓语动词。应该是:"会被……标识"。
Context: ...为插件 npm 包所在的仓库地址 版本号决定了安装哪一个版本的 npm 包 被标识为官方的插件会显示“官方”字样 被标识为默认的插件会在创建设计器时默认被选中 公开决定了插...(wa3)
[uncategorized] ~8-~8: 能愿动词不能成为‘把’字句、‘被’字句的谓语动词。应该是:"会被……标识"。
Context: ...号决定了安装哪一个版本的 npm 包 被标识为官方的插件会显示“官方”字样 被标识为默认的插件会在创建设计器时默认被选中 公开决定了插件的可见范围,私有代表仅自己可见,公开代...(wa3)
docs/关于物料/创建物料资产包.md (2)
8-8
: Improve clarity with proper quantifiers.Consider revising the sentence for better clarity:
-物料资产包版本是用户自定义的,用户可以将物料资产包回退到任一版本。 +物料资产包版本是用户自定义的,用户可以将物料资产包回退到任意一个版本。🧰 Tools
5-6
: Consider adding a numbered step list for better readability.While the current format is clear, consider using a numbered list to make the steps more explicit:
-用户可以在生态中心创建物料资产包,*新建物料资产包* → *填写必要的字段* → *保存。* +用户可以在生态中心创建物料资产包,步骤如下: +1. 新建物料资产包 +2. 填写必要的字段 +3. 保存 当前支持Vue和Angular两种技术栈,用户可以任意选择。当用户选择了Vue技术栈时,则只能添加Vue的组件与区块,不能添加Angular的组件库与区块。docs/生态中心/介绍.md (1)
5-5
: Add alt text to improve accessibilityThe ecosystem diagram should include alternative text to improve accessibility for screen readers.
-![](./imgs/ecology1.png) +![TinyEngine生态中心架构图,展示物料、插件、工具栏、主题和DSL五大生态系统及其关系](./imgs/ecology1.png)🧰 Tools
🪛 Markdownlint (0.35.0)
5-5: null
Images should have alternate text (alt text)(MD045, no-alt-text)
docs/基础功能/页面和区块预览.md (2)
9-9
: Enhance image alt text descriptionsThe current generic "Alt text" should be replaced with descriptive text that explains what each image shows.
-![Alt text](./imgs/preview-btn.png) +![页面和区块预览功能的入口按钮位置](./imgs/preview-btn.png) -![Alt text](./imgs/preview-pre.png) +![设计器画布中显示的页面结构示例](./imgs/preview-pre.png) -![Alt text](./imgs/preview.png) +![预览模式下的最终页面渲染效果](./imgs/preview.png)Also applies to: 15-15, 19-19
5-5
: Suggested grammar improvementsConsider these refinements to improve the Chinese grammar:
- "最终的表现" → "最终地表现"
- "很是困难" → "非常困难"
🧰 Tools
🪛 LanguageTool
[uncategorized] ~5-~5: 动词的修饰一般为‘形容词(副词)+地+动词’。您的意思是否是:最终"地"表现
Context: ... 在一些场景下,设计器的画布并不能使得我们直观的感受到所设计的区块或者页面最终的表现。比如说,当页面上区块和组件应用层次较多,区块之间或者组件之间交互行为较为复...(wb4)
[uncategorized] ~5-~5: 您不可用“是”来表达个形容词。大部分人都平常用“很”来代替“是”。您是不是想表达"很困难"?
Context: ...组件之间交互行为较为复杂时,我们在画布上去清晰的感知页面的静态布局以及动态交互很是困难,这时候就需要设计器的页面/区块预览能力来为开发提供帮助 ### 页面...(SHI_ADHECTIVE_ERROR)
📜 Review details
Configuration used: CodeRabbit UI
Review profile: CHILL
⛔ Files ignored due to path filters (227)
docs/API/imgs/bindEventApi.png
is excluded by!**/*.png
docs/关于应用/imgs/appCreateOne.png
is excluded by!**/*.png
docs/关于应用/imgs/appCreateTwo.png
is excluded by!**/*.png
docs/关于应用/imgs/appDevOne.png
is excluded by!**/*.png
docs/关于应用/imgs/appDevTwo.png
is excluded by!**/*.png
docs/关于物料/imgs/createMaterial.gif
is excluded by!**/*.gif
docs/关于物料/imgs/createMaterialBlock.png
is excluded by!**/*.png
docs/关于物料/imgs/createMaterialBlockCancel.png
is excluded by!**/*.png
docs/关于物料/imgs/createMaterialLib.png
is excluded by!**/*.png
docs/关于物料/imgs/createMaterialLibCancel.png
is excluded by!**/*.png
docs/关于物料/imgs/materialPanel.png
is excluded by!**/*.png
docs/关于设计器/imgs/buildPlatform1.png
is excluded by!**/*.png
docs/关于设计器/imgs/buildPlatform2.png
is excluded by!**/*.png
docs/关于设计器/imgs/createPlatform.png
is excluded by!**/*.png
docs/关于设计器/imgs/defineDsl.png
is excluded by!**/*.png
docs/关于设计器/imgs/defineMaterial.png
is excluded by!**/*.png
docs/关于设计器/imgs/definePlugs.png
is excluded by!**/*.png
docs/关于设计器/imgs/defineTheme.png
is excluded by!**/*.png
docs/关于设计器/imgs/defineTools.png
is excluded by!**/*.png
docs/关于设计器/imgs/platformExpend.png
is excluded by!**/*.png
docs/基础功能/imgs/addComponent-13.png
is excluded by!**/*.png
docs/基础功能/imgs/addFolder.png
is excluded by!**/*.png
docs/基础功能/imgs/addPage.png
is excluded by!**/*.png
docs/基础功能/imgs/addVar.png
is excluded by!**/*.png
docs/基础功能/imgs/addWords.png
is excluded by!**/*.png
docs/基础功能/imgs/bindVariable-25.png
is excluded by!**/*.png
docs/基础功能/imgs/canvasoverview.png
is excluded by!**/*.png
docs/基础功能/imgs/choseClickCompontes.png
is excluded by!**/*.png
docs/基础功能/imgs/choseComponent.png
is excluded by!**/*.png
docs/基础功能/imgs/choseComponentID.png
is excluded by!**/*.png
docs/基础功能/imgs/choseFile.png
is excluded by!**/*.png
docs/基础功能/imgs/clickNode.png
is excluded by!**/*.png
docs/基础功能/imgs/componentDown.png
is excluded by!**/*.png
docs/基础功能/imgs/componentUp.png
is excluded by!**/*.png
docs/基础功能/imgs/copyComponent.png
is excluded by!**/*.png
docs/基础功能/imgs/copyKeyValue.png
is excluded by!**/*.png
docs/基础功能/imgs/createApp.png
is excluded by!**/*.png
docs/基础功能/imgs/createFolder.png
is excluded by!**/*.png
docs/基础功能/imgs/createPage.png
is excluded by!**/*.png
docs/基础功能/imgs/delBatchWord.png
is excluded by!**/*.png
docs/基础功能/imgs/delWord.png
is excluded by!**/*.png
docs/基础功能/imgs/deleteClassNameNew.gif
is excluded by!**/*.gif
docs/基础功能/imgs/dragComponent.gif
is excluded by!**/*.gif
docs/基础功能/imgs/editClassNameNew.gif
is excluded by!**/*.gif
docs/基础功能/imgs/editClassNameStatic.png
is excluded by!**/*.png
docs/基础功能/imgs/editGlobalStyleNew.gif
is excluded by!**/*.gif
docs/基础功能/imgs/editWord.png
is excluded by!**/*.png
docs/基础功能/imgs/eventOverview.png
is excluded by!**/*.png
docs/基础功能/imgs/icon-add.png
is excluded by!**/*.png
docs/基础功能/imgs/icon-code.png
is excluded by!**/*.png
docs/基础功能/imgs/icon-copy.png
is excluded by!**/*.png
docs/基础功能/imgs/icon-del.png
is excluded by!**/*.png
docs/基础功能/imgs/icon-edit.png
is excluded by!**/*.png
docs/基础功能/imgs/icon-i18n.png
is excluded by!**/*.png
docs/基础功能/imgs/icon-page.png
is excluded by!**/*.png
docs/基础功能/imgs/icon-tree.png
is excluded by!**/*.png
docs/基础功能/imgs/inlineSettingResultNew.png
is excluded by!**/*.png
docs/基础功能/imgs/inlineStyleBindVar.gif
is excluded by!**/*.gif
docs/基础功能/imgs/inlineStyleSettingNew.gif
is excluded by!**/*.gif
docs/基础功能/imgs/inserPosition.png
is excluded by!**/*.png
docs/基础功能/imgs/insertComponent.gif
is excluded by!**/*.gif
docs/基础功能/imgs/lifecycle.gif
is excluded by!**/*.gif
docs/基础功能/imgs/modifyStyle.png
is excluded by!**/*.png
docs/基础功能/imgs/modifyVar.png
is excluded by!**/*.png
docs/基础功能/imgs/modifyedStyle.png
is excluded by!**/*.png
docs/基础功能/imgs/pageManaHistoryRestore.png
is excluded by!**/*.png
docs/基础功能/imgs/pageManaIndex.png
is excluded by!**/*.png
docs/基础功能/imgs/pagedelOrCopy.png
is excluded by!**/*.png
docs/基础功能/imgs/platformExpend.png
is excluded by!**/*.png
docs/基础功能/imgs/pluginoverview.png
is excluded by!**/*.png
docs/基础功能/imgs/preview-btn.png
is excluded by!**/*.png
docs/基础功能/imgs/preview-pre.png
is excluded by!**/*.png
docs/基础功能/imgs/preview.png
is excluded by!**/*.png
docs/基础功能/imgs/selectClassNameNew.gif
is excluded by!**/*.gif
docs/基础功能/imgs/selectParentID.png
is excluded by!**/*.png
docs/基础功能/imgs/setClassNameNew.gif
is excluded by!**/*.gif
docs/基础功能/imgs/setClassNameStatic.png
is excluded by!**/*.png
docs/基础功能/imgs/setCompoentAttr.png
is excluded by!**/*.png
docs/基础功能/imgs/setCompoentBaseAttr.png
is excluded by!**/*.png
docs/基础功能/imgs/setCompoentStyle.png
is excluded by!**/*.png
docs/基础功能/imgs/setStyleHoverNew.gif
is excluded by!**/*.gif
docs/基础功能/imgs/settingPanelOverview.png
is excluded by!**/*.png
docs/基础功能/imgs/state1.gif
is excluded by!**/*.gif
docs/基础功能/imgs/state2.gif
is excluded by!**/*.gif
docs/基础功能/imgs/state3.png
is excluded by!**/*.png
docs/基础功能/imgs/stylePanelOverview.png
is excluded by!**/*.png
docs/基础功能/imgs/styleSettingNew.gif
is excluded by!**/*.gif
docs/基础功能/imgs/styleSettingResult1.png
is excluded by!**/*.png
docs/基础功能/imgs/styleSettingResult2.png
is excluded by!**/*.png
docs/基础功能/imgs/styleSettingStatic.png
is excluded by!**/*.png
docs/基础功能/imgs/toolbaroverview.png
is excluded by!**/*.png
docs/基础功能/imgs/treeselectOverview.png
is excluded by!**/*.png
docs/实战案例/imgs/app.png
is excluded by!**/*.png
docs/实战案例/imgs/blockProps.png
is excluded by!**/*.png
docs/实战案例/imgs/blockSettings.png
is excluded by!**/*.png
docs/实战案例/imgs/code.png
is excluded by!**/*.png
docs/实战案例/imgs/download.png
is excluded by!**/*.png
docs/实战案例/imgs/image-20230919202709-5khs9h1.png
is excluded by!**/*.png
docs/实战案例/imgs/image-20230920083516-hg4vhhs.png
is excluded by!**/*.png
docs/实战案例/imgs/image-20230920084925-yirmz91.png
is excluded by!**/*.png
docs/实战案例/imgs/image-20230920093120-jdzux3h.png
is excluded by!**/*.png
docs/实战案例/imgs/pdm.png
is excluded by!**/*.png
docs/实战案例/imgs/process.png
is excluded by!**/*.png
docs/实战案例/imgs/smbHome.png
is excluded by!**/*.png
docs/开始/imgs/cli-create-plugin.png
is excluded by!**/*.png
docs/开始/imgs/cli-plugin-open.png
is excluded by!**/*.png
docs/开始/imgs/tiny-engine-cli-open.png
is excluded by!**/*.png
docs/开始/imgs/tiny-engine-cli.png
is excluded by!**/*.png
docs/扩展能力使用教程/imgs/custom-plugin-page-full.png
is excluded by!**/*.png
docs/扩展能力使用教程/imgs/custom-plugin-page-pos.png
is excluded by!**/*.png
docs/扩展能力使用教程/imgs/input-configurator.png
is excluded by!**/*.png
docs/扩展能力使用教程/imgs/my-input-configurator.gif
is excluded by!**/*.gif
docs/扩展能力使用教程/imgs/plugin1.png
is excluded by!**/*.png
docs/扩展能力使用教程/imgs/plugin2.png
is excluded by!**/*.png
docs/扩展能力使用教程/imgs/plugin3.png
is excluded by!**/*.png
docs/扩展能力使用教程/imgs/plugin4.png
is excluded by!**/*.png
docs/扩展能力使用教程/imgs/plugin5.png
is excluded by!**/*.png
docs/扩展能力使用教程/imgs/plugin6.png
is excluded by!**/*.png
docs/扩展能力使用教程/imgs/plugin7.png
is excluded by!**/*.png
docs/扩展能力使用教程/出码功能/imgs/TinyEngineSchem2Code.png
is excluded by!**/*.png
docs/扩展能力使用教程/出码功能/imgs/customGenCodePlugin.png
is excluded by!**/*.png
docs/扩展能力使用教程/出码功能/imgs/exportcode.gif
is excluded by!**/*.gif
docs/扩展能力使用教程/出码功能/imgs/pageGenerate.png
is excluded by!**/*.png
docs/扩展能力使用教程/出码功能/imgs/vuetemplate.png
is excluded by!**/*.png
docs/新手指引/imgs/addComponent.png
is excluded by!**/*.png
docs/新手指引/imgs/addState.png
is excluded by!**/*.png
docs/新手指引/imgs/bangEnv.png
is excluded by!**/*.png
docs/新手指引/imgs/firstPage.png
is excluded by!**/*.png
docs/新手指引/imgs/imgswitch.png
is excluded by!**/*.png
docs/新手指引/imgs/page1.png
is excluded by!**/*.png
docs/新手指引/imgs/preImgChange.png
is excluded by!**/*.png
docs/新手指引/imgs/setImgSrc.png
is excluded by!**/*.png
docs/新手指引/imgs/setImgSta.png
is excluded by!**/*.png
docs/新手指引/imgs/setImgSty.png
is excluded by!**/*.png
docs/新手指引/imgs/showImg.png
is excluded by!**/*.png
docs/新手指引/imgs/tinyengine.png
is excluded by!**/*.png
docs/生态中心/imgs/componentConfigBase.png
is excluded by!**/*.png
docs/生态中心/imgs/componentConfigSchema.png
is excluded by!**/*.png
docs/生态中心/imgs/componentConfigTec.png
is excluded by!**/*.png
docs/生态中心/imgs/componentLibInfo.png
is excluded by!**/*.png
docs/生态中心/imgs/ecology1.png
is excluded by!**/*.png
docs/生态中心/imgs/ecology2.png
is excluded by!**/*.png
docs/生态中心/imgs/ecology3.png
is excluded by!**/*.png
docs/解决方案/imgs/add_block.png
is excluded by!**/*.png
docs/解决方案/imgs/add_block1.png
is excluded by!**/*.png
docs/解决方案/imgs/add_block2.png
is excluded by!**/*.png
docs/解决方案/imgs/backend_code.png
is excluded by!**/*.png
docs/解决方案/imgs/backend_code3.png
is excluded by!**/*.png
docs/解决方案/imgs/backend_deploy_1.png
is excluded by!**/*.png
docs/解决方案/imgs/backend_deploy_10.png
is excluded by!**/*.png
docs/解决方案/imgs/backend_deploy_2.png
is excluded by!**/*.png
docs/解决方案/imgs/backend_deploy_4.png
is excluded by!**/*.png
docs/解决方案/imgs/backend_deploy_5.png
is excluded by!**/*.png
docs/解决方案/imgs/backend_deploy_6.png
is excluded by!**/*.png
docs/解决方案/imgs/backend_deploy_7.png
is excluded by!**/*.png
docs/解决方案/imgs/backend_deploy_8.png
is excluded by!**/*.png
docs/解决方案/imgs/backend_deploy_9.png
is excluded by!**/*.png
docs/解决方案/imgs/block-publish-10.png
is excluded by!**/*.png
docs/解决方案/imgs/block-publish-11.png
is excluded by!**/*.png
docs/解决方案/imgs/block-publish-12.png
is excluded by!**/*.png
docs/解决方案/imgs/block-publish-2.png
is excluded by!**/*.png
docs/解决方案/imgs/block-publish-3.png
is excluded by!**/*.png
docs/解决方案/imgs/block-publish-4.png
is excluded by!**/*.png
docs/解决方案/imgs/block-publish-5.png
is excluded by!**/*.png
docs/解决方案/imgs/block-publish-6.png
is excluded by!**/*.png
docs/解决方案/imgs/block-publish-7.png
is excluded by!**/*.png
docs/解决方案/imgs/block-publish-8.png
is excluded by!**/*.png
docs/解决方案/imgs/block-publish-9.png
is excluded by!**/*.png
docs/解决方案/imgs/block-publish-db-1.png
is excluded by!**/*.png
docs/解决方案/imgs/create_block.png
is excluded by!**/*.png
docs/解决方案/imgs/events.png
is excluded by!**/*.png
docs/解决方案/imgs/npm1.png
is excluded by!**/*.png
docs/解决方案/imgs/npm2.png
is excluded by!**/*.png
docs/解决方案/imgs/npm3.png
is excluded by!**/*.png
docs/解决方案/imgs/property.png
is excluded by!**/*.png
docs/解决方案/imgs/publish_block.png
is excluded by!**/*.png
docs/解决方案/imgs/publish_block2.png
is excluded by!**/*.png
docs/解决方案/imgs/save_block.png
is excluded by!**/*.png
docs/解决方案/imgs/slots.png
is excluded by!**/*.png
docs/解决方案/imgs/snippets.png
is excluded by!**/*.png
docs/解决方案/imgs/synchronize-materials.png
is excluded by!**/*.png
docs/进阶功能/imgs/ScreenShot_20241029195609.png
is excluded by!**/*.png
docs/进阶功能/imgs/add-Function.png
is excluded by!**/*.png
docs/进阶功能/imgs/addAiPlugin.png
is excluded by!**/*.png
docs/进阶功能/imgs/addVar-17.png
is excluded by!**/*.png
docs/进阶功能/imgs/addVar-19.png
is excluded by!**/*.png
docs/进阶功能/imgs/addvar-15.png
is excluded by!**/*.png
docs/进阶功能/imgs/askToModifyPage.png
is excluded by!**/*.png
docs/进阶功能/imgs/bindEvent.gif
is excluded by!**/*.gif
docs/进阶功能/imgs/bindVariable-16.png
is excluded by!**/*.png
docs/进阶功能/imgs/bindVariable-18.png
is excluded by!**/*.png
docs/进阶功能/imgs/blockBaseSetting.png
is excluded by!**/*.png
docs/进阶功能/imgs/blockExposeAttr.gif
is excluded by!**/*.gif
docs/进阶功能/imgs/blockexposeattrusage.gif
is excluded by!**/*.gif
docs/进阶功能/imgs/conditionRender.gif
is excluded by!**/*.gif
docs/进阶功能/imgs/createBlockFromPage.gif
is excluded by!**/*.gif
docs/进阶功能/imgs/createEmptyBlock.png
is excluded by!**/*.png
docs/进阶功能/imgs/data-source-1.png
is excluded by!**/*.png
docs/进阶功能/imgs/data-source-2.png
is excluded by!**/*.png
docs/进阶功能/imgs/data-source-3.png
is excluded by!**/*.png
docs/进阶功能/imgs/data-source-4.png
is excluded by!**/*.png
docs/进阶功能/imgs/data-source-load-1.png
is excluded by!**/*.png
docs/进阶功能/imgs/data-source-load-2.png
is excluded by!**/*.png
docs/进阶功能/imgs/data-source-load-3.png
is excluded by!**/*.png
docs/进阶功能/imgs/dataSource1.png
is excluded by!**/*.png
docs/进阶功能/imgs/dataSource2.png
is excluded by!**/*.png
docs/进阶功能/imgs/dataSource3.png
is excluded by!**/*.png
docs/进阶功能/imgs/dataSource4.png
is excluded by!**/*.png
docs/进阶功能/imgs/dataSource5.png
is excluded by!**/*.png
docs/进阶功能/imgs/dataSource7.png
is excluded by!**/*.png
docs/进阶功能/imgs/defineslot.gif
is excluded by!**/*.gif
docs/进阶功能/imgs/icon-code.png
is excluded by!**/*.png
docs/进阶功能/imgs/openAiWindow.png
is excluded by!**/*.png
docs/进阶功能/imgs/pageJs.png
is excluded by!**/*.png
docs/进阶功能/imgs/pageJsContent.png
is excluded by!**/*.png
docs/进阶功能/imgs/pageJsJsxFunc.png
is excluded by!**/*.png
docs/进阶功能/imgs/pageJsMethod.png
is excluded by!**/*.png
docs/进阶功能/imgs/parseJxBindingJsxFunc.png
is excluded by!**/*.png
docs/进阶功能/imgs/parseJxBindingJsxFuncResult.png
is excluded by!**/*.png
docs/进阶功能/imgs/state-isLogin为false时.png
is excluded by!**/*.png
docs/进阶功能/imgs/state-isLogin为ture时.png
is excluded by!**/*.png
docs/进阶功能/imgs/use-npm.png
is excluded by!**/*.png
docs/进阶功能/imgs/useBlock.png
is excluded by!**/*.png
docs/进阶功能/imgs/useLoop.gif
is excluded by!**/*.gif
docs/进阶功能/imgs/usingslot.gif
is excluded by!**/*.gif
docs/进阶功能/imgs/utils4.png
is excluded by!**/*.png
docs/进阶功能/imgs/viewRender.png
is excluded by!**/*.png
📒 Files selected for processing (68)
docs/API/API总览.md
(1 hunks)docs/API/主包API.md
(1 hunks)docs/API/全局布局API.md
(1 hunks)docs/API/后端API/AI功能接口.md
(1 hunks)docs/API/后端API/APP服务.md
(1 hunks)docs/API/后端API/DSL代码生成.md
(1 hunks)docs/API/后端API/应用工具类管理.md
(1 hunks)docs/API/后端API/数据源管理.md
(1 hunks)docs/API/物料API.md
(1 hunks)docs/API/画布API.md
(1 hunks)docs/API/设置面板API.md
(1 hunks)docs/catalog.json
(1 hunks)docs/index.md
(1 hunks)docs/关于应用/创建应用(创建空白应用、从模板创建应用).md
(1 hunks)docs/关于应用/开发应用.md
(1 hunks)docs/关于物料/介绍.md
(1 hunks)docs/关于物料/创建物料资产包.md
(1 hunks)docs/关于物料/构建物料资产包.md
(1 hunks)docs/关于物料/添加组件库和区块.md
(1 hunks)docs/关于设计器/介绍.md
(1 hunks)docs/关于设计器/创建设计器.md
(1 hunks)docs/关于设计器/定制物料资产包、主题、DSL、工具栏和插件栏.md
(1 hunks)docs/关于设计器/定制设计器.md
(1 hunks)docs/基础功能/使用状态管理和变量绑定.md
(1 hunks)docs/基础功能/使用组件.md
(1 hunks)docs/基础功能/初识设计器.md
(1 hunks)docs/基础功能/国际化.md
(1 hunks)docs/基础功能/查看大纲树.md
(1 hunks)docs/基础功能/样式设置.md
(1 hunks)docs/基础功能/行内样式绑定状态变量.md
(1 hunks)docs/基础功能/设计前端应用流程.md
(1 hunks)docs/基础功能/设计器界面模块简介.md
(1 hunks)docs/基础功能/页面和区块预览.md
(1 hunks)docs/基础功能/页面管理.md
(1 hunks)docs/实战案例/PDM元数据审批电子流.md
(1 hunks)docs/实战案例/SMB轻量应用服务.md
(1 hunks)docs/实战案例/图元编排设计器.md
(1 hunks)docs/开始/快速上手.md
(1 hunks)docs/开始/简介.md
(1 hunks)docs/扩展能力介绍/元服务和元应用.md
(1 hunks)docs/扩展能力介绍/新架构介绍.md
(1 hunks)docs/扩展能力介绍/注册表.md
(1 hunks)docs/扩展能力使用教程/出码功能/出码功能简介与使用.md
(1 hunks)docs/扩展能力使用教程/出码功能/如何自定义出码.md
(1 hunks)docs/扩展能力使用教程/出码功能/如何自定义出码插件.md
(1 hunks)docs/扩展能力使用教程/出码功能/官方出码能力API.md
(1 hunks)docs/扩展能力使用教程/出码功能/自定义页面出码插件.md
(1 hunks)docs/扩展能力使用教程/如何开发插件.md
(1 hunks)docs/扩展能力使用教程/定制元服务逻辑.md
(1 hunks)docs/扩展能力使用教程/定制插件UI.md
(1 hunks)docs/扩展能力使用教程/开发设置器组件.md
(1 hunks)docs/教程/从零搭建一个页面.md
(1 hunks)docs/教程/第一期2023.10.27.md
(1 hunks)docs/新手指引/快速上手.md
(1 hunks)docs/新手指引/简介.md
(1 hunks)docs/生态中心/介绍.md
(1 hunks)docs/生态中心/发布其他生态.md
(1 hunks)docs/生态中心/如何发布区块.md
(1 hunks)docs/生态中心/如何导入组件库.md
(1 hunks)docs/解决方案/区块发布方案.md
(1 hunks)docs/解决方案/区块局域网发布方案.md
(1 hunks)docs/解决方案/服务端部署方案.md
(1 hunks)docs/解决方案/物料同步方案.md
(1 hunks)docs/解决方案/设计器中引入第三方组件库.md
(1 hunks)docs/进阶功能/使用JS面板和事件绑定.md
(1 hunks)docs/进阶功能/使用工具类方法 utils.md
(1 hunks)docs/进阶功能/区块管理.md
(1 hunks)docs/进阶功能/如何使用插槽.md
(1 hunks)
✅ Files skipped from review due to trivial changes (10)
- docs/关于物料/添加组件库和区块.md
- docs/关于设计器/创建设计器.md
- docs/关于物料/构建物料资产包.md
- docs/教程/从零搭建一个页面.md
- docs/API/API总览.md
- docs/关于设计器/介绍.md
- docs/关于设计器/定制设计器.md
- docs/关于应用/创建应用(创建空白应用、从模板创建应用).md
- docs/关于设计器/定制物料资产包、主题、DSL、工具栏和插件栏.md
- docs/catalog.json
🧰 Additional context used
🪛 Markdownlint (0.35.0)
docs/基础功能/国际化.md
7-7: null
Images should have alternate text (alt text)
(MD045, no-alt-text)
12-12: null
Images should have alternate text (alt text)
(MD045, no-alt-text)
16-16: null
Images should have alternate text (alt text)
(MD045, no-alt-text)
22-22: null
Images should have alternate text (alt text)
(MD045, no-alt-text)
28-28: null
Images should have alternate text (alt text)
(MD045, no-alt-text)
29-29: null
Images should have alternate text (alt text)
(MD045, no-alt-text)
32-32: null
Images should have alternate text (alt text)
(MD045, no-alt-text)
39-39: null
Images should have alternate text (alt text)
(MD045, no-alt-text)
40-40: null
Images should have alternate text (alt text)
(MD045, no-alt-text)
44-44: null
Images should have alternate text (alt text)
(MD045, no-alt-text)
48-48: null
Images should have alternate text (alt text)
(MD045, no-alt-text)
52-52: null
Images should have alternate text (alt text)
(MD045, no-alt-text)
58-58: null
Images should have alternate text (alt text)
(MD045, no-alt-text)
59-59: null
Images should have alternate text (alt text)
(MD045, no-alt-text)
64-64: null
Images should have alternate text (alt text)
(MD045, no-alt-text)
68-68: null
Images should have alternate text (alt text)
(MD045, no-alt-text)
71-71: null
Images should have alternate text (alt text)
(MD045, no-alt-text)
75-75: null
Images should have alternate text (alt text)
(MD045, no-alt-text)
72-72: null
Link fragments should be valid
(MD051, link-fragments)
docs/基础功能/行内样式绑定状态变量.md
12-12: null
Images should have alternate text (alt text)
(MD045, no-alt-text)
15-15: null
Images should have alternate text (alt text)
(MD045, no-alt-text)
19-19: null
Images should have alternate text (alt text)
(MD045, no-alt-text)
25-25: null
Images should have alternate text (alt text)
(MD045, no-alt-text)
28-28: null
Images should have alternate text (alt text)
(MD045, no-alt-text)
31-31: null
Images should have alternate text (alt text)
(MD045, no-alt-text)
docs/生态中心/如何发布区块.md
9-9: null
Images should have alternate text (alt text)
(MD045, no-alt-text)
docs/基础功能/设计前端应用流程.md
7-7: null
Images should have alternate text (alt text)
(MD045, no-alt-text)
12-12: null
Images should have alternate text (alt text)
(MD045, no-alt-text)
17-17: null
Images should have alternate text (alt text)
(MD045, no-alt-text)
31-31: null
Images should have alternate text (alt text)
(MD045, no-alt-text)
41-41: null
Images should have alternate text (alt text)
(MD045, no-alt-text)
44-44: null
Images should have alternate text (alt text)
(MD045, no-alt-text)
47-47: null
Images should have alternate text (alt text)
(MD045, no-alt-text)
50-50: null
Images should have alternate text (alt text)
(MD045, no-alt-text)
61-61: null
Images should have alternate text (alt text)
(MD045, no-alt-text)
docs/教程/第一期2023.10.27.md
7-7: Expected: h2; Actual: h3
Heading levels should only increment by one level at a time
(MD001, heading-increment)
175-175: Expected: h2; Actual: h3
Heading levels should only increment by one level at a time
(MD001, heading-increment)
177-177: null
Bare URL used
(MD034, no-bare-urls)
docs/新手指引/快速上手.md
8-8: Expected: h2; Actual: h3
Heading levels should only increment by one level at a time
(MD001, heading-increment)
10-10: null
Images should have alternate text (alt text)
(MD045, no-alt-text)
14-14: null
Images should have alternate text (alt text)
(MD045, no-alt-text)
18-18: null
Images should have alternate text (alt text)
(MD045, no-alt-text)
22-22: null
Images should have alternate text (alt text)
(MD045, no-alt-text)
docs/生态中心/如何导入组件库.md
30-30: null
Tables should be surrounded by blank lines
(MD058, blanks-around-tables)
41-41: null
Tables should be surrounded by blank lines
(MD058, blanks-around-tables)
docs/API/设置面板API.md
1-1: Column: 12
Hard tabs
(MD010, no-hard-tabs)
docs/进阶功能/使用工具类方法 utils.md
8-8: null
Emphasis used instead of a heading
(MD036, no-emphasis-as-heading)
64-64: null
Emphasis used instead of a heading
(MD036, no-emphasis-as-heading)
docs/解决方案/区块发布方案.md
95-95: Expected: 0; Actual: 2
Unordered list indentation
(MD007, ul-indent)
99-99: Expected: 0; Actual: 2
Unordered list indentation
(MD007, ul-indent)
103-103: Expected: 0; Actual: 2
Unordered list indentation
(MD007, ul-indent)
113-113: Expected: 0; Actual: 2
Unordered list indentation
(MD007, ul-indent)
63-63: null
Bare URL used
(MD034, no-bare-urls)
53-53: null
Spaces inside code span elements
(MD038, no-space-in-code)
65-65: null
Fenced code blocks should have a language specified
(MD040, fenced-code-language)
107-107: Expected: fenced; Actual: indented
Code block style
(MD046, code-block-style)
111-111: Expected: fenced; Actual: indented
Code block style
(MD046, code-block-style)
117-117: Expected: fenced; Actual: indented
Code block style
(MD046, code-block-style)
121-121: Expected: fenced; Actual: indented
Code block style
(MD046, code-block-style)
docs/开始/快速上手.md
90-90: Column: 1
Hard tabs
(MD010, no-hard-tabs)
124-124: null
Fenced code blocks should have a language specified
(MD040, fenced-code-language)
docs/API/后端API/AI功能接口.md
21-21: null
Emphasis used instead of a heading
(MD036, no-emphasis-as-heading)
27-27: null
Emphasis used instead of a heading
(MD036, no-emphasis-as-heading)
docs/新手指引/简介.md
15-15: null
Images should have alternate text (alt text)
(MD045, no-alt-text)
19-19: null
Images should have alternate text (alt text)
(MD045, no-alt-text)
docs/基础功能/设计器界面模块简介.md
5-5: Expected: h2; Actual: h3
Heading levels should only increment by one level at a time
(MD001, heading-increment)
docs/基础功能/使用组件.md
11-11: null
Images should have alternate text (alt text)
(MD045, no-alt-text)
16-16: null
Images should have alternate text (alt text)
(MD045, no-alt-text)
26-26: null
Images should have alternate text (alt text)
(MD045, no-alt-text)
29-29: null
Images should have alternate text (alt text)
(MD045, no-alt-text)
34-34: null
Images should have alternate text (alt text)
(MD045, no-alt-text)
45-45: null
Images should have alternate text (alt text)
(MD045, no-alt-text)
50-50: null
Images should have alternate text (alt text)
(MD045, no-alt-text)
55-55: null
Images should have alternate text (alt text)
(MD045, no-alt-text)
58-58: null
Images should have alternate text (alt text)
(MD045, no-alt-text)
65-65: null
Images should have alternate text (alt text)
(MD045, no-alt-text)
68-68: null
Images should have alternate text (alt text)
(MD045, no-alt-text)
71-71: null
Images should have alternate text (alt text)
(MD045, no-alt-text)
docs/API/画布API.md
3-3: Expected: h2; Actual: h3
Heading levels should only increment by one level at a time
(MD001, heading-increment)
25-25: null
Spaces inside code span elements
(MD038, no-space-in-code)
7-7: null
Fenced code blocks should have a language specified
(MD040, fenced-code-language)
28-28: null
Fenced code blocks should have a language specified
(MD040, fenced-code-language)
60-60: null
Fenced code blocks should have a language specified
(MD040, fenced-code-language)
142-142: null
Fenced code blocks should have a language specified
(MD040, fenced-code-language)
docs/开始/简介.md
3-3: Expected: h2; Actual: h3
Heading levels should only increment by one level at a time
(MD001, heading-increment)
docs/实战案例/PDM元数据审批电子流.md
17-17: null
Images should have alternate text (alt text)
(MD045, no-alt-text)
docs/解决方案/服务端部署方案.md
19-19: Expected: asterisk; Actual: dash
Unordered list style
(MD004, ul-style)
21-21: Expected: asterisk; Actual: dash
Unordered list style
(MD004, ul-style)
7-7: null
Bare URL used
(MD034, no-bare-urls)
23-23: null
Emphasis used instead of a heading
(MD036, no-emphasis-as-heading)
336-336: null
Emphasis used instead of a heading
(MD036, no-emphasis-as-heading)
41-41: Expected: leading_only; Actual: leading_and_trailing; Unexpected trailing pipe
Table pipe style
(MD055, table-pipe-style)
42-42: Expected: leading_only; Actual: leading_and_trailing; Unexpected trailing pipe
Table pipe style
(MD055, table-pipe-style)
43-43: Expected: leading_only; Actual: leading_and_trailing; Unexpected trailing pipe
Table pipe style
(MD055, table-pipe-style)
44-44: Expected: leading_only; Actual: leading_and_trailing; Unexpected trailing pipe
Table pipe style
(MD055, table-pipe-style)
45-45: Expected: leading_only; Actual: leading_and_trailing; Unexpected trailing pipe
Table pipe style
(MD055, table-pipe-style)
47-47: Expected: leading_only; Actual: leading_and_trailing; Unexpected trailing pipe
Table pipe style
(MD055, table-pipe-style)
48-48: Expected: leading_only; Actual: leading_and_trailing; Unexpected trailing pipe
Table pipe style
(MD055, table-pipe-style)
49-49: Expected: leading_only; Actual: leading_and_trailing; Unexpected trailing pipe
Table pipe style
(MD055, table-pipe-style)
50-50: Expected: leading_only; Actual: leading_and_trailing; Unexpected trailing pipe
Table pipe style
(MD055, table-pipe-style)
51-51: Expected: leading_only; Actual: leading_and_trailing; Unexpected trailing pipe
Table pipe style
(MD055, table-pipe-style)
60-60: Expected: leading_only; Actual: leading_and_trailing; Unexpected trailing pipe
Table pipe style
(MD055, table-pipe-style)
61-61: Expected: leading_only; Actual: leading_and_trailing; Unexpected trailing pipe
Table pipe style
(MD055, table-pipe-style)
62-62: Expected: leading_only; Actual: leading_and_trailing; Unexpected trailing pipe
Table pipe style
(MD055, table-pipe-style)
63-63: Expected: leading_only; Actual: leading_and_trailing; Unexpected trailing pipe
Table pipe style
(MD055, table-pipe-style)
64-64: Expected: leading_only; Actual: leading_and_trailing; Unexpected trailing pipe
Table pipe style
(MD055, table-pipe-style)
71-71: Expected: leading_only; Actual: leading_and_trailing; Unexpected trailing pipe
Table pipe style
(MD055, table-pipe-style)
72-72: Expected: leading_only; Actual: leading_and_trailing; Unexpected trailing pipe
Table pipe style
(MD055, table-pipe-style)
73-73: Expected: leading_only; Actual: leading_and_trailing; Unexpected trailing pipe
Table pipe style
(MD055, table-pipe-style)
74-74: Expected: leading_only; Actual: leading_and_trailing; Unexpected trailing pipe
Table pipe style
(MD055, table-pipe-style)
75-75: Expected: leading_only; Actual: leading_and_trailing; Unexpected trailing pipe
Table pipe style
(MD055, table-pipe-style)
82-82: Expected: leading_only; Actual: leading_and_trailing; Unexpected trailing pipe
Table pipe style
(MD055, table-pipe-style)
83-83: Expected: leading_only; Actual: leading_and_trailing; Unexpected trailing pipe
Table pipe style
(MD055, table-pipe-style)
84-84: Expected: leading_only; Actual: leading_and_trailing; Unexpected trailing pipe
Table pipe style
(MD055, table-pipe-style)
85-85: Expected: leading_only; Actual: leading_and_trailing; Unexpected trailing pipe
Table pipe style
(MD055, table-pipe-style)
86-86: Expected: leading_only; Actual: leading_and_trailing; Unexpected trailing pipe
Table pipe style
(MD055, table-pipe-style)
91-91: Expected: leading_only; Actual: leading_and_trailing; Unexpected trailing pipe
Table pipe style
(MD055, table-pipe-style)
92-92: Expected: leading_only; Actual: leading_and_trailing; Unexpected trailing pipe
Table pipe style
(MD055, table-pipe-style)
93-93: Expected: leading_only; Actual: leading_and_trailing; Unexpected trailing pipe
Table pipe style
(MD055, table-pipe-style)
94-94: Expected: leading_only; Actual: leading_and_trailing; Unexpected trailing pipe
Table pipe style
(MD055, table-pipe-style)
95-95: Expected: leading_only; Actual: leading_and_trailing; Unexpected trailing pipe
Table pipe style
(MD055, table-pipe-style)
docs/API/后端API/APP服务.md
87-87: null
Multiple headings with the same content
(MD024, no-duplicate-heading)
96-96: null
Multiple headings with the same content
(MD024, no-duplicate-heading)
108-108: null
Multiple headings with the same content
(MD024, no-duplicate-heading)
19-19: null
Emphasis used instead of a heading
(MD036, no-emphasis-as-heading)
25-25: null
Emphasis used instead of a heading
(MD036, no-emphasis-as-heading)
64-64: null
Emphasis used instead of a heading
(MD036, no-emphasis-as-heading)
98-98: null
Emphasis used instead of a heading
(MD036, no-emphasis-as-heading)
docs/解决方案/区块局域网发布方案.md
208-208: Column: 7
Hard tabs
(MD010, no-hard-tabs)
208-208: Column: 27
Hard tabs
(MD010, no-hard-tabs)
210-210: Column: 14
Hard tabs
(MD010, no-hard-tabs)
210-210: Column: 28
Hard tabs
(MD010, no-hard-tabs)
211-211: Column: 15
Hard tabs
(MD010, no-hard-tabs)
211-211: Column: 29
Hard tabs
(MD010, no-hard-tabs)
212-212: Column: 16
Hard tabs
(MD010, no-hard-tabs)
212-212: Column: 26
Hard tabs
(MD010, no-hard-tabs)
213-213: Column: 9
Hard tabs
(MD010, no-hard-tabs)
213-213: Column: 27
Hard tabs
(MD010, no-hard-tabs)
214-214: Column: 12
Hard tabs
(MD010, no-hard-tabs)
214-214: Column: 27
Hard tabs
(MD010, no-hard-tabs)
215-215: Column: 12
Hard tabs
(MD010, no-hard-tabs)
215-215: Column: 27
Hard tabs
(MD010, no-hard-tabs)
200-200: null
Bare URL used
(MD034, no-bare-urls)
62-62: null
Emphasis used instead of a heading
(MD036, no-emphasis-as-heading)
377-377: null
Emphasis used instead of a heading
(MD036, no-emphasis-as-heading)
209-209: Expected: leading_only; Actual: leading_and_trailing; Unexpected trailing pipe
Table pipe style
(MD055, table-pipe-style)
300-300: Expected: leading_only; Actual: leading_and_trailing; Unexpected trailing pipe
Table pipe style
(MD055, table-pipe-style)
308-308: Expected: leading_only; Actual: leading_and_trailing; Unexpected trailing pipe
Table pipe style
(MD055, table-pipe-style)
309-309: Expected: leading_only; Actual: leading_and_trailing; Unexpected trailing pipe
Table pipe style
(MD055, table-pipe-style)
docs/API/后端API/应用工具类管理.md
18-18: null
Emphasis used instead of a heading
(MD036, no-emphasis-as-heading)
24-24: null
Emphasis used instead of a heading
(MD036, no-emphasis-as-heading)
63-63: null
Emphasis used instead of a heading
(MD036, no-emphasis-as-heading)
69-69: null
Emphasis used instead of a heading
(MD036, no-emphasis-as-heading)
110-110: null
Emphasis used instead of a heading
(MD036, no-emphasis-as-heading)
144-144: null
Emphasis used instead of a heading
(MD036, no-emphasis-as-heading)
docs/API/后端API/数据源管理.md
18-18: null
Emphasis used instead of a heading
(MD036, no-emphasis-as-heading)
24-24: null
Emphasis used instead of a heading
(MD036, no-emphasis-as-heading)
30-30: null
Emphasis used instead of a heading
(MD036, no-emphasis-as-heading)
69-69: null
Emphasis used instead of a heading
(MD036, no-emphasis-as-heading)
75-75: null
Emphasis used instead of a heading
(MD036, no-emphasis-as-heading)
114-114: null
Emphasis used instead of a heading
(MD036, no-emphasis-as-heading)
147-147: null
Emphasis used instead of a heading
(MD036, no-emphasis-as-heading)
180-180: null
Emphasis used instead of a heading
(MD036, no-emphasis-as-heading)
215-215: null
Emphasis used instead of a heading
(MD036, no-emphasis-as-heading)
250-250: null
Emphasis used instead of a heading
(MD036, no-emphasis-as-heading)
docs/关于应用/开发应用.md
9-9: null
Emphasis used instead of a heading
(MD036, no-emphasis-as-heading)
docs/基础功能/初识设计器.md
5-5: Expected: h2; Actual: h3
Heading levels should only increment by one level at a time
(MD001, heading-increment)
docs/基础功能/查看大纲树.md
5-5: null
Images should have alternate text (alt text)
(MD045, no-alt-text)
8-8: null
Images should have alternate text (alt text)
(MD045, no-alt-text)
docs/生态中心/介绍.md
5-5: null
Images should have alternate text (alt text)
(MD045, no-alt-text)
docs/生态中心/发布其他生态.md
1-1: null
Headings must start at the beginning of the line
(MD023, heading-start-left)
4-4: null
Images should have alternate text (alt text)
(MD045, no-alt-text)
🪛 LanguageTool
docs/教程/第一期2023.10.27.md
[uncategorized] ~125-~125: 表示选择的疑问句中不能使用 “或者” ,请改用:"还是"。
Context: ...## 问题7:在使用 TinyEngine 低代码引擎时,组件内的静态资源(图片或者音频)如何引用? 答:这个问题要分多种情况讨论, - 设计器开发: 可以拉下...
(wb3)
[uncategorized] ~187-~187: 表示选择的疑问句中不能使用 “或者” ,请改用:"还是"。
Context: ...大家敬请期待 ### 问题4:TinyEngine 低代码引擎是否提供商业版本或者商业上的技术支持? 答:目前只有一个开源版本的代码,没有商业版本。至于商业技术...
(wb3)
docs/扩展能力介绍/新架构介绍.md
[uncategorized] ~6-~6: 动词的修饰一般为‘形容词(副词)+地+动词’。您的意思是否是:慢慢"地"增加
Context: ...对官方项目代码的修改程度也逐渐增多,与此同时,TinyEngine引擎官方在慢慢的增加新特性,以及修复 bug,导致 fork 出来的代码与官方引擎项目差异越来越...
(wb4)
[uncategorized] ~10-~10: 动词的修饰一般为‘形容词(副词)+地+动词’。您的意思是否是:新"地"可
Context: ...对插件、设计器、布局、出码等等方式进行定制。 基于这个需求与思路,我们设计了新的可扩展架构——洛书架构 ## 扩展架构核心特性 - 提供 cli 工具,使用...
(wb4)
docs/实战案例/图元编排设计器.md
[uncategorized] ~19-~19: “个”不能与“云”搭配,可改为:"每"一朵"云"
Context: ...计器,顺利生成资源模板,实现一键部署。 考虑到需要支持大量的云服务资源,同时每一个云服务资源需要配置的属性也是不一样的,因而采用传统开发方式,为每一种云服务资源开...
(wa5)
[uncategorized] ~68-~68: 动词的修饰一般为‘形容词(副词)+地+动词’。您的意思是否是:完备"地"插
Context: ...# 整体插件架构介绍 TinyEngine整体架构优秀之处在于,提供了一套完备的插件体系,包含了插件开发所有的基础UI库、工具库、插件面板的显示控制、生命周期管...
(wb4)
[uncategorized] ~74-~74: 动词的修饰一般为‘形容词(副词)+地+动词’。您的意思是否是:一定"地"开发
Context: ...或切换。 ### 遵循插件规范开发 TinyEngine插件开发需要遵循一定的开发规范,主要是文件规范与导出规范: * 文件规范,必须包含下面几个文件 `...
(wb4)
[uncategorized] ~121-~121: 动词的修饰一般为‘形容词(副词)+地+动词’。您的意思是否是:快速"地"完成
Context: ...具栏插件、导出插件、主题、属性配置插件、模板转换插件,微调整体设计器样式,就快速的完成了一个资源编排领域的图元编排设计器。 ![image](./imgs/...
(wb4)
[uncategorized] ~127-~127: 动词的修饰一般为‘形容词(副词)+地+动词’。您的意思是否是:优秀"地"插
Context: ...TinyEngine的基础引擎能力,快速搭建出PoC原型,再此基础上,利用其优秀的插件架构和提供的插件公共能力,添加业务相关插件,快速开发出一个领域定制的专属设计...
(wb4)
docs/生态中心/如何导入组件库.md
[uncategorized] ~4-~4: 动词的修饰一般为‘形容词(副词)+地+动词’。您的意思是否是:好"地"可
Context: ...入组件库 ## 介绍 组件是页面搭建最小的可复用单元,组件库是一系列已经封装好的可复用组件的集合。通过导入第三方组件库,可以利用已经开发好的功能,无需从头开始编...
(wb4)
docs/API/设置面板API.md
[uncategorized] ~5-~5: 成分累赘: “来自” “于” 不一起使用,请删除 “于”:"来自"。
Context: # 设置面板模块API ## 变量绑定 变量绑定列表中的变量可能来自于其他元应用。 目前提供一种在元应用中注册变量绑定列表来源的方法:首先在元应用配...
(wb2)
docs/扩展能力使用教程/出码功能/出码功能简介与使用.md
[uncategorized] ~34-~34: 1.动词被副词修饰时,助词应该用‘得’;2.省略宾语时,助词应该用‘的’;可能造成歧义。您的意思是不是:膨胀"得"非常巨大
Context: ...但是,在我们实战经验中却发现随着需求的变更以及时间的变迁,运行时引擎的代码会膨胀的非常巨大,运行时引擎内部的架构也越来越复杂,会带来一些明显的痛点: - 由于运...
(wb4)
[uncategorized] ~40-~40: 动词的修饰一般为‘形容词(副词)+地+动词’。您的意思是否是:完美"地"解决
Context: ...用低代码搭建的场景)。 在经历一番探索之后,我们发现使用出码的方案可以相对完美的解决以上痛点: - 运行时引擎仅在设计态搭建页面的时候存在,正式上线的代码是人...
(wb4)
docs/开始/快速上手.md
[uncategorized] ~14-~14: 动词的修饰一般为‘形容词(副词)+地+动词’。您的意思是否是:必要"地"开发
Context: ...t 代码版本管理⼯具 - chrome浏览器 110+ 版本 - 以及其他必要的开发前端开发环境、⼯具等。 ## 二、Tiny Engine CLI ...
(wb4)
[uncategorized] ~64-~64: 动词的修饰一般为‘形容词(副词)+地+动词’。您的意思是否是:新"地"插
Context: ... 另起一个终端,在当前目录下,输入下面命令,选择创建plugin类型,创建一个新的插件 ```shell npx @opentiny/tiny-engine-c...
(wb4)
[uncategorized] ~102-~102: 动词的修饰一般为‘形容词(副词)+地+动词’。您的意思是否是:新"地"插
Context: ...#### 2.2.3 开发调试插件 重新打开项目页面,可以看到侧边栏多了一个新的插件: ![cli-plugin-open](./imgs/cli-plugi...
(wb4)
docs/新手指引/简介.md
[uncategorized] ~23-~23: 动词的修饰一般为‘形容词(副词)+地+动词’。您的意思是否是:强大"地"开放
Context: ...nyEngine 有开放的物料协议和扩展接口:得益于 TinyEngine 强大的开放物料设计,可直接导入第三方组件库,例如 elementUI 和 AntDes...
(wb4)
docs/API/后端API/DSL代码生成.md
[uncategorized] ~48-~48: Loose punctuation mark.
Context: ...的schema } }, { // 其他区块... } ]
输出示例:
<cod...(UNLIKELY_OPENING_PUNCTUATION)
docs/基础功能/使用组件.md
[uncategorized] ~20-~20: 动词的修饰一般为‘形容词(副词)+地+动词’。您的意思是否是:好"地"拖
Context: ...# 从画布中直接添加组件 对于复杂的页面,嵌套层级可能很深,直接拖拽并不能很好的拖入到指定的层级中,所以,设计器提供在画布中右键精准添加组件的能力。 1. 画...
(wb4)
docs/进阶功能/使用JS面板和事件绑定.md
[uncategorized] ~90-~90: 成分累赘: “来自” “于” 不一起使用,请删除 “于”:"来自"。
Context: ...签名需参考组件的文档 1. 首先在页面JS中定义渲染函数,这里的函数参数的定义来自于 TinyVue 的文档 ![在页面JS中定义渲染函数](./imgs/pag...
(wb2)
[uncategorized] ~103-~103: 动词的修饰一般为‘形容词(副词)+地+动词’。您的意思是否是:方便"地"提供
Context: ...够很方便的为元素或区块添加事件,通过可视化的优势快速定位到某个元素。同时也很方便的提供一些状态获取方法,国际化词条获取方法等。
(wb4)
docs/开始/简介.md
[uncategorized] ~16-~16: 数量词修饰并列短语,可能产生歧义
Context: ...持二次开发或被集成 - 直接生成可部署的源码,运行时无需引擎支撑 - 允许接入第三方组件、允许定制扩展插件 - 支持高代码与低代码,混合开发部署应用 - 平台接入 AI ...
(s5)
docs/实战案例/PDM元数据审批电子流.md
[uncategorized] ~27-~27: 动词的修饰一般为‘形容词(副词)+地+动词’。您的意思是否是:完美"地"贯通
Context: ...续内容中详细介绍),以实现对审批流程人员编排。这样,前后端之间的连接就实现了完美的贯通。
...
(wb4)
docs/API/后端API/APP服务.md
[misspelling] ~51-~51: Use “an” instead of ‘a’ if the following word starts with a vowel sound, e.g. ‘an article’, ‘an hour’.
Context: ... ## 获取页面/区块源码 ### 基本信息 Path:...
(EN_A_VS_AN)
[misspelling] ~85-~85: Use “an” instead of ‘a’ if the following word starts with a vowel sound, e.g. ‘an article’, ‘an hour’.
Context: ... ## 页面/区块预览用元数据 ### 基本信息 **Path:...
(EN_A_VS_AN)
docs/解决方案/区块局域网发布方案.md
[uncategorized] ~102-~102: 动词的修饰一般为‘形容词(副词)+地+动词’。您的意思是否是:正确"地"显示
Context: ...正常发布在私仓上,如果想要在TinyEngine的页面上去获取到私仓里的包,正确的显示区块,我们还需要借助unpkg去获取到包的数据,而由于公网的unpkg无法直...
(wb4)
[uncategorized] ~181-~181: 动词的修饰一般为‘形容词(副词)+地+动词’。您的意思是否是:正常"地"使用
Context: ...ng) 验证完成后,可以在物料中把刚才发布的区块进行添加,添加完毕后就可以正常的使用区块功能。 ## 五、服务部署 当前步骤都是在电脑本地环境下运行调试的,...
(wb4)
docs/进阶功能/区块管理.md
[uncategorized] ~68-~68: 动词的修饰一般为‘形容词(副词)+地+动词’。您的意思是否是:好"地"明白
Context: ...围进行设置,下面对相关设置项进行讲解 - 区块描述:区块的描述,可以让别人更好的明白该区块的用途以及含义 - 区块标签:区块的标签,方便消费侧用户搜索 - 公开...
(wb4)
[uncategorized] ~105-~105: 您的意思是“"既"是”吗?
Context: ...发布之后,我们在物料面板拖出区块到画布中,选中我们拖出的区块,右侧属性面板的属性即是我们定义的暴露属性 ![区块暴露属性的消费](./imgs/blockexp...
(JI11_JI2)
docs/解决方案/设计器中引入第三方组件库.md
[uncategorized] ~10-~10: 动词的修饰一般为‘形容词(副词)+地+动词’。您的意思是否是:进一步"地"解释
Context: ...ts、组件面板配置snippets。下面将在协议基础上对核心字段作进一步的解释,可以打开源码中物料资产包文件(packages\design-core\p...
(wb4)
docs/关于物料/创建物料资产包.md
[uncategorized] ~8-~8: 数词与名词之间一般应存在量词,可能缺少量词。
Context: ...r的组件库与区块。 物料资产包版本是用户自定义的,用户可以将物料资产包回退到任一版本。 ...
(wa5)
docs/基础功能/页面和区块预览.md
[uncategorized] ~5-~5: 动词的修饰一般为‘形容词(副词)+地+动词’。您的意思是否是:最终"地"表现
Context: ... 在一些场景下,设计器的画布并不能使得我们直观的感受到所设计的区块或者页面最终的表现。比如说,当页面上区块和组件应用层次较多,区块之间或者组件之间交互行为较为复...
(wb4)
[uncategorized] ~5-~5: 您不可用“是”来表达个形容词。大部分人都平常用“很”来代替“是”。您是不是想表达"很困难"?
Context: ...组件之间交互行为较为复杂时,我们在画布上去清晰的感知页面的静态布局以及动态交互很是困难,这时候就需要设计器的页面/区块预览能力来为开发提供帮助 ### 页面...
(SHI_ADHECTIVE_ERROR)
docs/生态中心/发布其他生态.md
[uncategorized] ~7-~7: 能愿动词不能成为‘把’字句、‘被’字句的谓语动词。应该是:"会被……标识"。
Context: ...为插件 npm 包所在的仓库地址 版本号决定了安装哪一个版本的 npm 包 被标识为官方的插件会显示“官方”字样 被标识为默认的插件会在创建设计器时默认被选中 公开决定了插...
(wa3)
[uncategorized] ~8-~8: 能愿动词不能成为‘把’字句、‘被’字句的谓语动词。应该是:"会被……标识"。
Context: ...号决定了安装哪一个版本的 npm 包 被标识为官方的插件会显示“官方”字样 被标识为默认的插件会在创建设计器时默认被选中 公开决定了插件的可见范围,私有代表仅自己可见,公开代...
(wa3)
🔇 Additional comments (27)
docs/新手指引/简介.md (1)
1-30
: Well-structured documentation with clear sections
The document is well-organized with proper heading hierarchy and clear sections explaining the platform's background, positioning, and key features.
🧰 Tools
🪛 Markdownlint (0.35.0)
15-15: null
Images should have alternate text (alt text)
(MD045, no-alt-text)
19-19: null
Images should have alternate text (alt text)
(MD045, no-alt-text)
🪛 LanguageTool
[uncategorized] ~23-~23: 动词的修饰一般为‘形容词(副词)+地+动词’。您的意思是否是:强大"地"开放
Context: ...nyEngine 有开放的物料协议和扩展接口:得益于 TinyEngine 强大的开放物料设计,可直接导入第三方组件库,例如 elementUI 和 AntDes...
(wb4)
docs/扩展能力使用教程/定制插件UI.md (1)
33-33
: Verify referenced images exist in the repository.
Let's ensure the referenced images are present in the repository.
Also applies to: 68-68
✅ Verification successful
Images referenced in the documentation exist in the correct location
Both referenced images custom-plugin-page-pos.png
and custom-plugin-page-full.png
are present in the expected docs/扩展能力使用教程/imgs/
directory.
🏁 Scripts executed
The following scripts were executed for the analysis:
Script:
#!/bin/bash
# Check if the referenced images exist
fd -t f "custom-plugin-page-pos.png|custom-plugin-page-full.png" docs/
Length of output: 165
docs/扩展能力使用教程/出码功能/出码功能简介与使用.md (2)
1-6
: LGTM! Clear and well-structured introduction.
The introduction effectively explains the concept of code export and its role in the TinyEngine platform.
56-56
: Enhance image accessibility and verify the path.
Consider improving the image alt text for better accessibility and ensuring the image path is correct.
Suggested improvement for the image tag:
-![应用出码示例](./imgs/exportcode.gif)
+![应用出码示例 - 展示如何使用工具栏进行应用代码导出的操作演示](./imgs/exportcode.gif)
✅ Verification successful
Image path is valid and accessible
The verification shows that the referenced image file exportcode.gif
exists at the correct relative path docs/扩展能力使用教程/出码功能/imgs/exportcode.gif
. While the alt text could be more descriptive for accessibility, the technical implementation of the image reference is correct.
🏁 Scripts executed
The following scripts were executed for the analysis:
Script:
#!/bin/bash
# Verify if the image exists and check for other image references
fd -e gif -e png -e jpg -e jpeg . docs/扩展能力使用教程/出码功能/imgs/
# Check if there are any broken image references
rg -l '!\[.*\]\(.*\)' docs/扩展能力使用教程/出码功能/ | xargs -I {} sh -c 'echo "Checking {}:"; rg "!\[.*\]\(.*\)" {}'
Length of output: 980
docs/进阶功能/区块管理.md (3)
78-93
: LGTM! Clear and well-structured Vue component example
The Vue component example effectively demonstrates the props concept using the Composition API.
1-129
: Overall documentation quality is good
The documentation provides a comprehensive guide to block management with:
- Clear explanations and concepts
- Relevant code examples
- Visual aids for better understanding
- Proper structure and organization
The minor formatting and grammar issues noted above should be addressed, but they don't impact the overall quality and usefulness of the documentation.
🧰 Tools
🪛 LanguageTool
[uncategorized] ~68-~68: 动词的修饰一般为‘形容词(副词)+地+动词’。您的意思是否是:好"地"明白
Context: ...围进行设置,下面对相关设置项进行讲解 - 区块描述:区块的描述,可以让别人更好的明白该区块的用途以及含义 - 区块标签:区块的标签,方便消费侧用户搜索 - 公开...
(wb4)
[uncategorized] ~105-~105: 您的意思是“"既"是”吗?
Context: ...发布之后,我们在物料面板拖出区块到画布中,选中我们拖出的区块,右侧属性面板的属性即是我们定义的暴露属性 ![区块暴露属性的消费](./imgs/blockexp...
(JI11_JI2)
34-34
: Verify referenced images exist
Let's ensure all referenced images are present in the repository.
Also applies to: 49-49, 64-64, 101-101, 107-107
✅ Verification successful
All referenced images are present in the repository
All image files referenced in the documentation were found in the repository:
- createEmptyBlock.png
- createBlockFromPage.gif
- blockBaseSetting.png
- blockExposeAttr.gif
- blockexposeattrusage.gif
🏁 Scripts executed
The following scripts were executed for the analysis:
Script:
#!/bin/bash
# Description: Check if all referenced images exist in the repository
# Extract image paths and check existence
IMAGES=(
"docs/进阶功能/imgs/createEmptyBlock.png"
"docs/进阶功能/imgs/createBlockFromPage.gif"
"docs/进阶功能/imgs/blockBaseSetting.png"
"docs/进阶功能/imgs/blockExposeAttr.gif"
"docs/进阶功能/imgs/blockexposeattrusage.gif"
)
for img in "${IMAGES[@]}"; do
if fd -t f "^$(basename "$img")$" | grep -q .; then
echo "✓ Found: $img"
else
echo "✗ Missing: $img"
fi
done
Length of output: 1575
docs/基础功能/样式设置.md (1)
34-57
: LGTM! Clear instructions with helpful visuals.
The style panel configuration section is well-documented with clear steps and supporting images.
docs/基础功能/页面管理.md (4)
1-4
: LGTM! Clear and concise introduction.
The title and introduction effectively communicate the purpose and capabilities of the page management plugin.
1-60
: Well-structured and comprehensive documentation
The documentation effectively covers all aspects of page management, from basic concepts to advanced features, with appropriate visual aids and examples. The structure is logical and easy to follow.
26-26
: Verify referenced images exist
The documentation references several images. Let's ensure they are properly included in the repository.
Also applies to: 32-32, 39-39
✅ Verification successful
All referenced images are present and accessible
All image files referenced in the documentation (addFolder.png
, addPage.png
, and pagedelOrCopy.png
) exist in the correct location under docs/基础功能/imgs/
directory.
🏁 Scripts executed
The following scripts were executed for the analysis:
Script:
#!/bin/bash
# Description: Verify that referenced images exist in the repository
# Expected: All image files should be found
echo "Checking for referenced images..."
for img in "addFolder.png" "addPage.png" "pagedelOrCopy.png"; do
if fd -p "docs/基础功能/imgs/$img"; then
echo "✓ Found: $img"
else
echo "✗ Missing: $img"
fi
done
Length of output: 777
55-55
: Verify remaining image references
Let's ensure the remaining images exist in the repository.
Also applies to: 60-60
✅ Verification successful
All referenced images are present in the repository
All image files referenced in the documentation are found in their expected locations:
docs/基础功能/imgs/lifecycle.gif
docs/基础功能/imgs/pageManaIndex.png
docs/基础功能/imgs/pageManaHistoryRestore.png
🏁 Scripts executed
The following scripts were executed for the analysis:
Script:
#!/bin/bash
# Description: Verify that referenced images exist in the repository
# Expected: All image files should be found
echo "Checking for referenced images..."
for img in "lifecycle.gif" "pageManaIndex.png" "pageManaHistoryRestore.png"; do
if fd -p "docs/基础功能/imgs/$img"; then
echo "✓ Found: $img"
else
echo "✗ Missing: $img"
fi
done
Length of output: 882
docs/扩展能力使用教程/出码功能/如何自定义出码.md (3)
1-121
: Well-structured and comprehensive documentation
The document provides a clear and thorough explanation of code generation customization in TinyEngine. It effectively covers:
- Core concepts and processes
- Official capabilities and workflow
- Installation and usage
- Plugin customization
- Custom package creation
The content is well-organized with appropriate examples and visual aids.
121-121
: Verify the referenced image file
The document references the image file ./imgs/customGenCodePlugin.png
. Let's ensure it exists in the correct location.
✅ Verification successful
Image file exists at the correct location
The referenced image file ./imgs/customGenCodePlugin.png
exists at the expected relative path from the markdown file's location, making the image reference valid.
🏁 Scripts executed
The following scripts were executed for the analysis:
Script:
#!/bin/bash
# Check if the referenced image exists
fd --type f "customGenCodePlugin.png" docs/
Length of output: 91
5-5
: Verify the referenced document link
The document references 出码功能简介与使用.md
using a relative path. Let's ensure this document exists and is properly linked.
✅ Verification successful
Document link is correctly referenced
The referenced document 出码功能简介与使用.md
exists at the expected location in the same directory, making the relative path link ./出码功能简介与使用.md
valid and functional.
🏁 Scripts executed
The following scripts were executed for the analysis:
Script:
#!/bin/bash
# Check if the referenced document exists
fd --type f "出码功能简介与使用.md" docs/
Length of output: 166
docs/基础功能/初识设计器.md (3)
11-29
: Well-documented toolbar functionality!
The section provides a clear and comprehensive overview of each toolbar function, making it easy for users to understand available actions.
38-62
: Excellent documentation of core interface components!
The sections covering the canvas, settings panel, and node tree are well-structured and provide clear explanations of their functionality. The inclusion of relevant images helps users understand each component's purpose and location in the interface.
7-7
: Verify image assets existence
Let's ensure all referenced images are present in the correct location.
Also applies to: 13-13, 32-32, 40-40, 50-50, 53-53, 56-56, 60-60
✅ Verification successful
This will help us see what images actually exist in the directory, rather than just checking for specific files. This way we can verify if the referenced images exist and also see what other images might be present.
All referenced images are present in the correct location
Based on the fd
command output, all the images referenced in the documentation file are present in the correct location at docs/基础功能/imgs/
:
- platformExpend.png
- toolbaroverview.png
- pluginoverview.png
- canvasoverview.png
- settingPanelOverview.png
- stylePanelOverview.png
- eventOverview.png
- treeselectOverview.png
🏁 Scripts executed
The following scripts were executed for the analysis:
Script:
#!/bin/bash
# Description: Check if all referenced images exist in the correct location
# Get the directory of the current markdown file
DOC_DIR="docs/基础功能"
IMG_DIR="$DOC_DIR/imgs"
# List of images to check
IMAGES=(
"platformExpend.png"
"toolbaroverview.png"
"pluginoverview.png"
"canvasoverview.png"
"settingPanelOverview.png"
"stylePanelOverview.png"
"eventOverview.png"
"treeselectOverview.png"
)
# Check each image
for img in "${IMAGES[@]}"; do
if [ ! -f "$IMG_DIR/$img" ]; then
echo "Missing image: $IMG_DIR/$img"
fi
done
Length of output: 1353
Script:
#!/bin/bash
# Let's try a different approach using fd to find the actual images
fd -t f -e png . "docs/基础功能/imgs"
Length of output: 1978
docs/新手指引/快速上手.md (3)
1-7
: LGTM! Clear and concise introduction.
The introduction effectively explains the purpose of the guide and sets clear expectations for the reader.
42-43
: LGTM! Positive conclusion.
The conclusion provides a good sense of accomplishment for readers who complete the tutorial.
1-43
: Verify the existence of referenced images.
Let's ensure all referenced images exist in the repository.
✅ Verification successful
All referenced images are present in the repository
All image files referenced in the documentation exist in the correct location under docs/新手指引/imgs/
. The fd
command confirmed the presence of all required images:
- showImg.png
- page1.png
- addComponent.png
- addState.png
- imgswitch.png
- setImgSrc.png
- setImgSty.png
- setImgSta.png
- bangEnv.png
- preImgChange.png
🏁 Scripts executed
The following scripts were executed for the analysis:
Script:
#!/bin/bash
# Description: Check if all referenced images exist in the repository
# Extract image paths and check their existence
images=(
"docs/新手指引/imgs/showImg.png"
"docs/新手指引/imgs/page1.png"
"docs/新手指引/imgs/addComponent.png"
"docs/新手指引/imgs/addState.png"
"docs/新手指引/imgs/imgswitch.png"
"docs/新手指引/imgs/setImgSrc.png"
"docs/新手指引/imgs/setImgSty.png"
"docs/新手指引/imgs/setImgSta.png"
"docs/新手指引/imgs/bangEnv.png"
"docs/新手指引/imgs/preImgChange.png"
)
for img in "${images[@]}"; do
if [ ! -f "$img" ]; then
echo "Missing image: $img"
fi
done
Length of output: 1524
Script:
#!/bin/bash
# Let's try a different approach using fd to find the actual images
fd -e png . "docs/新手指引/imgs"
Length of output: 421
🧰 Tools
🪛 Markdownlint (0.35.0)
8-8: Expected: h2; Actual: h3
Heading levels should only increment by one level at a time
(MD001, heading-increment)
10-10: null
Images should have alternate text (alt text)
(MD045, no-alt-text)
14-14: null
Images should have alternate text (alt text)
(MD045, no-alt-text)
18-18: null
Images should have alternate text (alt text)
(MD045, no-alt-text)
22-22: null
Images should have alternate text (alt text)
(MD045, no-alt-text)
docs/扩展能力使用教程/出码功能/自定义页面出码插件.md (1)
548-549
: Verify documentation coverage of all API features.
Let's verify that all exported APIs and features are properly documented.
✅ Verification successful
Let me analyze the output to verify the documentation coverage.
The search results show:
- A large number of exported functions and types across the codebase
- The documentation file in question is specifically about custom page code generation plugins
- The
IInsertPosition
type being reviewed is related to code generation functionality
Let me verify if all the exported APIs related to code generation are properly documented.
Let me do one more verification to check the code generation related APIs and their documentation coverage.
Based on the documentation review, I can now provide a final assessment of the documentation coverage:
Documentation coverage is complete and accurate
The documentation thoroughly covers the IInsertPosition
type and its usage context:
-
The type is properly documented with all valid values: 'AFTER_IMPORT' | 'BEFORE_PROPS' | 'AFTER_PROPS' | 'BEFORE_EMIT' | 'AFTER_EMIT' | 'BEFORE_STATE' | 'AFTER_STATE' | 'BEFORE_METHODS' | 'AFTER_METHODS'
-
The documentation provides:
- Complete API reference in the TypeScript interfaces section
- Clear explanation of how to use these positions with
addStatement
method - Practical examples showing usage in code generation
- Comprehensive context about where and when to use these insert positions
-
The type is properly integrated into the broader code generation documentation, showing its role in the plugin system
The documentation is well-structured and provides all necessary information for developers to understand and use the IInsertPosition
type correctly.
🏁 Scripts executed
The following scripts were executed for the analysis:
Script:
#!/bin/bash
# Search for potential undocumented APIs
echo "Searching for exported functions and types..."
rg -t ts -t js "export (type|interface|function|class)" --no-filename
# Search for TODO comments that might indicate incomplete documentation
echo "Checking for TODO comments..."
rg -i "todo|fixme|xxx" --no-filename
Length of output: 68140
Script:
#!/bin/bash
# Search for exported types/interfaces related to code generation
echo "Searching for code generation related types..."
rg -t ts -t js "export (type|interface)" --context 2
# Search for code generation related content in docs
echo "Searching docs for code generation APIs..."
fd -e md -x grep -l "InsertPosition" {} \;
Length of output: 332
Script:
#!/bin/bash
# Search for code generation related content in the specific doc file
echo "Checking code generation documentation content..."
cat "./docs/扩展能力使用教程/出码功能/自定义页面出码插件.md"
# Search for all exported types/interfaces in the codebase
echo "Searching for all exported types..."
ast-grep --pattern 'export type $_ = $$$'
Length of output: 13261
docs/实战案例/SMB轻量应用服务.md (1)
11-11
: Verify image paths and ensure images are committed
Multiple image references (./imgs/...
) are used. Please verify:
- All referenced images exist in the repository
- Image paths are correct relative to the document location
- Images are committed as part of this PR
Also applies to: 17-17, 28-28, 38-38, 44-44, 48-48
✅ Verification successful
The first verification showed that most images exist, but I need to verify the relative paths are correct based on the document's location and check all image references in the document.
All referenced images exist and paths are correct
All image references in docs/实战案例/SMB轻量应用服务.md
use relative paths (./imgs/
) and the corresponding images are present in the correct location (docs/实战案例/imgs/
). The verification confirms:
- Document location:
docs/实战案例/SMB轻量应用服务.md
- All 6 referenced images exist:
smbHome.png
app.png
blockSettings.png
blockProps.png
download.png
code.png
🏁 Scripts executed
The following scripts were executed for the analysis:
Script:
#!/bin/bash
# Check if referenced images exist
for img in smbHome.png app.png blockSettings.png blockProps.png download.png code.png; do
fd -t f "$img" || echo "Missing: $img"
done
Length of output: 995
Script:
#!/bin/bash
# Check the actual document location and verify relative paths
fd -p "SMB轻量应用服务.md$" --full-path
# List all image references in the document
rg "!\[.*\]\(.*\.png\)" "docs/实战案例/SMB轻量应用服务.md"
Length of output: 415
docs/实战案例/图元编排设计器.md (1)
88-98
: LGTM! Clear plugin export structure example.
The code example clearly demonstrates the required plugin export structure with well-documented properties.
docs/进阶功能/如何使用插槽.md (1)
12-36
: LGTM! Clear and practical slot usage examples.
The Vue.js code examples effectively demonstrate both slot declaration and usage patterns.
docs/生态中心/介绍.md (1)
1-10
: Documentation structure and content look good!
The ecological center overview is well-structured and provides clear explanations of the five key ecosystems. The content flows logically from the overview to specific components, making it easy for readers to understand the TinyEngine ecosystem.
🧰 Tools
🪛 Markdownlint (0.35.0)
5-5: null
Images should have alternate text (alt text)
(MD045, no-alt-text)
docs/基础功能/页面和区块预览.md (1)
1-25
: Documentation is comprehensive and well-structured!
The page/block preview documentation effectively:
- Explains the purpose and necessity of the preview feature
- Provides clear navigation instructions
- Includes visual examples
- Lists additional validation features
The content organization makes it easy for developers to understand and use the preview functionality.
🧰 Tools
🪛 LanguageTool
[uncategorized] ~5-~5: 动词的修饰一般为‘形容词(副词)+地+动词’。您的意思是否是:最终"地"表现
Context: ... 在一些场景下,设计器的画布并不能使得我们直观的感受到所设计的区块或者页面最终的表现。比如说,当页面上区块和组件应用层次较多,区块之间或者组件之间交互行为较为复...
(wb4)
[uncategorized] ~5-~5: 您不可用“是”来表达个形容词。大部分人都平常用“很”来代替“是”。您是不是想表达"很困难"?
Context: ...组件之间交互行为较为复杂时,我们在画布上去清晰的感知页面的静态布局以及动态交互很是困难,这时候就需要设计器的页面/区块预览能力来为开发提供帮助 ### 页面...
(SHI_ADHECTIVE_ERROR)
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Actionable comments posted: 0
🧹 Outside diff range and nitpick comments (10)
docs/基础功能/国际化.md (2)
72-72
: Fix variable binding example formatThe variable binding example could be more readable using code formatting.
Apply this diff:
-输入变量t('lowcode.67564435'),其中lowcode.67564435为词条的key值 +输入变量 `t('lowcode.67564435')`,其中 `lowcode.67564435` 为词条的key值
77-79
: Add visual reference for language toggleThe instructions mention a language toggle button but don't show where it is located. Consider adding a screenshot of the top toolbar highlighting the language toggle button.
Add a new image and description:
**图 7** 语言切换按钮 ![Language toggle button in the top toolbar](./imgs/language-toggle.png "Language toggle button location")docs/新手指引/简介.md (5)
3-4
: Improve text formatting for better readabilityConsider merging these lines into a single paragraph to ensure consistent rendering across different Markdown processors:
-<b>低代码平台</b>是一种应用程序开发平台,允许用户以图形化方式构建应用程序,通过拖放组件、模板和可视化界面,降低了开发者和非技术用户的技能门槛。用户只需编写少量代码,便可以实现复杂的功能。这种方式不仅提高了开发速度, -随着数字化转型的加速,企业越来越多地寻求降低开发成本、提升开发效率的解决方案。 +<b>低代码平台</b>是一种应用程序开发平台,允许用户以图形化方式构建应用程序,通过拖放组件、模板和可视化界面,降低了开发者和非技术用户的技能门槛。用户只需编写少量代码,便可以实现复杂的功能。这种方式不仅提高了开发速度,随着数字化转型的加速,企业越来越多地寻求降低开发成本、提升开发效率的解决方案。Also, consider using Markdown's native bold syntax
**低代码平台**
instead of HTML<b>
tags.
12-13
: Improve text formatting and list readabilityConsider reformatting these lines for better readability:
-低代码引擎它内置了一个功能强大的低代码设计器,用户可以基于低代码引擎定制(开发)出各种低代码平台,如:流程编排平台、页面编排平台、图元编排平台、移动端页面开发平台 -、大屏开发平台等等...... +低代码引擎它内置了一个功能强大的低代码设计器,用户可以基于低代码引擎定制(开发)出各种低代码平台,如: +- 流程编排平台 +- 页面编排平台 +- 图元编排平台 +- 移动端页面开发平台 +- 大屏开发平台 +等。
23-23
: Fix Chinese grammar in the sentenceAdd the particle "地" for correct Chinese grammar:
-得益于 TinyEngine 强大的开放物料设计 +得益于 TinyEngine 强大地开放物料设计🧰 Tools
🪛 LanguageTool
[uncategorized] ~23-~23: 动词的修饰一般为‘形容词(副词)+地+动词’。您的意思是否是:强大"地"开放
Context: ...nyEngine 有开放的物料协议和扩展接口:得益于 TinyEngine 强大的开放物料设计,可直接导入第三方组件库,例如 elementUI 和 AntDes...(wb4)
31-37
: Remove excessive empty linesKeep only one empty line at the end of the file. Remove lines 32-37.
1-29
: Enhance document structure and navigationConsider these improvements to the document structure:
- Add a table of contents at the beginning for better navigation
- Convert the numbered feature list (points 1-5) to proper Markdown heading sections for better structure and navigation
Example TOC:
## 目录 - [简介](#简介) - [低代码引擎背景](#低代码引擎背景) - [低代码引擎的定位](#低代码引擎的定位) - [TinyEngine 低代码引擎介绍](#tinyengine-低代码引擎介绍) - [插件体系](#插件体系) - [物料协议](#物料协议) - [混合开发](#混合开发) - [AI 辅助开发](#ai-辅助开发) - [架构优势](#架构优势)🧰 Tools
🪛 LanguageTool
[uncategorized] ~23-~23: 动词的修饰一般为‘形容词(副词)+地+动词’。您的意思是否是:强大"地"开放
Context: ...nyEngine 有开放的物料协议和扩展接口:得益于 TinyEngine 强大的开放物料设计,可直接导入第三方组件库,例如 elementUI 和 AntDes...(wb4)
docs/开始/简介.md (3)
45-49
: Remove unnecessary blank lines at the end of the documentMultiple consecutive blank lines at the end of the document should be removed to maintain cleaner documentation.
随着低代码平台的普及,TinyEngine 将不断优化和扩展其功能。未来,TinyEngine 可能会集成更多的人工智能和机器学习功能,使得应用程序更加智能化和自动化。同时,团队将继续提升用户体验,确保平台的易用性和灵活性。 - - - -
16-16
: Clarify the mixed development statementThe current phrasing "支持高代码与低代码,混合开发部署应用" could be ambiguous. Consider rephrasing to clarify if mixed development applies to both high-code and low-code.
Suggested revision:
-支持高代码与低代码,混合开发部署应用 +支持高代码与低代码的混合开发与部署应用🧰 Tools
🪛 LanguageTool
[uncategorized] ~16-~16: 数量词修饰并列短语,可能产生歧义
Context: ...持二次开发或被集成 - 直接生成可部署的源码,运行时无需引擎支撑 - 允许接入第三方组件、允许定制扩展插件 - 支持高代码与低代码,混合开发部署应用 - 平台接入 AI ...(s5)
9-9
: Fix typo: Remove repeated wordThere's a repeated word "的" in the phrase "企业组织理念的的".
-TinyEngine 的设计理念是通过简化复杂的开发过程,使更多的企业或组织用户能够轻松创建高效、功能丰富的低代码平台。它采用模块化设计,开发者可以通过模块的配置、替换、覆盖来构建符合企业组织理念的的低代码平台,打造出专业级的企业应用程序生成器。 +TinyEngine 的设计理念是通过简化复杂的开发过程,使更多的企业或组织用户能够轻松创建高效、功能丰富的低代码平台。它采用模块化设计,开发者可以通过模块的配置、替换、覆盖来构建符合企业组织理念的低代码平台,打造出专业级的企业应用程序生成器。
📜 Review details
Configuration used: CodeRabbit UI
Review profile: CHILL
📒 Files selected for processing (9)
docs/基础功能/初识设计器.md
(1 hunks)docs/基础功能/国际化.md
(1 hunks)docs/基础功能/样式设置.md
(1 hunks)docs/基础功能/设计器界面模块简介.md
(1 hunks)docs/开始/简介.md
(1 hunks)docs/扩展能力使用教程/出码功能/如何自定义出码.md
(1 hunks)docs/扩展能力使用教程/开发设置器组件.md
(1 hunks)docs/新手指引/快速上手.md
(1 hunks)docs/新手指引/简介.md
(1 hunks)
🚧 Files skipped from review as they are similar to previous changes (6)
- docs/新手指引/快速上手.md
- docs/扩展能力使用教程/开发设置器组件.md
- docs/基础功能/样式设置.md
- docs/基础功能/设计器界面模块简介.md
- docs/扩展能力使用教程/出码功能/如何自定义出码.md
- docs/基础功能/初识设计器.md
🧰 Additional context used
🪛 Markdownlint (0.35.0)
docs/基础功能/国际化.md
7-7: null
Images should have alternate text (alt text)
(MD045, no-alt-text)
12-12: null
Images should have alternate text (alt text)
(MD045, no-alt-text)
16-16: null
Images should have alternate text (alt text)
(MD045, no-alt-text)
22-22: null
Images should have alternate text (alt text)
(MD045, no-alt-text)
28-28: null
Images should have alternate text (alt text)
(MD045, no-alt-text)
29-29: null
Images should have alternate text (alt text)
(MD045, no-alt-text)
32-32: null
Images should have alternate text (alt text)
(MD045, no-alt-text)
39-39: null
Images should have alternate text (alt text)
(MD045, no-alt-text)
40-40: null
Images should have alternate text (alt text)
(MD045, no-alt-text)
44-44: null
Images should have alternate text (alt text)
(MD045, no-alt-text)
48-48: null
Images should have alternate text (alt text)
(MD045, no-alt-text)
52-52: null
Images should have alternate text (alt text)
(MD045, no-alt-text)
58-58: null
Images should have alternate text (alt text)
(MD045, no-alt-text)
59-59: null
Images should have alternate text (alt text)
(MD045, no-alt-text)
64-64: null
Images should have alternate text (alt text)
(MD045, no-alt-text)
68-68: null
Images should have alternate text (alt text)
(MD045, no-alt-text)
71-71: null
Images should have alternate text (alt text)
(MD045, no-alt-text)
75-75: null
Images should have alternate text (alt text)
(MD045, no-alt-text)
🪛 LanguageTool
docs/开始/简介.md
[uncategorized] ~16-~16: 数量词修饰并列短语,可能产生歧义
Context: ...持二次开发或被集成 - 直接生成可部署的源码,运行时无需引擎支撑 - 允许接入第三方组件、允许定制扩展插件 - 支持高代码与低代码,混合开发部署应用 - 平台接入 AI ...
(s5)
docs/新手指引/简介.md
[uncategorized] ~23-~23: 动词的修饰一般为‘形容词(副词)+地+动词’。您的意思是否是:强大"地"开放
Context: ...nyEngine 有开放的物料协议和扩展接口:得益于 TinyEngine 强大的开放物料设计,可直接导入第三方组件库,例如 elementUI 和 AntDes...
(wb4)
🔇 Additional comments (6)
docs/基础功能/国际化.md (3)
1-9
: Add alt text to images for accessibility
The note icon image is missing alt text.
Apply this diff:
-![](public_sys-resources/icon-note.gif)
+![Note icon](public_sys-resources/icon-note.gif)
🧰 Tools
🪛 Markdownlint (0.35.0)
7-7: null
Images should have alternate text (alt text)
(MD045, no-alt-text)
10-25
: Add alt text to images and improve image references
The i18n icon and screenshot images are missing alt text. Additionally, consider using more descriptive figure captions.
Apply these diffs:
-![](./imgs/icon-i18n.png)
+![Internationalization menu icon](./imgs/icon-i18n.png)
-![](./imgs/addWords.png "addWords")
+![Screenshot of adding a new internationalization entry](./imgs/addWords.png "Adding new internationalization entry")
🧰 Tools
🪛 Markdownlint (0.35.0)
12-12: null
Images should have alternate text (alt text)
(MD045, no-alt-text)
16-16: null
Images should have alternate text (alt text)
(MD045, no-alt-text)
22-22: null
Images should have alternate text (alt text)
(MD045, no-alt-text)
26-36
: Add alt text to images and improve image references
The icons and screenshot images are missing alt text.
Apply these diffs:
-![](./imgs/icon-i18n.png)
+![Internationalization menu icon](./imgs/icon-i18n.png)
-![](./imgs/icon-edit.png)
+![Edit icon](./imgs/icon-edit.png)
-![](./imgs/editWord.png "editWord")
+![Screenshot of editing an internationalization entry](./imgs/editWord.png "Editing internationalization entry")
🧰 Tools
🪛 Markdownlint (0.35.0)
28-28: null
Images should have alternate text (alt text)
(MD045, no-alt-text)
29-29: null
Images should have alternate text (alt text)
(MD045, no-alt-text)
32-32: null
Images should have alternate text (alt text)
(MD045, no-alt-text)
docs/新手指引/简介.md (1)
15-15
: Previous accessibility comment still applies
The images still need descriptive alt text for accessibility purposes, as mentioned in the previous review.
Also applies to: 19-19
docs/开始/简介.md (2)
18-18
: Consider adding more details about AI integration
The mention of AI model capabilities ("平台接入 AI 大模型能力") would benefit from:
- Specific examples of AI features
- How developers can utilize these capabilities
- Any limitations or requirements
Let's check if there are other documentation files about AI integration:
15-15
: Verify the standalone deployment capability
The claim "直接生成可部署的源码,运行时无需引擎支撑" is a significant feature. Let's ensure this is properly documented elsewhere.
✅ Verification successful
The standalone deployment capability is verified
Based on the codebase analysis, the claim "直接生成可部署的源码,运行时无需引擎支撑" (generates deployable source code without engine support at runtime) is accurate. The evidence shows:
- The
buildMaterials.mjs
script generates a standalone bundle that includes:- Complete component definitions with their npm packages and versions
- Self-contained blocks and snippets
- Component maps with explicit package dependencies
- The build process creates deployable assets that are independent of the engine:
- Components are bundled with their required npm packages
- Assets are compiled into standalone deployable format
- No runtime engine dependencies are included in the output
🏁 Scripts executed
The following scripts were executed for the analysis:
Script:
#!/bin/bash
# Search for documentation about standalone deployment
fd -e md -e mdx | xargs rg -l "无需引擎|独立部署|standalone|deployable"
Length of output: 212
Script:
#!/bin/bash
# Let's check the content of these files for more details about standalone deployment
echo "=== README.md ==="
cat README.md
echo -e "\n=== README.zh-CN.md ==="
cat README.zh-CN.md
echo -e "\n=== docs/开始/简介.md ==="
cat "docs/开始/简介.md"
Length of output: 6692
Script:
#!/bin/bash
# Let's search for code generation related files and implementations
echo "=== Searching for code generation related files ==="
fd -t f | rg -l "generate|codegen|源码|部署"
echo -e "\n=== Checking package.json for build scripts ==="
cat package.json | jq '.scripts'
echo -e "\n=== Looking for code generation implementations ==="
ast-grep --pattern 'function $_($$_) {
$$$
generate
$$$
}'
Length of output: 2118
Script:
#!/bin/bash
# Let's check the build and materials-related scripts
echo "=== Checking build materials script ==="
cat ./scripts/buildMaterials.mjs
echo -e "\n=== Checking designer-demo build configuration ==="
fd -t f -p "packages/designer-demo" | rg -l "build|vite.config"
Length of output: 6096
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Actionable comments posted: 1
🧹 Outside diff range and nitpick comments (22)
docs/生态中心/发布其他生态.md (4)
1-1
: Fix markdown heading formattingThe heading has incorrect indentation. Remove the leading space to comply with markdown standards.
- ## 如何发布其他生态 +## 如何发布其他生态🧰 Tools
🪛 Markdownlint (0.37.0)
1-1: null
Headings must start at the beginning of the line(MD023, heading-start-left)
4-4
: Enhance image reference documentationConsider adding alt text that better describes the image content and ensure the image path is correct.
-![发布插件](./imgs/ecology3.png) +![插件发布流程和配置界面截图](./imgs/ecology3.png)
5-9
: Improve content structure and readabilityThe content would benefit from better formatting and clearer sentence structure. Consider using bullet points for better readability.
-插件仓库地址为插件 npm 包所在的仓库地址 -版本号决定了安装哪一个版本的 npm 包 -被标识为官方的插件会显示"官方"字样 -被标识为默认的插件会在创建设计器时默认被选中 -公开决定了插件的可见范围,私有代表仅自己可见,公开代表所有用户可见,半公开只对选中组织内的用户可见 +### 配置说明: + +* **仓库地址**:插件的 npm 包所在的仓库地址 +* **版本号**:指定要安装的 npm 包版本 +* **标识类型**: + * 官方插件:会显示"官方"标识 + * 默认插件:创建设计器时会默认选中 +* **可见范围**: + * 私有:仅创建者可见 + * 公开:所有用户可见 + * 半公开:仅选中组织内的用户可见🧰 Tools
🪛 LanguageTool
[uncategorized] ~7-~7: 能愿动词不能成为‘把’字句、‘被’字句的谓语动词。应该是:"会被……标识"。
Context: ...为插件 npm 包所在的仓库地址 版本号决定了安装哪一个版本的 npm 包 被标识为官方的插件会显示“官方”字样 被标识为默认的插件会在创建设计器时默认被选中 公开决定了插...(wa3)
[uncategorized] ~8-~8: 能愿动词不能成为‘把’字句、‘被’字句的谓语动词。应该是:"会被……标识"。
Context: ...号决定了安装哪一个版本的 npm 包 被标识为官方的插件会显示“官方”字样 被标识为默认的插件会在创建设计器时默认被选中 公开决定了插件的可见范围,私有代表仅自己可见,公开代...(wa3)
1-9
: Consider adding more comprehensive documentationThe current documentation could be enhanced with additional sections:
- Prerequisites or requirements
- Step-by-step publishing process
- Troubleshooting guide
- Examples or use cases
Would you like me to help generate a more detailed documentation structure?
🧰 Tools
🪛 LanguageTool
[uncategorized] ~7-~7: 能愿动词不能成为‘把’字句、‘被’字句的谓语动词。应该是:"会被……标识"。
Context: ...为插件 npm 包所在的仓库地址 版本号决定了安装哪一个版本的 npm 包 被标识为官方的插件会显示“官方”字样 被标识为默认的插件会在创建设计器时默认被选中 公开决定了插...(wa3)
[uncategorized] ~8-~8: 能愿动词不能成为‘把’字句、‘被’字句的谓语动词。应该是:"会被……标识"。
Context: ...号决定了安装哪一个版本的 npm 包 被标识为官方的插件会显示“官方”字样 被标识为默认的插件会在创建设计器时默认被选中 公开决定了插件的可见范围,私有代表仅自己可见,公开代...(wa3)
🪛 Markdownlint (0.37.0)
1-1: null
Headings must start at the beginning of the line(MD023, heading-start-left)
docs/关于物料/创建物料资产包.md (2)
5-5
: Consider improving the step formattingThe steps would be more readable using a numbered list format.
-用户可以在生态中心创建物料资产包,*新建物料资产包* → *填写必要的字段* → *保存。* +用户可以在生态中心创建物料资产包,步骤如下: +1. 新建物料资产包 +2. 填写必要的字段 +3. 保存
8-8
: Improve grammar in version descriptionConsider adding a measure word for better Chinese grammar.
-物料资产包版本是用户自定义的,用户可以将物料资产包回退到任一版本。 +物料资产包版本是用户自定义的,用户可以将物料资产包回退到任意一个版本。docs/解决方案/区块发布方案.md (4)
131-132
: Format API endpoints consistentlyUse code formatting for API endpoints for better readability:
- 接口地址: /material-center/block/deploy + 接口地址: `/material-center/block/deploy` - 接口地址:`/app-center/api/tasks/status/:taskId` + 接口地址: `/app-center/api/tasks/status/:taskId`Also applies to: 166-167
95-121
: Fix markdown formatting issuesPlease address the following markdown formatting issues:
- Fix list indentation (remove extra spaces before list items)
- Add language specifiers to code blocks
- Use consistent code block style (prefer fenced code blocks with backticks)
- Remove spaces inside code spans
Example fix for list indentation:
- - 创建区块 + - 创建区块 - - 编辑区块并保存 + - 编辑区块并保存🧰 Tools
🪛 Markdownlint (0.37.0)
95-95: Expected: 0; Actual: 2
Unordered list indentation(MD007, ul-indent)
99-99: Expected: 0; Actual: 2
Unordered list indentation(MD007, ul-indent)
103-103: Expected: 0; Actual: 2
Unordered list indentation(MD007, ul-indent)
113-113: Expected: 0; Actual: 2
Unordered list indentation(MD007, ul-indent)
107-107: Expected: fenced; Actual: indented
Code block style(MD046, code-block-style)
111-111: Expected: fenced; Actual: indented
Code block style(MD046, code-block-style)
117-117: Expected: fenced; Actual: indented
Code block style(MD046, code-block-style)
121-121: Expected: fenced; Actual: indented
Code block style(MD046, code-block-style)
57-58
: Ensure consistent terminologyPlease verify the Chinese translation of "Microsoft" throughout the document. Use "微软" consistently instead of any other variations.
13-21
: Add security warning for token handlingPlease add a security warning about the proper handling of npm access tokens:
> :warning: **Security Note**: Never commit npm access tokens to version control or share them in public repositories. Always use secure environment variables or secret management systems to handle sensitive tokens.
docs/index.md (1)
1-2
: Consider adding a brief introduction section.The documentation would benefit from a short introduction section before the table of contents, explaining the purpose and scope of TinyEngine.
# 目录 + +TinyEngine 是一个低代码开发平台,提供可视化搭建、组件开发、应用管理等功能。本文档将帮助您了解和使用 TinyEngine 的各项功能。docs/扩展能力使用教程/如何开发插件.md (4)
29-34
: Use tree highlighting for directory structureFor better visualization of directory structure, use
tree
instead ofbash
highlighting.-```bash +```tree pluginProject - src 插件源码 - index.js 注册插件入口,需要导出约定的数据结构 - package.json--- `41-49`: **Fix code indentation** The object properties have inconsistent indentation. Align all properties for better readability. ```diff export default { - id: 'pluginId', // 插件id + id: 'pluginId', // 插件id title: 'pluginName', // 插件名 icon: 'js', // 插件 icon align: 'top', // 插件位置,左侧插件可选值:'top' | 'bottom' 工具栏可选值:'right' | 'center' | 'left' component, // 插件面板打开时渲染的组件 api, // 插件暴露的 api,可以提供给其他插件调用 }
79-79
: Improve prop description formattingThe
isCloseLeft
prop description is embedded in the prop value, making it hard to read. Consider moving it to a separate props documentation section.-<plugin-panel title="插件 教程" isCloseLeft="false 关闭图标是否在左侧(挨着标题),默认 false,在右侧"> +<plugin-panel + title="插件 教程" + :isCloseLeft="false" <!-- 关闭图标是否在左侧(挨着标题),默认 false,在右侧 --> +>
284-284
: Fix typo in function nameThere's a typo in the function name 'insertNodde'.
-insertNodde(...参数) +insertNode(...参数)docs/开始/快速上手.md (3)
13-13
: Fix formatting inconsistencyRemove the extra space at the beginning of the line:
-- chrome浏览器 110+ 版本 +- chrome浏览器 110+ 版本
89-96
: Fix code block indentation and diff formattingThe code block uses inconsistent indentation. Also, the diff markers need proper spacing:
export default { // ... - plugins: [Materials, Tree, Page, Block, Datasource, Bridge, I18n, Script, State, Schema, Help, Robot], + plugins: [DemoPlugin, Materials, Tree, Page, Block, Datasource, Bridge, I18n, Script, State, Schema, Help, Robot], dsls: [{ id: 'engine.dsls.dslvue' }], settings: [Props, Styles, Events], canvas: Canvas }🧰 Tools
🪛 Markdownlint (0.37.0)
90-90: Column: 1
Hard tabs(MD010, no-hard-tabs)
124-141
: Add language specification to code blockAdd a language specification to the directory structure code block for proper syntax highlighting:
-``` +```text ... ├─ designer-demo # 此处为高度可定制化的低代码平台,即用户自己的低代码设计器 │ ├─ env🧰 Tools
🪛 Markdownlint (0.37.0)
124-124: null
Fenced code blocks should have a language specified(MD040, fenced-code-language)
docs/基础功能/使用组件.md (1)
20-20
: Improve language clarityConsider revising the sentence structure for better readability:
-对于复杂的页面,嵌套层级可能很深,直接拖拽并不能很好的拖入到指定的层级中 +对于复杂的页面,嵌套层级可能很深,直接拖拽并不能很好地拖入到指定的层级中🧰 Tools
🪛 LanguageTool
[uncategorized] ~20-~20: 动词的修饰一般为‘形容词(副词)+地+动词’。您的意思是否是:好"地"拖
Context: ...# 从画布中直接添加组件 对于复杂的页面,嵌套层级可能很深,直接拖拽并不能很好的拖入到指定的层级中,所以,设计器提供在画布中右键精准添加组件的能力。 1. 画...(wb4)
docs/解决方案/设计器中引入第三方组件库.md (3)
6-8
: Add version compatibility informationConsider adding a section about version compatibility at the beginning of the document. This would help users understand which versions of element-plus are supported by the integration process.
Example addition:
## 版本兼容性 本文档基于以下版本进行说明: - element-plus: ^2.3.8 - @opentiny/tiny-engine: <version> 其他版本可能需要适当调整配置。
10-10
: Improve language clarityConsider revising the sentence structure:
-下面将在协议基础上对**核心字段**作进一步的解释 +下面将在协议基础上对**核心字段**作进一步地解释🧰 Tools
🪛 LanguageTool
[uncategorized] ~10-~10: 动词的修饰一般为‘形容词(副词)+地+动词’。您的意思是否是:进一步"地"解释
Context: ...ts、组件面板配置snippets。下面将在协议基础上对核心字段作进一步的解释,可以打开源码中物料资产包文件(packages\design-core\p...(wb4)
208-213
: Enhance preview section with troubleshooting informationConsider adding common troubleshooting steps and verification methods to the preview section to help users diagnose potential issues.
Example addition:
### 常见问题排查 - 如果预览白屏,请检查 importmap 中的 CDN 链接是否可访问 - 如果组件无法渲染,请检查 npm 配置是否正确 - 如果样式异常,请确认 css 文件是否正确加载
📜 Review details
Configuration used: CodeRabbit UI
Review profile: CHILL
Plan: Pro
📒 Files selected for processing (18)
docs/index.md
(1 hunks)docs/关于应用/创建应用(创建空白应用、从模板创建应用).md
(1 hunks)docs/关于物料/创建物料资产包.md
(1 hunks)docs/关于设计器/创建设计器.md
(1 hunks)docs/关于设计器/定制物料资产包、主题、DSL、工具栏和插件栏.md
(1 hunks)docs/基础功能/使用组件.md
(1 hunks)docs/基础功能/国际化.md
(1 hunks)docs/基础功能/查看大纲树.md
(1 hunks)docs/基础功能/样式设置.md
(1 hunks)docs/基础功能/行内样式绑定状态变量.md
(1 hunks)docs/基础功能/设计前端应用流程.md
(1 hunks)docs/开始/快速上手.md
(1 hunks)docs/扩展能力使用教程/如何开发插件.md
(1 hunks)docs/生态中心/介绍.md
(1 hunks)docs/生态中心/发布其他生态.md
(1 hunks)docs/生态中心/如何发布区块.md
(1 hunks)docs/解决方案/区块发布方案.md
(1 hunks)docs/解决方案/设计器中引入第三方组件库.md
(1 hunks)
🚧 Files skipped from review as they are similar to previous changes (9)
- docs/基础功能/查看大纲树.md
- docs/关于设计器/创建设计器.md
- docs/基础功能/行内样式绑定状态变量.md
- docs/关于应用/创建应用(创建空白应用、从模板创建应用).md
- docs/生态中心/如何发布区块.md
- docs/生态中心/介绍.md
- docs/基础功能/设计前端应用流程.md
- docs/关于设计器/定制物料资产包、主题、DSL、工具栏和插件栏.md
- docs/基础功能/样式设置.md
🧰 Additional context used
🪛 LanguageTool
docs/解决方案/设计器中引入第三方组件库.md
[uncategorized] ~10-~10: 动词的修饰一般为‘形容词(副词)+地+动词’。您的意思是否是:进一步"地"解释
Context: ...ts、组件面板配置snippets。下面将在协议基础上对核心字段作进一步的解释,可以打开源码中物料资产包文件(packages\design-core\p...
(wb4)
docs/关于物料/创建物料资产包.md
[uncategorized] ~8-~8: 数词与名词之间一般应存在量词,可能缺少量词。
Context: ...r的组件库与区块。 物料资产包版本是用户自定义的,用户可以将物料资产包回退到任一版本。 ...
(wa5)
docs/基础功能/使用组件.md
[uncategorized] ~20-~20: 动词的修饰一般为‘形容词(副词)+地+动词’。您的意思是否是:好"地"拖
Context: ...# 从画布中直接添加组件 对于复杂的页面,嵌套层级可能很深,直接拖拽并不能很好的拖入到指定的层级中,所以,设计器提供在画布中右键精准添加组件的能力。 1. 画...
(wb4)
docs/开始/快速上手.md
[uncategorized] ~14-~14: 动词的修饰一般为‘形容词(副词)+地+动词’。您的意思是否是:必要"地"开发
Context: ...t 代码版本管理⼯具 - chrome浏览器 110+ 版本 - 以及其他必要的开发前端开发环境、⼯具等。 ## 二、Tiny Engine CLI ...
(wb4)
[uncategorized] ~64-~64: 动词的修饰一般为‘形容词(副词)+地+动词’。您的意思是否是:新"地"插
Context: ... 另起一个终端,在当前目录下,输入下面命令,选择创建plugin类型,创建一个新的插件 ```shell npx @opentiny/tiny-engine-c...
(wb4)
[uncategorized] ~102-~102: 动词的修饰一般为‘形容词(副词)+地+动词’。您的意思是否是:新"地"插
Context: ...#### 2.2.3 开发调试插件 重新打开项目页面,可以看到侧边栏多了一个新的插件: ![cli-plugin-open](./imgs/cli-plugi...
(wb4)
docs/生态中心/发布其他生态.md
[uncategorized] ~7-~7: 能愿动词不能成为‘把’字句、‘被’字句的谓语动词。应该是:"会被……标识"。
Context: ...为插件 npm 包所在的仓库地址 版本号决定了安装哪一个版本的 npm 包 被标识为官方的插件会显示“官方”字样 被标识为默认的插件会在创建设计器时默认被选中 公开决定了插...
(wa3)
[uncategorized] ~8-~8: 能愿动词不能成为‘把’字句、‘被’字句的谓语动词。应该是:"会被……标识"。
Context: ...号决定了安装哪一个版本的 npm 包 被标识为官方的插件会显示“官方”字样 被标识为默认的插件会在创建设计器时默认被选中 公开决定了插件的可见范围,私有代表仅自己可见,公开代...
(wa3)
🪛 Markdownlint (0.37.0)
docs/基础功能/国际化.md
7-7: null
Images should have alternate text (alt text)
(MD045, no-alt-text)
16-16: null
Images should have alternate text (alt text)
(MD045, no-alt-text)
docs/开始/快速上手.md
90-90: Column: 1
Hard tabs
(MD010, no-hard-tabs)
124-124: null
Fenced code blocks should have a language specified
(MD040, fenced-code-language)
docs/生态中心/发布其他生态.md
1-1: null
Headings must start at the beginning of the line
(MD023, heading-start-left)
docs/解决方案/区块发布方案.md
95-95: Expected: 0; Actual: 2
Unordered list indentation
(MD007, ul-indent)
99-99: Expected: 0; Actual: 2
Unordered list indentation
(MD007, ul-indent)
103-103: Expected: 0; Actual: 2
Unordered list indentation
(MD007, ul-indent)
113-113: Expected: 0; Actual: 2
Unordered list indentation
(MD007, ul-indent)
63-63: null
Bare URL used
(MD034, no-bare-urls)
53-53: null
Spaces inside code span elements
(MD038, no-space-in-code)
65-65: null
Fenced code blocks should have a language specified
(MD040, fenced-code-language)
107-107: Expected: fenced; Actual: indented
Code block style
(MD046, code-block-style)
111-111: Expected: fenced; Actual: indented
Code block style
(MD046, code-block-style)
117-117: Expected: fenced; Actual: indented
Code block style
(MD046, code-block-style)
121-121: Expected: fenced; Actual: indented
Code block style
(MD046, code-block-style)
🔇 Additional comments (19)
docs/关于物料/创建物料资产包.md (2)
1-4
: LGTM!
The document structure follows good documentation practices with clear hierarchical headers.
10-10
: Verify the referenced image file exists
Please ensure the image file exists at the specified path.
✅ Verification successful
Image reference is valid
The referenced image file createMaterial.gif
exists at the correct relative path ./imgs/createMaterial.gif
from the markdown file location.
🏁 Scripts executed
The following scripts were executed for the analysis:
Script:
#!/bin/bash
# Check if the image file exists
fd -t f "createMaterial.gif" docs/关于物料/imgs/
Length of output: 125
docs/解决方案/区块发布方案.md (1)
32-33
: Consider using environment variables in code examples
The hardcoded configuration values should demonstrate the use of environment variables for better security and flexibility.
Additionally, consider adding a note about environment variable configuration:
- unpkgBaseUrl = 'https://npm.onmicrosoft.cn'
+ // Configure UNPKG_BASE_URL in your environment
+ const unpkgBaseUrl = process.env.UNPKG_BASE_URL || 'https://npm.onmicrosoft.cn'
- const name = `@opentiny-assets/tinyengine-${env}-block-${label}-${id}`
+ // Configure PACKAGE_PREFIX in your environment
+ const packagePrefix = process.env.PACKAGE_PREFIX || '@opentiny-assets'
+ const name = `${packagePrefix}/tinyengine-${env}-block-${label}-${id}`
Also applies to: 44-45
docs/index.md (3)
5-34
: LGTM! Well-structured user guide section.
The user guide section is logically organized, progressing from basic to advanced topics, with clear categorization and consistent naming conventions.
85-104
: Consider reordering sections as previously suggested.
As mentioned in the previous review comment by hexqi, consider moving the website documentation section ("网站文档") after the platform development guide section for better logical flow.
1-104
: Verify the integrity of documentation links.
Let's verify that all linked markdown files exist in the repository to prevent broken links.
✅ Verification successful
Let me analyze the output. The script checked for the existence of all markdown files linked in docs/index.md, and no missing files were reported in the output (no "Missing file:" messages were printed). This means all the linked markdown files exist in their expected locations.
All documentation links are valid and point to existing files.
🏁 Scripts executed
The following scripts were executed for the analysis:
Script:
#!/bin/bash
# Description: Check for existence of all linked markdown files
# Extract all markdown file paths and verify their existence
grep -o '\[.*\](\./[^)]*\.md)' docs/index.md | sed 's/\[.*\](\(.*\))/\1/' | while read -r file; do
# Remove './' prefix and decode URL-encoded spaces
cleaned_file=$(echo "docs${file#.}" | sed 's/%20/ /g')
if [ ! -f "$cleaned_file" ]; then
echo "Missing file: $cleaned_file"
fi
done
Length of output: 37786
docs/扩展能力使用教程/如何开发插件.md (2)
5-6
: Add line ending spaces for proper Markdown rendering
Add two spaces at the end of line 5 to ensure proper rendering of text and image on separate lines.
-在设计器中,插件的范围包括顶部工具栏、左侧插件栏。
-![插件示意图](./imgs/plugin1.png)
+在设计器中,插件的范围包括顶部工具栏、左侧插件栏。
+![插件示意图](./imgs/plugin1.png)
329-332
:
Add type checking for generateNode function
The generateNode
function is called without type checking or error handling.
<template>
- <canvas-drag-item :data="generateNode({ component: 'snippetName' })">
+ <canvas-drag-item
+ :data="safeGenerateNode({ component: 'snippetName' })"
+ @error="handleError">
// UI content
</canvas-drag-item>
</template>
docs/开始/快速上手.md (1)
40-40
: Verify image paths and accessibility
Let's verify that all referenced images exist and are accessible:
Also applies to: 56-56, 70-70, 104-104, 157-157
✅ Verification successful
All referenced images are present and accessible
All image paths in the documentation are valid and the referenced images exist in the correct location at docs/开始/imgs/
:
- ✓ tiny-engine-cli.png
- ✓ tiny-engine-cli-open.png
- ✓ cli-create-plugin.png
- ✓ cli-plugin-open.png
🏁 Scripts executed
The following scripts were executed for the analysis:
Script:
#!/bin/bash
# Check if all referenced images exist
for img in "tiny-engine-cli.png" "tiny-engine-cli-open.png" "cli-create-plugin.png" "cli-plugin-open.png"; do
if [ -f "docs/开始/imgs/$img" ]; then
echo "✓ Found: $img"
else
echo "✗ Missing: $img"
fi
done
Length of output: 1004
docs/基础功能/使用组件.md (1)
11-11
: Add alt text to images for accessibility
Images throughout the documentation are missing alt text, which is essential for accessibility.
Also applies to: 14-14, 26-26, 29-29, 34-34, 45-45, 50-50, 55-55, 58-58, 65-65, 68-68, 71-71
docs/解决方案/设计器中引入第三方组件库.md (2)
30-30
: Add alt text to images for accessibility
Images in the documentation are missing alt text. This is essential for accessibility.
Also applies to: 97-97, 132-132, 174-174
231-231
:
Fix incorrect component description
The description appears to be copied from a button component. Update it to accurately describe the ElInput component:
-"description": "常用的操作按钮,提供包括默认按钮、图标按钮、图片按钮、下拉按钮等类型",
+"description": "常用的输入框组件,支持文本输入、密码输入等多种类型",
Likely invalid or redundant comment.
docs/基础功能/国际化.md (7)
7-8
: Fix image path and add alt text
The note icon image has accessibility and path issues:
- Add alt text for accessibility
- The image path appears to be incorrect
-![](public_sys-resources/icon-note.gif)
+![注意事项图标](../public_sys-resources/icon-note.gif)
🧰 Tools
🪛 Markdownlint (0.37.0)
7-7: null
Images should have alternate text (alt text)
(MD045, no-alt-text)
12-12
: Add alt text to images in the "Adding entries" section
-![国际化插件图标](./imgs/icon-i18n.png)
+![国际化资源管理插件图标](./imgs/icon-i18n.png)
-![](public_sys-resources/icon-note.gif)
+![注意事项图标](../public_sys-resources/icon-note.gif)
-![新增词条按钮](./imgs/addWords.png "addWords")
+![国际化词条添加界面](./imgs/addWords.png "国际化词条添加界面")
Also applies to: 16-16, 22-22
28-29
: Add alt text to images in the "Editing entries" section
-![国际化插件图标](./imgs/icon-i18n.png)
+![国际化资源管理插件图标](./imgs/icon-i18n.png)
-![编辑图标](./imgs/icon-edit.png)
+![词条编辑按钮图标](./imgs/icon-edit.png)
-![编辑词条](./imgs/editWord.png "editWord")
+![国际化词条编辑界面](./imgs/editWord.png "国际化词条编辑界面")
Also applies to: 32-32
39-40
: Add alt text to images in the "Single deletion" section
-![国际化插件图标](./imgs/icon-i18n.png)
+![国际化资源管理插件图标](./imgs/icon-i18n.png)
-![删除图标](./imgs/icon-del.png)
+![词条删除按钮图标](./imgs/icon-del.png)
-![删除词条](./imgs/delWord.png "delWord")
+![国际化词条删除确认界面](./imgs/delWord.png "国际化词条删除确认界面")
Also applies to: 44-44
48-48
: Add alt text to images in the "Batch deletion" section
-![国际化插件图标](./imgs/icon-i18n.png)
+![国际化资源管理插件图标](./imgs/icon-i18n.png)
-![批量删除词条](./imgs/delBatchWord.png "delBatchWord")
+![国际化词条批量删除界面](./imgs/delBatchWord.png "国际化词条批量删除界面")
Also applies to: 52-52
58-59
: Add alt text to images in the "Copy key values" section
-![国际化插件图标](./imgs/icon-i18n.png)
+![国际化资源管理插件图标](./imgs/icon-i18n.png)
-![复制图标](./imgs/icon-copy.png)
+![词条复制按钮图标](./imgs/icon-copy.png)
-![复制词条键值](./imgs/copyKeyValue.png "复制词条键值")
+![国际化词条复制成功提示](./imgs/copyKeyValue.png "国际化词条复制成功提示")
Also applies to: 64-64
68-68
: Add alt text to images and enhance t() function documentation
-![物料插件图标](./imgs/icon-add.png)
+![物料资产包插件图标](./imgs/icon-add.png)
-![变量绑定图标](./imgs/icon-code.png)
+![变量绑定按钮图标](./imgs/icon-code.png)
-![绑定变量](./imgs/bindVariable-25.png "绑定变量-25")
+![国际化词条变量绑定界面](./imgs/bindVariable-25.png "国际化词条变量绑定界面")
Consider adding a brief explanation of the t()
function's syntax and purpose, for example:
> **说明:** t() 是国际化函数,用于根据当前语言环境返回对应的翻译文本。函数接受词条的key值作为参数。
Also applies to: 71-71, 75-75
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Actionable comments posted: 31
🧹 Nitpick comments (118)
docs/about-materials/创建物料资产包.md (3)
5-6
: Consider improving the formatting of the step-by-step processThe steps for creating a material asset package could be more readable.
Consider this format:
-用户可以在生态中心创建物料资产包,*新建物料资产包* → *填写必要的字段* → *保存。* +用户可以在生态中心创建物料资产包,步骤如下: + +1. 点击"新建物料资产包" +2. 填写必要的字段 +3. 保存
8-8
: Improve grammar in version control descriptionThe static analysis tool correctly identified a grammar issue in the Chinese text.
Consider this revision:
-物料资产包版本是用户自定义的,用户可以将物料资产包回退到任一版本。 +物料资产包的版本是用户自定义的,用户可以将物料资产包回退到任意一个版本。🧰 Tools
1-10
: Consider adding more detailed informationThe documentation could benefit from additional sections:
- Prerequisites for creating material asset packages
- Field descriptions for the required information
- Examples of version naming conventions
- Troubleshooting section
Would you like me to help generate content for these additional sections?
docs/development-getting-started/简介.md (3)
9-9
: Fix typo: Remove repeated word "的"There is a repeated word "的" in the sentence.
-TinyEngine 的设计理念是通过简化复杂的开发过程,使更多的企业或组织用户能够轻松创建高效、功能丰富的低代码平台。它采用模块化设计,开发者可以通过模块的配置、替换、覆盖来构建符合企业组织理念的的低代码平台,打造出专业级的企业应用程序生成器。 +TinyEngine 的设计理念是通过简化复杂的开发过程,使更多的企业或组织用户能够轻松创建高效、功能丰富的低代码平台。它采用模块化设计,开发者可以通过模块的配置、替换、覆盖来构建符合企业组织理念的低代码平台,打造出专业级的企业应用程序生成器。
28-35
: Consider standardizing the numbering formatFor better consistency across the documentation, consider using standard Arabic numerals (1, 2, 3) instead of "1)" style numbering.
-1) 图元编排 +1. 图元编排 -2) 流程编排 +2. 流程编排 -3) 页面编排 +3. 页面编排
45-49
: Remove extra empty linesKeep only one empty line at the end of the file, as per common documentation conventions.
- - - -docs/ecosystem-center/如何发布区块.md (3)
3-5
: Fix incomplete sentence and improve link formattingThe sentence on line 3 appears to be incomplete: "区块录入需要根据". Consider completing the sentence structure.
Additionally, the protocol link could be better formatted for consistency:
-[区块协议](https://www.opentiny.design/tiny-engine#/protocol) 填写 content 字段 +[区块协议](https://www.opentiny.design/tiny-engine#/protocol)填写 content 字段。
6-8
: Improve readability with proper paragraph breaksThe content explanation would be more readable with proper paragraph breaks and punctuation:
-因为区块可以简单理解为组件的组合,content 内每个属性的含义也可以参考课程 如何发布组件,在那个课程里详细介绍了每个属性的含义。 -需要注意的是:区块录入之后,需要在设计器中发布区块之后,才能够加入物料包中使用,用户可以参考应用开发者-区块管理课程。 -也就是说,区块录入只是替代了在设计器里新建和搭建区块的步骤。 +因为区块可以简单理解为组件的组合,content 内每个属性的含义也可以参考课程《如何发布组件》,在那个课程里详细介绍了每个属性的含义。 + +需要注意的是:区块录入之后,需要在设计器中发布区块之后,才能够加入物料包中使用。用户可以参考《应用开发者-区块管理》课程。 + +也就是说,区块录入只是替代了在设计器里新建和搭建区块的步骤。
1-9
: Consider adding more comprehensive content sectionsThe current documentation could benefit from additional sections to provide a more complete guide:
- Prerequisites or requirements before publishing a block
- Step-by-step publishing process
- Troubleshooting common issues
- Examples or use cases
Would you like me to help draft these additional sections to enhance the documentation?
docs/ecosystem-center/如何导入组件库.md (2)
11-24
: Add blank lines around table for better readability.The table should be surrounded by blank lines to improve readability and comply with Markdown best practices.
| 字段名称 | 描述 | | --- | --- | | 组件库名称 | 填写组件库名称,用于列表展示和搜索。 |
43-60
: Consider clarifying reserved fields.Several fields are marked as "reserved" (保留字段) with "暂未用到". Consider:
- Adding a brief explanation of their intended future use
- Or removing them from the documentation if they're not relevant to users
docs/ecosystem-center/发布其他生态.md (2)
1-2
: Fix heading formattingThe heading has incorrect formatting with leading spaces. Markdown headings should start at the beginning of the line.
- ## 如何发布其他生态 + ## 如何发布其他生态🧰 Tools
🪛 Markdownlint (0.37.0)
1-1: null
Headings must start at the beginning of the line(MD023, heading-start-left)
5-9
: Improve content structure and languageThe content would be more readable with better structure and some language improvements.
Consider restructuring the content as follows:
-插件仓库地址为插件 npm 包所在的仓库地址 -版本号决定了安装哪一个版本的 npm 包 -被标识为官方的插件会显示"官方"字样 -被标识为默认的插件会在创建设计器时默认被选中 -公开决定了插件的可见范围,私有代表仅自己可见,公开代表所有用户可见,半公开只对选中组织内的用户可见 +### 基本信息 +- **仓库地址**:插件 npm 包所在的仓库地址 +- **版本号**:指定要安装的 npm 包版本 + +### 插件标识 +- **官方标识**:标记为官方的插件会显示"官方"标记 +- **默认选中**:标记为默认的插件会在创建设计器时自动选中 + +### 可见范围 +插件可以设置以下可见范围: +- **私有**:仅自己可见 +- **公开**:所有用户可见 +- **半公开**:仅选中组织内的用户可见This structure:
- Improves readability with clear sections
- Uses proper bullet points for better organization
- Fixes passive voice constructions
- Makes the content easier to scan and understand
🧰 Tools
🪛 LanguageTool
[uncategorized] ~7-~7: 能愿动词不能成为‘把’字句、‘被’字句的谓语动词。应该是:"会被……标识"。
Context: ...为插件 npm 包所在的仓库地址 版本号决定了安装哪一个版本的 npm 包 被标识为官方的插件会显示“官方”字样 被标识为默认的插件会在创建设计器时默认被选中 公开决定了插...(wa3)
[uncategorized] ~8-~8: 能愿动词不能成为‘把’字句、‘被’字句的谓语动词。应该是:"会被……标识"。
Context: ...号决定了安装哪一个版本的 npm 包 被标识为官方的插件会显示“官方”字样 被标识为默认的插件会在创建设计器时默认被选中 公开决定了插件的可见范围,私有代表仅自己可见,公开代...(wa3)
docs/API/backend-api/应用工具类管理.md (5)
1-160
: Convert HTML tables to native Markdown formatThe document uses HTML tables which are less maintainable and harder to read in source form. Consider converting all HTML tables to native Markdown format for better maintainability and readability.
Example conversion for the first table (others follow same pattern):
-<table> - <thead class="ant-table-thead"> - <tr> - <th key=name>名称</th><th key=type>类型</th><th key=required>是否必须</th><th key=default>默认值</th><th key=desc>备注</th><th key=sub>其他信息</th> - </tr> - </thead> - <tbody className="ant-table-tbody"> - <!-- table content --> - </tbody> -</table> +| 名称 | 类型 | 是否必须 | 默认值 | 备注 | 其他信息 | +|------|------|----------|--------|------|----------| +| data | object | 非必须 | | 工具类详情信息 | | +| ├─ id | number | 非必须 | | | |🧰 Tools
🪛 Markdownlint (0.37.0)
18-18: null
Emphasis used instead of a heading(MD036, no-emphasis-as-heading)
24-24: null
Emphasis used instead of a heading(MD036, no-emphasis-as-heading)
63-63: null
Emphasis used instead of a heading(MD036, no-emphasis-as-heading)
69-69: null
Emphasis used instead of a heading(MD036, no-emphasis-as-heading)
110-110: null
Emphasis used instead of a heading(MD036, no-emphasis-as-heading)
144-144: null
Emphasis used instead of a heading(MD036, no-emphasis-as-heading)
13-15
: Add detailed API descriptionsThe interface descriptions are empty or minimal. Consider adding more detailed descriptions including:
- Purpose of the endpoint
- Expected behavior
- Common use cases
- Any important notes or caveats
Also applies to: 58-60, 103-105, 139-141
26-33
: Standardize response schema documentationThe response schema documentation could be improved by:
- Adding example values
- Providing more detailed field descriptions
- Documenting error responses and status codes
- Adding validation rules where applicable
Also applies to: 71-78, 119-126, 153-160
4-6
: Remove redundant anchor tagsThe document contains redundant anchor tags that don't follow a consistent format. Consider using native Markdown headers which automatically generate anchors.
-## 修改工具类 - -<a id=修改工具类> </a> +## 修改工具类 {#modify-utility-class}Also applies to: 49-51, 93-95, 129-131
146-149
: Improve query parameter documentationThe optional query parameters documentation could be enhanced by:
- Adding parameter type information
- Providing example values that demonstrate valid formats
- Documenting default values if any
docs/basic-features/页面和区块预览.md (4)
1-6
: Grammar improvements needed in the introductionThe content structure is good, but there are some grammar issues in the introduction that could be improved:
- "最终的表现" should be "最终地表现"
- "很是困难" would be more natural as "很困难"
🧰 Tools
🪛 LanguageTool
[uncategorized] ~5-~5: 动词的修饰一般为‘形容词(副词)+地+动词’。您的意思是否是:最终"地"表现
Context: ... 在一些场景下,设计器的画布并不能使得我们直观的感受到所设计的区块或者页面最终的表现。比如说,当页面上区块和组件应用层次较多,区块之间或者组件之间交互行为较为复...(wb4)
[uncategorized] ~5-~5: 您不可用“是”来表达个形容词。大部分人都平常用“很”来代替“是”。您是不是想表达"很困难"?
Context: ...组件之间交互行为较为复杂时,我们在画布上去清晰的感知页面的静态布局以及动态交互很是困难,这时候就需要设计器的页面/区块预览能力来为开发提供帮助 ### 页面...(SHI_ADHECTIVE_ERROR)
13-19
: Enhance image documentationThe before/after structure is good, but consider these improvements:
- Add more descriptive alt text instead of "Alt text"
- Consider adding image captions or descriptions to better explain what users should observe
Example improvement:
-![Alt text](./imgs/preview-pre.png) +![Canvas page structure showing the layout configuration](./imgs/preview-pre.png) + +*Figure 1: Page structure as displayed in the canvas editor*
21-25
: Consider expanding feature descriptionsThe feature list is clear but could be more helpful with additional details:
- Add brief explanations or examples for each feature
- Consider adding links to related documentation sections (e.g., internationalization, form validation)
1-25
: Overall documentation structure is goodThe documentation effectively explains the page/block preview feature. The structure flows logically from introduction to examples and features. The suggested improvements will help enhance readability and maintainability.
Consider adding these sections to make the documentation more complete:
- Troubleshooting common issues
- Browser compatibility notes
- Performance considerations
🧰 Tools
🪛 LanguageTool
[uncategorized] ~5-~5: 动词的修饰一般为‘形容词(副词)+地+动词’。您的意思是否是:最终"地"表现
Context: ... 在一些场景下,设计器的画布并不能使得我们直观的感受到所设计的区块或者页面最终的表现。比如说,当页面上区块和组件应用层次较多,区块之间或者组件之间交互行为较为复...(wb4)
[uncategorized] ~5-~5: 您不可用“是”来表达个形容词。大部分人都平常用“很”来代替“是”。您是不是想表达"很困难"?
Context: ...组件之间交互行为较为复杂时,我们在画布上去清晰的感知页面的静态布局以及动态交互很是困难,这时候就需要设计器的页面/区块预览能力来为开发提供帮助 ### 页面...(SHI_ADHECTIVE_ERROR)
docs/practical-cases/PDM元数据审批电子流.md (3)
33-49
: Enhance the directory structure documentationThe directory structure explanation could be improved by:
- Using a proper Markdown code block with 'tree' syntax highlighting
- Adding brief descriptions for each directory's purpose
- ```js + ```tree |-- canvas # Canvas module for workflow visualization |-- controller # Controller logic for workflow management |-- common # Shared utilities and common logic |-- plugins # Plugin implementations |-- settings # Configuration and settings components |-- toolbars # Toolbar components and actions |-- theme # Theme-related styles and configurations |-- index.html # Entry HTML file |-- main.js # Main application entry point |-- App.vue # Root Vue component |-- addons.js # Plugin registration and configuration `-- vite.config.js # Vite build configuration
77-111
: Improve JSON schema documentationThe JSON schema example needs improvements:
- Use proper JSON syntax highlighting
- Add comments explaining the purpose of each configuration section
- Consider adding examples of how to use these properties
-```json +```jsonc // Button component configuration schema { "schema": { "type": "object", "properties": { "size": { "title": "定义按钮尺寸", "type": "string", "enum": ["large", "medium", "small", "mini"], "enumNames": ["较大尺寸", "中等尺寸", "较小尺寸", "迷你尺寸"], - "default": "" + "default": "medium" // Set a meaningful default }, // ... rest of the schema } } } + +// Usage example: +{ + "size": "medium", + "text": "提交审批" +}
56-71
: Enhance plugin configuration exampleThe plugin configuration example needs improvements:
- Add comments explaining the purpose of each section
- Consider showing more realistic plugin configurations
import Materials from '@xxxx/lowcode-plugin-materials' +// Import other required plugins +import ProcessTree from './plugins/process-tree' +import ApprovalComponents from './plugins/approval-components' export default { plugins: [ Materials, - // ... + ProcessTree, + ApprovalComponents ], toolbars: [ - // ... + { + name: 'approval-flow', + title: '审批流程', + icon: 'flow' + } ], settings: [ - // ... + { + name: 'workflow-settings', + title: '流程配置' + } ], }docs/extension-capabilities-tutorial/code-output-function/出码功能简介与使用.md (2)
7-30
: Consider enhancing the code example with more featuresWhile the current example effectively demonstrates the basic transformation, consider expanding it to showcase more advanced features like:
- Component properties and events
- Multiple nested components
- Dynamic data binding
- Custom components
This would help users better understand the full capabilities of the code output function.
34-34
: Fix Chinese grammar in two sentencesPlease correct the following grammar issues:
- Line 34: "膨胀的非常巨大" should be "膨胀得非常巨大"
- Line 40: "完美的解决" should be "完美地解决"
These corrections will improve the document's readability and adherence to Chinese grammar rules.
Also applies to: 40-40
🧰 Tools
🪛 LanguageTool
[uncategorized] ~34-~34: 1.动词被副词修饰时,助词应该用‘得’;2.省略宾语时,助词应该用‘的’;可能造成歧义。您的意思是不是:膨胀"得"非常巨大
Context: ...但是,在我们实战经验中却发现随着需求的变更以及时间的变迁,运行时引擎的代码会膨胀的非常巨大,运行时引擎内部的架构也越来越复杂,会带来一些明显的痛点: - 由于运...(wb4)
docs/basic-features/页面管理.md (3)
9-16
: Improve the tree structure visualization for better readability.The current tree structure uses inconsistent indentation and mixed symbols (
|_
and-
). Consider using a consistent approach.Here's a suggested improvement:
- - views - |_ Index.vue - - Page2.vue - - TodoFolder - |_ Todo.vue + - views + ├── Index.vue + ├── Page2.vue + └── TodoFolder + └── Todo.vue
51-55
: Add code examples for lifecycle configuration.While the GIF demonstrates the UI interaction, adding code examples would help developers understand the expected implementation.
Consider adding a code example like this:
例如,配置 Vue3 的生命周期函数: ```vue <script setup> import { onMounted, onUpdated } from 'vue' // 组件挂载完成后执行 onMounted(() => { console.log('Component is mounted') }) // 组件更新后执行 onUpdated(() => { console.log('Component is updated') }) </script>--- `1-60`: **Overall documentation structure and content is good.** The documentation effectively covers both basic and advanced features of the page management functionality. A few suggestions for enhancement: 1. Consider adding a table of contents for better navigation 2. Add cross-references to related API documentation 3. Include troubleshooting section for common issues </blockquote></details> <details> <summary>docs/about-designer/定制物料资产包、主题、DSL、工具栏和插件栏.md (5)</summary><blockquote> `1-6`: **LGTM! Consider adding more context in the introduction.** The document structure is clear and well-organized. Consider adding: - A brief overview of the designer tool itself - Prerequisites or requirements before customization - Expected outcome after customization --- `7-9`: **Consider adding details about the material package replacement process.** While the current content clearly states the constraints, it would be helpful to add: - Steps to add a new material package - How to perform the replacement - Supported material package formats --- `10-12`: **Consider adding theme-specific details.** The section would benefit from additional information about: - Available theme options - Theme customization capabilities - Theme compatibility requirements --- `13-15`: **Consider adding technical details about DSL compatibility.** To make this section more helpful, consider adding: - List of supported technology stacks - Examples of compatible DSL and material combinations - Common compatibility issues to watch out for --- `16-20`: **Consider adding practical examples and organization tips.** These sections would benefit from: - Examples of common tool and plugin combinations - Best practices for organizing the layout - Screenshots of well-organized configurations - List of available tools and plugins with their purposes </blockquote></details> <details> <summary>docs/extension-capabilities-tutorial/定制插件UI.md (5)</summary><blockquote> `1-4`: **Consider enhancing the introduction section.** While the introduction is clear, consider adding: - A brief overview of what plugins are in TinyEngine - The benefits of UI customization - Prerequisites or requirements for customization --- `9-11`: **Enhance icon property documentation.** For the `icon` property, consider: - Listing available built-in SVG icons - Adding an example of using a custom component as an icon - Specifying the expected component interface --- `15-31`: **Add type annotations and comments to the configuration example.** Consider enhancing the code example with: - TypeScript type annotations for better IDE support - Comments explaining each configuration property's effect - A complete example showing the import statement for the Page plugin --- `55-66`: **Enhance the Vue component example with best practices.** Consider improving the Vue component example by: - Adding TypeScript support with `lang="ts"` and proper typing - Including component props interface - Adding component documentation using JSDoc - Demonstrating interaction with the plugin system Example enhancement: ```diff <!-- custom-page.vue --> +<script lang="ts"> +/** + * Custom plugin page component + * @component CustomPage + * @description Demonstrates a custom plugin UI implementation + */ +interface Props { + pluginContext?: any; // Define proper type based on plugin system +} +</script> <template> <div>{{ title }}</div> </template> -<script setup> +<script setup lang="ts"> import { ref } from 'vue' + +const props = defineProps<Props>() const title = ref('自定义插件UI') </script>
1-68
: Consider adding additional sections for completeness.To make this documentation more comprehensive, consider adding:
- A troubleshooting section with common issues and solutions
- Examples of combining multiple customization approaches
- Best practices and performance considerations
- Links to related API documentation
docs/about-materials/介绍.md (4)
1-4
: Consider adding a brief introduction paragraphTo improve document readability, consider adding a short introduction paragraph after the main title that provides an overview of what readers will learn and why it's important.
# 关于物料资产包 +物料资产包是TinyEngine设计器中的核心概念之一,它定义了如何在可视化界面中使用和管理组件与区块。本文将介绍物料的基本概念以及物料资产包的作用。 + ## 什么是物料
5-7
: Enhance visual hierarchy of the materials definitionConsider using bold text for key terms and adding bullet points for better readability.
-物料是可视化页面搭建的原料,按照粒度可分为组件库和区块 +物料是可视化页面搭建的原料,按照粒度可分为以下两类: + +* **组件库**:较小粒度的基础构建单元 +* **区块**:较大粒度的业务单元
10-11
: Consider adding practical examples or referencesTo enhance the documentation's value, consider:
- Adding a link to the material asset package configuration schema or example
- Including a reference to related API documentation
设计器中的物料需要进行一定的配置和处理,才能让用户在设计器使用起来。这个过程中,需要一份配置文件,也就是物料资产包。物料资产包文件中,针对每个物料定义了它们在设计器中的使用描述。 +例如,一个基本的物料资产包配置可能如下: +```json +{ + "name": "示例组件库", + "version": "1.0.0", + "components": [ + { + "name": "Button", + "description": "按钮组件" + } + ] +} +``` + +> 💡 查看[物料API文档](../API/物料API.md)了解更多配置详情。
1-2
: Add a table of contents for better navigationFor improved document navigation, consider adding a table of contents after the introduction:
# 关于物料资产包 +## 目录 + +- [什么是物料](#什么是物料) + - [组件库](#组件库) + - [区块](#区块) +- [什么是物料资产包](#什么是物料资产包)docs/about-materials/添加组件库和区块.md (3)
1-5
: Consider adding a line break after the introductionThe content structure is good, but adding a line break after line 5 would improve readability and maintain consistent spacing throughout the document.
7-19
: Consider enhancing the documentation with more detailsWhile the current structure is clear, consider the following improvements:
- Add step-by-step instructions for each operation
- Include any prerequisites or important notes
- Mention any limitations or common issues users might encounter
- Add examples of when users might want to add/remove components
Here's a suggested enhancement for the component library section:
-* **添加组件库:** 选中未选择的组件库 +* **添加组件库:** + 1. 打开物料资产包编辑页面 + 2. 在组件库列表中找到所需的组件库 + 3. 选中未选择的组件库 + 4. 系统会自动保存您的选择 + + > 注意:添加新的组件库可能会影响项目的构建大小
19-19
: Enhance ecosystem center reference with more detailsThe mention of the ecosystem center could be more helpful with:
- A link to the ecosystem center documentation
- Brief steps on how to access it
- Prerequisites for adding custom components
-* 用户也可以在生态中心录入自己的组件库与区块。 +* 用户也可以在生态中心录入自己的组件库与区块: + 1. 访问[生态中心](#)(需添加实际链接) + 2. 登录您的账号 + 3. 按照[组件开发指南](#)(需添加实际链接)开发您的组件 + 4. 提交组件到生态中心docs/practical-cases/SMB轻量应用服务.md (4)
21-24
: Improve list formattingThe numbered list formatting can be improved by removing extra whitespace and ensuring proper Markdown list syntax.
-区块的主要目的有两点: - - 1. 对多页面中可复用的功能或是逻辑组件化 - 2. 对复杂页面中的功能可以进行多人协作开发并将模块之间解耦开 +区块的主要目的有两点: + +1. 对多页面中可复用的功能或是逻辑组件化 +2. 对复杂页面中的功能可以进行多人协作开发并将模块之间解耦开
30-33
: Improve readability of key pointsConsider using bullet points for better visual separation of the key points about block development.
- 区块的公开范围会影响到他人使用集成区块 - 区块的暴露属性等同于vue component 中的 props属性 - 区块的事件则是区块emit出去的事件,可以在上层应用区块的页面或区块进行监听捕获 - 同时在这里我们还可以设置区块的生命周期函数,来完成开发中在某一生命周期对应的逻辑,比如说对区块初始化处理 +- 区块的公开范围会影响到他人使用集成区块 +- 区块的暴露属性等同于vue component 中的 props属性 +- 区块的事件则是区块emit出去的事件,可以在上层应用区块的页面或区块进行监听捕获 +- 同时在这里我们还可以设置区块的生命周期函数,来完成开发中在某一生命周期对应的逻辑,比如说对区块初始化处理
36-36
: Consider breaking long paragraph into smaller sectionsThis long paragraph contains multiple important points about component properties, events, and data loops. Consider breaking it into smaller, more focused sections for better readability.
-开发区块过程中还需要关注搭建区块时使用的组件的属性和事件,利用好这些条件能让区块的开发工作更加顺利,如下图,我们可以通过绑定事件来对交互逻辑进行实现。从图中可以看到,设计器还提供了配置循环数据的能力,示例区块中的4个相同的小区块就是使用这种能力实现的 +开发区块过程中需要关注以下几点: + +1. 组件的属性和事件设置 + - 合理利用这些配置可以简化开发工作 + - 通过事件绑定实现交互逻辑 + +2. 循环数据配置 + - 设计器提供了循环数据的配置能力 + - 示例区块中的4个相同的小区块就是使用这种能力实现的
1-48
: Add table of contents for better navigationConsider adding a table of contents at the beginning of the document for better navigation, especially since this is a comprehensive guide.
Add this section after the introduction:
## 目录 - [前言](#前言) - [基于TinyEngine设计器开发的SMB项目](#基于tinyengine设计器开发的smb项目) - [如何开发区块](#如何开发区块) - [下载代码到本地](#下载代码到本地)docs/basic-features/设计前端应用流程.md (1)
59-60
: Maintain consistent image naming conventionThe image references use mixed naming conventions:
choseFile.png
(camelCase)createFolder.png
(camelCase)setCompoentAttr.png
(camelCase with typo)Consider standardizing the naming convention for better maintainability.
Also, there's a typo in some image names: "Compoent" should be "Component"
-![choseFile](./imgs/choseFile.png) +![chooseFile](./imgs/chooseFile.png)docs/basic-features/国际化.md (1)
72-73
: Consider enhancing the variable binding example.While the current example shows basic usage, consider adding:
- Multiple examples with different key formats
- Example with variables/interpolation
- Common pitfalls to avoid
Example enhancement:
5. Input the variable using one of these formats: - Basic: t('lowcode.67564435') - With variables: t('lowcode.greeting', { name: username }) - With pluralization: t('lowcode.items', { count: itemCount })docs/basic-features/初识设计器.md (2)
62-62
: Consider adding more details about node tree interaction.The explanation could benefit from additional details about how users can interact with the node tree, such as keyboard shortcuts or drag-and-drop capabilities if available.
1-62
: Consider documentation maintainability and internationalization.A few architectural suggestions:
- Consider moving images to a centralized assets directory for better organization
- Consider adding alt text descriptions for all images to improve accessibility
- Consider implementing a documentation translation strategy, possibly using i18n tooling
docs/advanced-features/集成ChatGPT搭建简单页面能力.md (1)
14-16
: Consider adding example promptsThe section explaining AI code generation would benefit from including example prompts that users can reference.
docs/extension-capabilities-tutorial/定制元服务逻辑.md (2)
79-79
: Consider specifying the full import pathThe import statement
import { FooService, BarService } from '...'
uses a relative path. Consider specifying the full import path for better clarity.
7-9
: Add example use casesConsider adding practical example use cases for when developers might need to customize meta services. This would help readers better understand when to apply these customization patterns.
docs/API/backend-api/AI功能接口.md (2)
15-16
: Consider using code blocks for JSON examplesReplace the HTML-formatted JSON error example with a proper code block for better readability.
异常响应实例: ```json { "data": null, "locale": "zh-cn", "error": { "code": "CM002", "message": "参数错误" }, "err_msg": "Additional properties are not allowed ('role1' was unexpected) - 'messages.0'" }--- `3-4`: **Add API version information** Consider adding API version information to help users understand compatibility requirements. </blockquote></details> <details> <summary>docs/API/backend-api/APP服务.md (2)</summary><blockquote> `66-72`: **Fix inconsistent framework parameter example** The framework parameter example shows inconsistent values: - Example shows "Angular" - Remarks show "Vue" Please clarify if both frameworks are supported and list all valid values. --- `1-117`: **Consider translating documentation to English** The documentation mixes Chinese and English text. Consider: 1. Creating separate language versions of the documentation 2. Using English as the primary language for API documentation 3. Adding language selection support in the documentation <details> <summary>🧰 Tools</summary> <details> <summary>🪛 LanguageTool</summary> [misspelling] ~51-~51: Use “an” instead of ‘a’ if the following word starts with a vowel sound, e.g. ‘an article’, ‘an hour’. Context: ... </table> ## 获取页面/区块源码 <a id=获取页面/区块源码> </a> ### 基本信息 **Path:**... (EN_A_VS_AN) --- [misspelling] ~85-~85: Use “an” instead of ‘a’ if the following word starts with a vowel sound, e.g. ‘an article’, ‘an hour’. Context: ... </table> ## 页面/区块预览用元数据 <a id=页面/区块预览用元数据> </a> ### 基本信息 **Path:... (EN_A_VS_AN) </details> <details> <summary>🪛 Markdownlint (0.37.0)</summary> 87-87: null Multiple headings with the same content (MD024, no-duplicate-heading) --- 96-96: null Multiple headings with the same content (MD024, no-duplicate-heading) --- 108-108: null Multiple headings with the same content (MD024, no-duplicate-heading) --- 19-19: null Emphasis used instead of a heading (MD036, no-emphasis-as-heading) --- 25-25: null Emphasis used instead of a heading (MD036, no-emphasis-as-heading) --- 64-64: null Emphasis used instead of a heading (MD036, no-emphasis-as-heading) --- 98-98: null Emphasis used instead of a heading (MD036, no-emphasis-as-heading) </details> </details> </blockquote></details> <details> <summary>docs/advanced-features/使用JS面板和事件绑定.md (2)</summary><blockquote> `33-79`: **Review Vue code example for best practices** The Vue code example has a few areas that could be improved: 1. The `setup` function is using a non-standard pattern by wrapping everything in a custom `wrap` function 2. The state initialization could be more explicit about its type 3. The event handler could be simplified Consider updating the example to follow more standard Vue 3 patterns: ```diff <script setup> import * as vue from 'vue' import { defineProps, defineEmits } from 'vue' import { I18nInjectionKey } from 'vue-i18n' const props = defineProps({}) const emit = defineEmits([]) const { t, stores } = vue.inject(I18nInjectionKey).lowcode() -const state = vue.reactive({ - testValue: {} -}) +const state = vue.reactive<{ testValue: Record<string, unknown> }>({ + testValue: {} +}) -const getA = wrap(function (eventArgs, args0) { +const getA = (eventArgs: Event[], args0: number) => { const testData = { name: 'rico', age: 18 } return testData -}) +} -wrap({ - stores, - state, - getA -}) -const setup = wrap(function setup({ props, state, watch, onMounted }) { - state.testValue = getA() -}) -setup({ props, context: { emit }, state, ...vue }) +// Initialize on component mount +vue.onMounted(() => { + state.testValue = getA([], 0) +}) </script>
90-91
: Add link to component documentationThe text mentions that function signatures should be referenced from the component's documentation, but no link is provided.
Consider adding a direct link to the TinyVue Tree component documentation for easier reference.
🧰 Tools
🪛 LanguageTool
[uncategorized] ~90-~90: 成分累赘: “来自” “于” 不一起使用,请删除 “于”:"来自"。
Context: ...签名需参考组件的文档 1. 首先在页面JS中定义渲染函数,这里的函数参数的定义来自于 TinyVue 的文档 ![在页面JS中定义渲染函数](./imgs/pag...(wb2)
docs/advanced-features/区块管理.md (3)
13-14
: Fix directory structure formattingThe directory structure has inconsistent indentation for Footer.vue and Container.vue.
- components |_ Header.vue - - Footer.vue - - Container.vue + |_ Footer.vue + |_ Container.vue
78-93
: Enhance Vue code example with TypeScript and Composition API best practicesThe Vue component example could be improved to better demonstrate modern Vue practices.
Consider updating the example:
<template> <header> <h1>{{props.title}}</h1> <span>{{props.description}}</span> </header> </template> <script setup lang="ts"> +interface Props { + title: string + description: string +} -const props = defineProps({ - title: { type: String, default: '' }, - description: { type: String, default: '' } -}) +const props = withDefaults(defineProps<Props>(), { + title: '', + description: '' +}) </script>
129-129
: Add more details about version managementThe version list section ends abruptly with minimal information.
Consider expanding this section to include:
- How versions are created
- Version numbering scheme
- How to manage multiple versions
- How to deprecate old versions
docs/about-designer/定制设计器.md (1)
5-6
: Consider adding more details about prerequisitesThe content mentions prerequisites (物料资产包、主题、工具、插件和DSL定制) but doesn't provide links to where users can learn about these requirements. Consider adding references to related documentation.
docs/about-designer/介绍.md (1)
5-5
: Consider restructuring the long paragraph for better readabilityThe current paragraph contains multiple important points but could be easier to read if broken down into bullet points or shorter sentences.
Consider restructuring like this:
-什么是扩展能力呢,一方面我们可以快速拥有一个官方标准的设计器,另外一方面如果用户有独特的业务功能需要,我们可以不用看它的源码、不用关心其实现,用户可以使用 API、插件等方式快速开发自己的工具,插件,DSL等的npm包,用于构建用户自定义的设计器。而设计器引擎对于设计器的扩展能力支持基本上覆盖了设计器的所有功能点。 +扩展能力包含以下几个方面: + +1. 快速接入:可以快速使用官方标准的设计器 +2. 自定义开发:针对独特的业务功能需求: + - 无需了解源码实现 + - 通过 API、插件等方式快速开发 + - 支持开发自定义工具、插件、DSL 等 npm 包 +3. 完整覆盖:设计器引擎的扩展能力基本覆盖了设计器的所有功能点docs/getting-started/快速上手.md (2)
26-27
: Consider hosting the example image locallyThe external image URL (
https://res.hc-cdn.com/lowcode-portal/1.1.65/img/home/top-banner.jpg
) might not be persistent. Consider:
- Hosting the image within the repository
- Using a more stable URL
- Adding a fallback image
This ensures the tutorial remains functional even if the external resource becomes unavailable.
1-46
: Consider enhancing document navigationThe tutorial is well-structured, but could be improved with:
- A table of contents at the beginning
- Estimated time to complete
- Prerequisites section
- Troubleshooting section
- Next steps or related tutorials section
Here's a suggested addition for the beginning of the document:
# 快速上手 +**预计完成时间:** 15分钟 + +**目录** +- [效果图](#效果图) +- [第一步,新建页面](#第一步新建页面) +- [第二步,拖入元素](#第二步拖入元素) +- [第三步,设置状态变量](#第三步设置状态变量) +- [第四步,设置文本和图片地址](#第四步设置文本和图片地址) +- [第五步,设置图片样式和绑定显示变量](#第五步设置图片样式和绑定显示变量) +- [第六步,给开关绑定事件](#第六步给开关绑定事件) +- [第七步,绑定点击事件并预览](#第七步绑定点击事件并预览) + +**准备工作** +- 已安装并配置TinyEngine +- 基本了解组件拖放操作 + 为了帮助开发者迅速掌握TinyEngine并深入理解其核心特性...docs/development-getting-started/快速上手.md (3)
9-14
: Enhance environment requirements specificityConsider the following improvements to the requirements section:
- Specify the minimum required pnpm version
- Remove the extra space before "chrome浏览器"
- Node.js v18+版本 - pnpm 包管理⼯具 + pnpm v8+包管理⼯具 - 前端项目代码编辑器 - git 代码版本管理⼯具 - chrome浏览器 110+ 版本 + - chrome浏览器 110+ 版本🧰 Tools
🪛 LanguageTool
[uncategorized] ~14-~14: 动词的修饰一般为‘形容词(副词)+地+动词’。您的意思是否是:必要"地"开发
Context: ...t 代码版本管理⼯具 - chrome浏览器 110+ 版本 - 以及其他必要的开发前端开发环境、⼯具等。 ## 二、Tiny Engine CLI ...(wb4)
84-98
: Improve diff block formatting consistencyThe diff block has inconsistent formatting. The
++
and--
markers should be at the start of the line without spaces.import { Breadcrumb, Fullscreen, /* ... */, GenerateCodeService } from '@opentiny/tiny-engine' import engineConfig from './engine.config' -import DemoPlugin from './demo-plugin' +import DemoPlugin from './demo-plugin' export default { // ... - plugins: [Materials, Tree, Page, Block, Datasource, Bridge, I18n, Script, State, Schema, Help, Robot], + plugins: [DemoPlugin, Materials, Tree, Page, Block, Datasource, Bridge, I18n, Script, State, Schema, Help, Robot], dsls: [{ id: 'engine.dsls.dslvue' }], settings: [Props, Styles, Events], canvas: Canvas }🧰 Tools
🪛 Markdownlint (0.37.0)
90-90: Column: 1
Hard tabs(MD010, no-hard-tabs)
124-141
: Enhance directory structure documentationThe directory structure example uses "..." without explaining which parts are omitted. Consider:
- Adding a comment to explain what "..." represents
- Including more essential directories that developers need to be aware of
-...
+# Root level configuration files and directories
├─ designer-demo # 此处为高度可定制化的低代码平台,即用户自己的低代码设计器
│ ├─ env
│ ├─ public
│ ├─ src
│ ├─ engine.config.js
│ ├─ index.html
│ ├─ package.json
│ ├─ preview.html
│ ├─ registry.js # 用户注册表
│ ├─ vite.config.js
├─ pnpm-workspace.yaml
├─ package.json
├─ README.md
└─ README.zh-CN.md
-...
+# Other directories (packages, examples, etc.) are omitted for brevity<details> <summary>🧰 Tools</summary> <details> <summary>🪛 Markdownlint (0.37.0)</summary> 124-124: null Fenced code blocks should have a language specified (MD040, fenced-code-language) </details> </details> </blockquote></details> <details> <summary>docs/extension-capabilities-tutorial/开发设置器组件.md (3)</summary><blockquote> `19-64`: **Consider enhancing the Vue component example with best practices** While the component implementation is functional, consider these improvements: 1. Add TypeScript support for better type safety 2. Add a watch on modelValue prop to sync external changes 3. Use computed property for two-way binding instead of ref Here's an improved version of the component: ```diff <template> <span>我是自定义的 input configurator</span> - <tiny-input v-model="value" :type="type" :placeholder="placeholder" @update:modelValue="change"> </tiny-input> + <tiny-input + :model-value="inputValue" + :type="type" + :placeholder="placeholder" + @update:model-value="change" + /> </template> -<script> +<script lang="ts"> import { ref } from 'vue' import { Input } from '@opentiny/vue' +import type { PropType } from 'vue' export default { name: 'MyInputConfigurator', components: { TinyInput: Input }, props: { modelValue: { - type: String + type: String as PropType<string>, + default: '' }, type: { - type: String + type: String as PropType<string>, + default: 'text' }, placeholder: { - type: String + type: String as PropType<string>, + default: '' } }, emits: ['update:modelValue'], setup(props, { emit }) { - const value = ref(props.modelValue) + const inputValue = computed({ + get: () => props.modelValue, + set: (val: string) => { + const filtered = val + .split('') + .filter((c) => /[A-Za-z0-9]/.test(c)) + .join('') + emit('update:modelValue', filtered) + } + }) - const change = (val) => { - value.value = val - .split('') - .filter((c) => /[A-Za-z0-9]/.test(c)) - .join('') - emit('update:modelValue', value.value) + const change = (val: string) => { + inputValue.value = val } return { - value, + inputValue, change } } } </script>
87-141
: Enhance the JSON configuration example documentationThe configuration example could be improved in several ways:
- The commented line
// "component": "I18nConfigurator"
seems important - consider explaining why it's commented out and when to use it- The truncated sections (
//...
) should be expanded or linked to full examples- Add explanations for the schema structure and property configurations
Consider adding a section explaining the schema structure:
### Schema Structure - `properties`: Defines the configurable properties of the component - `label`: Multilingual label for the property group - `content`: Array of individual property configurations - `property`: The property name to be configured - `widget`: Specifies the configurator component to use - `events`: Defines available component events - `slots`: Defines available component slots
1-144
: Consider enhancing the documentation with additional contextThe documentation is well-structured but could be improved by:
- Adding a table of contents for better navigation
- Including links to related documentation (TinyVue, Vue.js v-model)
- Adding troubleshooting section for common issues
- Providing more examples of different configurator types
Consider adding this section at the beginning:
## Table of Contents - [相关概念](#相关概念) - [开发](#开发) - [使用](#使用) - [注册设置器](#注册设置器) - [物料中使用设置器](#物料中使用设置器) ## 前置条件 - Vue.js 3.x - TinyVue - TinyEngine CLI ## 相关文档 - [Vue.js v-model](https://vuejs.org/guide/components/v-model.html) - [TinyVue Input](link-to-tiny-vue-docs)docs/practical-cases/图元编排设计器.md (4)
44-58
: Enhance code block readabilityThe code blocks are well-structured but could benefit from some improvements:
- Add comments to explain key directories in the project structure
- Use consistent indentation in the plugin export example
- Add type annotations in the plugin configuration example
Example improvements for the project structure:
. -|-- canvas -|-- controller -|-- common -|-- plugins -|-- settings -|-- toolbars -|-- theme +|-- canvas # Canvas module for drawing capabilities +|-- controller # Core business logic controllers +|-- common # Shared utilities and constants +|-- plugins # Left sidebar plugins +|-- settings # Right sidebar configuration panels +|-- toolbars # Top toolbar items +|-- theme # Theme configuration |-- index.html |-- main.js |-- App.vueAlso applies to: 79-83, 88-98, 105-119
60-61
: Consider adding implementation detailsThe technical content would benefit from:
- Code examples showing Antv X6 integration with TinyEngine
- Specific examples of plugin communication and state management
- Performance considerations when implementing the canvas
Would you like assistance in adding these implementation details to the documentation?
Also applies to: 68-71
68-68
: Fix Chinese grammar in adverbial phrasesSeveral instances of incorrect usage of "的" should be replaced with "地" when modifying verbs:
- Line 68: "完备的" → "完备地"
- Line 74: "一定的" → "一定地"
- Line 121: "快速的" → "快速地"
- Line 127: "优秀的" → "优秀地"
Also applies to: 74-74, 121-121, 127-127
🧰 Tools
🪛 LanguageTool
[uncategorized] ~68-~68: 动词的修饰一般为‘形容词(副词)+地+动词’。您的意思是否是:完备"地"插
Context: ...# 整体插件架构介绍 TinyEngine整体架构优秀之处在于,提供了一套完备的插件体系,包含了插件开发所有的基础UI库、工具库、插件面板的显示控制、生命周期管...(wb4)
1-4
: Add table of contents for better navigationConsider adding a table of contents after the title to improve document navigation. This would help readers quickly locate specific sections like background, requirements, and implementation details.
Would you like assistance in generating a table of contents for this document?
docs/advanced-features/如何使用插槽.md (3)
12-36
: Enhance code example readabilityThe Vue.js code examples are accurate but could be improved:
- Remove the commented filename on line 13 and use a proper code block title
- Add explanatory comments for the slot usage example
Consider this improvement:
-// Header.vue +<!-- Header.vue -->And add a comment before the second example:
+<!-- Example of using the Header component with a named slot --> <template> <Header>
59-59
: Review state variable namingThe state variable
this.state.ggggg
appears to be a placeholder or example name. Consider using a more meaningful variable name that better represents its purpose, such asthis.state.menuTitle
orthis.state.headerText
.
156-158
: Enhance internationalization supportThe label definition only includes
zh_CN
. Consider adding English translations for better international developer experience:"label": { "zh_CN": "menu", + "en_US": "menu" },
docs/getting-started/简介.md (3)
1-5
: Consider improving the introduction's formatting for better readability.The content is good, but the readability could be enhanced by:
- Breaking the long paragraph in line 3 into smaller chunks
- Adding bullet points to highlight key benefits
- Using emphasis (
**text**
) instead of HTML tags (<b>text</b>
)-<b>低代码平台</b>是一种应用程序开发平台,允许用户以图形化方式构建应用程序,通过拖放组件、模板和可视化界面,降低了开发者和非技术用户的技能门槛。用户只需编写少量代码,便可以实现复杂的功能。这种方式不仅提高了开发速度, +**低代码平台**是一种应用程序开发平台,允许用户以图形化方式构建应用程序。 + +主要特点: +- 通过拖放组件、模板和可视化界面进行开发 +- 降低开发者和非技术用户的技能门槛 +- 用户只需编写少量代码,便可以实现复杂的功能 +- 显著提高开发速度
31-37
: Remove unnecessary empty lines at the end of the file.Keep only one empty line at the end of the file to maintain clean documentation.
1-2
: Consider adding navigation elements to improve documentation usability.Suggestions:
- Add a table of contents at the beginning
- Include links to related documentation (API overview, ecosystem center, etc.)
- Add a "下一步" (Next Steps) section at the end
docs/basic-features/使用组件.md (2)
20-20
: Fix grammatical issue in Chinese textThe phrase "很好的" should be "很好地" when modifying a verb.
-直接拖拽并不能很好的拖入到指定的层级中 +直接拖拽并不能很好地拖入到指定的层级中🧰 Tools
🪛 LanguageTool
[uncategorized] ~20-~20: 动词的修饰一般为‘形容词(副词)+地+动词’。您的意思是否是:好"地"拖
Context: ...# 从画布中直接添加组件 对于复杂的页面,嵌套层级可能很深,直接拖拽并不能很好的拖入到指定的层级中,所以,设计器提供在画布中右键精准添加组件的能力。 1. 画...(wb4)
1-72
: Overall documentation review summaryThe documentation is well-structured and provides comprehensive guidance on using components in the low-code platform. To improve it further:
- Ensure all referenced images are properly uploaded and linked
- Fix the grammatical issue in the canvas section
- Consider adding a conclusion section
Consider organizing the images in a more structured way:
- Use semantic names for images (e.g.,
component-drag-demo.gif
instead ofdragComponent.gif
)- Consider using a CDN for hosting images to improve load times
- Add alt text descriptions for better accessibility
🧰 Tools
🪛 LanguageTool
[uncategorized] ~20-~20: 动词的修饰一般为‘形容词(副词)+地+动词’。您的意思是否是:好"地"拖
Context: ...# 从画布中直接添加组件 对于复杂的页面,嵌套层级可能很深,直接拖拽并不能很好的拖入到指定的层级中,所以,设计器提供在画布中右键精准添加组件的能力。 1. 画...(wb4)
docs/basic-features/使用状态管理和变量绑定.md (1)
17-17
: Consider adding code block for state usage exampleThe explanation of using
this.state.xxx
would be clearer with a complete code example in a fenced code block.Consider adding:
// Example of state usage this.state.counter = 1; console.log(this.state.counter); // Outputs: 1docs/advanced-features/数据源和Collection—mock数据.md (1)
13-14
: Consider adding code example for Collection component configurationThe steps for Collection component setup could benefit from a configuration code example.
Consider adding a code example showing the data source binding:
// Example Collection configuration { dataSource: 'mockDataSource', fields: ['field1', 'field2'] }docs/advanced-features/数据源和Collection—远程字段.md (1)
8-8
: Consider adding request configuration exampleThe step mentioning request settings could benefit from a configuration example.
Consider adding:
// Example request configuration { url: 'https://api.example.com/data', method: 'GET', params: { limit: 10 } }docs/advanced-features/条件渲染.md (1)
10-10
: Add alt text for better accessibilityThe image reference lacks alt text which is important for accessibility. Consider adding descriptive alt text.
-![addvar-15](./imgs/addvar-15.png) +![添加变量示例 - Adding variable example](./imgs/addvar-15.png)docs/advanced-features/循环渲染.md (1)
40-46
: Improve code block formattingThe HTML code block has inconsistent indentation and could benefit from better formatting. Also, consider using Vue template syntax highlighting.
-```html +```vue <template> -<div v-for="(item, index) in state.imageList" :key="index"> -<span>{{ item.title }}</span> -<!---列表细节---> -</div> </template> + <div v-for="(item, index) in state.imageList" :key="index"> + <span>{{ item.title }}</span> + <!---列表细节---> + </div> +</template>docs/advanced-features/高级面板设置.md (2)
55-59
: Consider using a more appropriate code block identifierThe bash code block is used for describing parameters, but this isn't bash code. Consider using a more appropriate identifier or removing it entirely.
-```bash +``` # 循环渲染项迭代变量名 item # 拓展参数设置: ["item.imageId", "item.imageVersion"]
10-10
: Add descriptive alt text for GIF demonstrationsThe GIF demonstrations lack descriptive alt text, which is important for accessibility.
-![条件渲染示例](./imgs/conditionRender.gif) +![条件渲染的步骤演示 - Step-by-step demonstration of conditional rendering](./imgs/conditionRender.gif) -![循环渲染](./imgs/useLoop.gif) +![循环渲染的操作演示 - Demonstration of loop rendering setup](./imgs/useLoop.gif) -![事件绑定演示](./imgs/bindEvent.gif) +![事件绑定的配置过程演示 - Demonstration of event binding configuration](./imgs/bindEvent.gif)Also applies to: 19-19, 48-48
docs/advanced-features/使用工具类方法 utils.md (1)
153-156
: Consider enhancing the isNil utility functionWhile the function works, it could be improved by being more explicit in its type checking.
Consider this enhanced version:
-function isNil(value) { - return value == null -} +function isNil(value) { + return value === null || value === undefined; +}This version:
- Uses strict equality for more precise type checking
- Explicitly checks for both null and undefined
docs/API/backend-api/数据源管理.md (2)
32-39
: Convert HTML tables to Markdown formatThe documentation uses HTML tables which can be harder to maintain. Consider converting these to native Markdown tables for better readability and maintainability in the source files.
Example conversion for the first table:
| 名称 | 类型 | 是否必须 | 默认值 | 备注 | 其他信息 | |------|------|----------|--------|------|----------| | data | object | 非必须 | | | | | ├─ data | object | 非必须 | | 数据源数据 | | | ├─ name | string | 非必须 | | 数据源名称 | mock: @string |Also applies to: 44-51, 77-84, 89-96, 122-129, 155-162, 188-195, 225-232, 258-265
210-210
: Improve documentation for unused API endpointThe comment "未启用 预留接口" (Unused reserved interface) should be more descriptive about why the endpoint is reserved and when it might be implemented.
docs/index.md (1)
23-23
: Replace spaces in file paths with hyphens or underscores.The following paths contain spaces which might cause issues in some environments:
使用工具类方法 utils.md
定制物料资产包、主题、DSL、工具栏和插件栏.md
Consider using hyphens or underscores instead of spaces.
Also applies to: 37-37, 190-190
docs/catalog.json (1)
167-168
: Consider shortening lengthy article names.Some article names are quite long and might affect readability:
- "创建应用(创建空白应用、从模板创建应用)"
- "定制物料资产包、主题、DSL、工具栏和插件栏"
Consider breaking these into smaller, more focused articles or using shorter, more concise names.
Also applies to: 190-191
docs/extension-capabilities-overview/新架构介绍.md (2)
6-6
: Fix grammatical error in textChange "慢慢的增加" to "慢慢地增加" to follow correct Chinese grammar rules for adverbial modifiers.
-TinyEngine引擎官方在慢慢的增加新特性 +TinyEngine引擎官方在慢慢地增加新特性🧰 Tools
🪛 LanguageTool
[uncategorized] ~6-~6: 动词的修饰一般为‘形容词(副词)+地+动词’。您的意思是否是:慢慢"地"增加
Context: ...对官方项目代码的修改程度也逐渐增多,与此同时,TinyEngine引擎官方在慢慢的增加新特性,以及修复 bug,导致 fork 出来的代码与官方引擎项目差异越来越...(wb4)
14-17
: Consider enhancing the core features sectionThe core features section could benefit from more detailed explanations:
- Specify what the CLI tool provides and how it helps
- Explain the Layout component's customization capabilities
- Define what "元服务" and "元应用" mean in this context
- Provide examples or links to detailed documentation for each feature
docs/extension-capabilities-tutorial/code-output-function/如何自定义出码.md (1)
38-46
: Add error handling example in code snippetThe code example should demonstrate proper error handling for the
generate
method.import { generateApp } from '@opentiny/tiny-engine-dsl-vue' // 得到出码实例 CodeGenInstance const instance = generateApp() // 调用实例 generate 方法,传入应用协议数据 appSchema -const res = await instance.generate(appSchema) +try { + const res = await instance.generate(appSchema) + // Handle successful generation +} catch (error) { + console.error('Code generation failed:', error) + // Handle error appropriately +}docs/extension-capabilities-tutorial/code-output-function/官方出码能力API.md (2)
17-19
: Enhance type definition documentationThe
IConfig
type is used but not documented. Consider:
- Adding the complete
IConfig
interface definition- Documenting each configuration option
- Providing example configurations for common use cases
220-222
: Consider inlining essential type definitionsWhile linking to GitHub is good for comprehensive type definitions, consider:
- Including essential type definitions directly in the documentation
- Adding a brief description of what users can expect to find in the GitHub link
- Versioning information for the type definitions
docs/API/backend-api/DSL代码生成.md (1)
9-13
: Document HTTP response codes and error scenarios.The API documentation should include:
- Possible HTTP response status codes
- Error response format
- Common error scenarios and their handling
docs/extension-capabilities-tutorial/如何开发插件.md (1)
122-135
: Add props validation to the Vue component example.The Vue component example should include props validation for better type safety and documentation.
<plugin-setting v-if="isOpen" - :title="插件设置面板" + :title="title" :isSecond="false" @cancel="关闭设置面板的回调方法" >Add props definition:
export default { props: { title: { type: String, required: true }, isSecond: { type: Boolean, default: false }, isOpen: { type: Boolean, required: true } } }docs/extension-capabilities-tutorial/code-output-function/自定义页面出码插件.md (4)
141-147
: Consider adding type annotations to improve code clarityThe component name transformation example would benefit from TypeScript type annotations for better maintainability and documentation.
-function handleComponentName(optionData) { +function handleComponentName(optionData: IOptionData): void { if (optionData.componentName === 'Text') { optionData.componentName = 'span' } }
250-270
: Consider extracting magic strings into constantsThe expression handling example uses magic strings that should be extracted into named constants for better maintainability.
+const EXPRESSION_TYPES = { + JS_EXPRESSION: 'JSExpression' +} as const; + const handleExpressionChildren = (schemaData = {}, globalHooks, config) => { const { children, schema } = schemaData const type = schema?.children?.type const isJSX = config.isJSX const prefix = isJSX ? '{' : '{{' const suffix = isJSX ? '}' : '}}' - if (type === JS_EXPRESSION) { + if (type === EXPRESSION_TYPES.JS_EXPRESSION) { specialTypeHandler[JS_RESOURCE](schema.children, globalHooks, config)
465-478
: Enhance interface documentation with property descriptionsThe
IConfig
interface would benefit from JSDoc comments describing each property's purpose and usage.interface IConfig { + /** Configuration for various plugins */ pluginConfig: { + /** Page-specific plugin configuration */ page: { + /** Base path for page files, defaults to './src/views' */ pageBasePath: string; + /** Single-file component configuration */ sfcConfig: ISFCConfig; }, + /** Block-specific plugin configuration */ block: { + /** Base path for block files, defaults to './src/components' */ blockBasePath: string; + /** Single-file component configuration */ sfcConfig: ISFCConfig; } //... other configurations omitted } //... other properties omitted }
548-549
: Consider using enum instead of type for IInsertPositionUsing an enum for
IInsertPosition
would provide better type safety and IDE support.-type IInsertPosition = 'AFTER_IMPORT' | 'BEFORE_PROPS' | 'AFTER_PROPS' | 'BEFORE_EMIT' | 'AFTER_EMIT' | 'BEFORE_STATE' | 'AFTER_STATE' | 'BEFORE_METHODS' | 'AFTER_METHODS' +enum InsertPosition { + AFTER_IMPORT = 'AFTER_IMPORT', + BEFORE_PROPS = 'BEFORE_PROPS', + AFTER_PROPS = 'AFTER_PROPS', + BEFORE_EMIT = 'BEFORE_EMIT', + AFTER_EMIT = 'AFTER_EMIT', + BEFORE_STATE = 'BEFORE_STATE', + AFTER_STATE = 'AFTER_STATE', + BEFORE_METHODS = 'BEFORE_METHODS', + AFTER_METHODS = 'AFTER_METHODS' +}docs/extension-capabilities-overview/元服务和元应用.md (4)
1-11
: Consider adding a visual diagram to illustrate the relationshipThe introduction clearly explains the separation between meta-applications (UI/layout) and meta-services (core functionality). Consider adding a diagram to visually represent this architecture and the interaction between these components.
18-28
: Enhance the Vue component example with error handling and TypeScript typesThe Vue component example could be improved by:
- Adding error handling for when
getMergeMeta
returns null- Including TypeScript type annotations
- Adding comments explaining the
comp
parameterConsider enhancing the example:
<template> - <component :is="entry"></component> + <component v-if="entry" :is="entry"></component> + <div v-else>Failed to load component</div> </template> <script setup lang="ts"> import { getMergeMeta } from '@opentiny/tiny-engine-meta-register' +import type { MetaComponent } from '@opentiny/tiny-engine-types' -// 获取元应用 +// comp: The component identifier to load from meta registry +// Returns the component entry point or null if not found -const entry = getMergeMeta(comp).entry +const entry = getMergeMeta(comp)?.entry as MetaComponent </script>
32-37
: Add error handling to the meta-service exampleThe meta-service example should include error handling and type safety.
Consider enhancing the example:
import { getMetaApi } from '@opentiny/tiny-engine-meta-register' +import type { GenerateCodeApi } from '@opentiny/tiny-engine-types' -// 获取元服务的 api -const { getAllNestedBlocksSchema, generatePageCode } = getMetaApi('engine.service.generateCode') +// Get the code generation service API +const api = getMetaApi('engine.service.generateCode') as GenerateCodeApi +if (!api) { + throw new Error('Failed to load code generation service') +} +const { getAllNestedBlocksSchema, generatePageCode } = api
58-74
: Add TypeScript interfaces for meta-service definitionThe meta-service example would benefit from TypeScript interfaces to document the expected structure and types.
Consider adding:
interface MetaServiceApi { parseRequiredBlocks: (params: unknown) => Promise<unknown>; getAllNestedBlocksSchema: (params: unknown) => Promise<unknown>; generatePageCode: (params: unknown) => Promise<unknown>; generateAppCode: (params: unknown) => Promise<unknown>; } interface MetaService { id: string; type: 'MetaService'; options: Record<string, unknown>; apis: MetaServiceApi; }docs/extension-capabilities-overview/注册表.md (2)
9-14
: Add examples for each registry functionThe three main functions of the registry are well-defined, but would benefit from concrete examples demonstrating each capability:
- How configuration is passed to the engine
- How default and custom configurations are merged
- How inter-service communication works
94-104
: Add error handling to configuration retrieval exampleThe example should demonstrate proper error handling when configurations or meta services are not found.
Consider enhancing the example:
<script setup lang="ts"> import { getMergeMeta } from '@opentiny/tiny-engine-meta-register' +import type { EngineConfig, MaterialsPanel } from '@opentiny/tiny-engine-types' -// 获取配置 -const platformId = getMergeMeta('engine.config')?.platformId +// Get engine configuration +const engineConfig = getMergeMeta('engine.config') as EngineConfig +if (!engineConfig) { + throw new Error('Engine configuration not found') +} +const { platformId } = engineConfig -// 获取元应用元服务 -const materialsPanel = getMergeMeta('engine.plugins.materials')?.entry +// Get materials panel meta application +const materialsPanel = getMergeMeta('engine.plugins.materials')?.entry as MaterialsPanel +if (!materialsPanel) { + throw new Error('Materials panel not found') +} </script>
📜 Review details
Configuration used: CodeRabbit UI
Review profile: CHILL
Plan: Pro
⛔ Files ignored due to path filters (226)
docs/about-applications/imgs/appCreateOne.png
is excluded by!**/*.png
docs/about-applications/imgs/appCreateTwo.png
is excluded by!**/*.png
docs/about-applications/imgs/appDevOne.png
is excluded by!**/*.png
docs/about-applications/imgs/appDevTwo.png
is excluded by!**/*.png
docs/about-designer/imgs/buildPlatform1.png
is excluded by!**/*.png
docs/about-designer/imgs/buildPlatform2.png
is excluded by!**/*.png
docs/about-designer/imgs/createPlatform.png
is excluded by!**/*.png
docs/about-designer/imgs/defineDsl.png
is excluded by!**/*.png
docs/about-designer/imgs/defineMaterial.png
is excluded by!**/*.png
docs/about-designer/imgs/definePlugs.png
is excluded by!**/*.png
docs/about-designer/imgs/defineTheme.png
is excluded by!**/*.png
docs/about-designer/imgs/defineTools.png
is excluded by!**/*.png
docs/about-designer/imgs/platformExpend.png
is excluded by!**/*.png
docs/about-materials/imgs/createMaterial.gif
is excluded by!**/*.gif
docs/about-materials/imgs/createMaterialBlock.png
is excluded by!**/*.png
docs/about-materials/imgs/createMaterialBlockCancel.png
is excluded by!**/*.png
docs/about-materials/imgs/createMaterialLib.png
is excluded by!**/*.png
docs/about-materials/imgs/createMaterialLibCancel.png
is excluded by!**/*.png
docs/about-materials/imgs/materialPanel.png
is excluded by!**/*.png
docs/advanced-features/imgs/ScreenShot_20241029195609.png
is excluded by!**/*.png
docs/advanced-features/imgs/add-Function.png
is excluded by!**/*.png
docs/advanced-features/imgs/addAiPlugin.png
is excluded by!**/*.png
docs/advanced-features/imgs/addVar-17.png
is excluded by!**/*.png
docs/advanced-features/imgs/addVar-19.png
is excluded by!**/*.png
docs/advanced-features/imgs/addvar-15.png
is excluded by!**/*.png
docs/advanced-features/imgs/askToModifyPage.png
is excluded by!**/*.png
docs/advanced-features/imgs/bindEvent.gif
is excluded by!**/*.gif
docs/advanced-features/imgs/bindVariable-16.png
is excluded by!**/*.png
docs/advanced-features/imgs/bindVariable-18.png
is excluded by!**/*.png
docs/advanced-features/imgs/blockBaseSetting.png
is excluded by!**/*.png
docs/advanced-features/imgs/blockExposeAttr.gif
is excluded by!**/*.gif
docs/advanced-features/imgs/blockexposeattrusage.gif
is excluded by!**/*.gif
docs/advanced-features/imgs/conditionRender.gif
is excluded by!**/*.gif
docs/advanced-features/imgs/createBlockFromPage.gif
is excluded by!**/*.gif
docs/advanced-features/imgs/createEmptyBlock.png
is excluded by!**/*.png
docs/advanced-features/imgs/data-source-1.png
is excluded by!**/*.png
docs/advanced-features/imgs/data-source-2.png
is excluded by!**/*.png
docs/advanced-features/imgs/data-source-3.png
is excluded by!**/*.png
docs/advanced-features/imgs/data-source-4.png
is excluded by!**/*.png
docs/advanced-features/imgs/data-source-load-1.png
is excluded by!**/*.png
docs/advanced-features/imgs/data-source-load-2.png
is excluded by!**/*.png
docs/advanced-features/imgs/data-source-load-3.png
is excluded by!**/*.png
docs/advanced-features/imgs/dataSource1.png
is excluded by!**/*.png
docs/advanced-features/imgs/dataSource2.png
is excluded by!**/*.png
docs/advanced-features/imgs/dataSource3.png
is excluded by!**/*.png
docs/advanced-features/imgs/dataSource4.png
is excluded by!**/*.png
docs/advanced-features/imgs/dataSource5.png
is excluded by!**/*.png
docs/advanced-features/imgs/dataSource7.png
is excluded by!**/*.png
docs/advanced-features/imgs/defineslot.gif
is excluded by!**/*.gif
docs/advanced-features/imgs/icon-code.png
is excluded by!**/*.png
docs/advanced-features/imgs/openAiWindow.png
is excluded by!**/*.png
docs/advanced-features/imgs/pageJs.png
is excluded by!**/*.png
docs/advanced-features/imgs/pageJsContent.png
is excluded by!**/*.png
docs/advanced-features/imgs/pageJsJsxFunc.png
is excluded by!**/*.png
docs/advanced-features/imgs/pageJsMethod.png
is excluded by!**/*.png
docs/advanced-features/imgs/parseJxBindingJsxFunc.png
is excluded by!**/*.png
docs/advanced-features/imgs/parseJxBindingJsxFuncResult.png
is excluded by!**/*.png
docs/advanced-features/imgs/state-isLogin为false时.png
is excluded by!**/*.png
docs/advanced-features/imgs/state-isLogin为ture时.png
is excluded by!**/*.png
docs/advanced-features/imgs/use-npm.png
is excluded by!**/*.png
docs/advanced-features/imgs/useBlock.png
is excluded by!**/*.png
docs/advanced-features/imgs/useLoop.gif
is excluded by!**/*.gif
docs/advanced-features/imgs/usingslot.gif
is excluded by!**/*.gif
docs/advanced-features/imgs/utils4.png
is excluded by!**/*.png
docs/advanced-features/imgs/viewRender.png
is excluded by!**/*.png
docs/basic-features/imgs/addComponent-13.png
is excluded by!**/*.png
docs/basic-features/imgs/addFolder.png
is excluded by!**/*.png
docs/basic-features/imgs/addPage.png
is excluded by!**/*.png
docs/basic-features/imgs/addVar.png
is excluded by!**/*.png
docs/basic-features/imgs/addWords.png
is excluded by!**/*.png
docs/basic-features/imgs/bindVariable-25.png
is excluded by!**/*.png
docs/basic-features/imgs/canvasoverview.png
is excluded by!**/*.png
docs/basic-features/imgs/choseClickCompontes.png
is excluded by!**/*.png
docs/basic-features/imgs/choseComponent.png
is excluded by!**/*.png
docs/basic-features/imgs/choseComponentID.png
is excluded by!**/*.png
docs/basic-features/imgs/choseFile.png
is excluded by!**/*.png
docs/basic-features/imgs/clickNode.png
is excluded by!**/*.png
docs/basic-features/imgs/componentDown.png
is excluded by!**/*.png
docs/basic-features/imgs/componentUp.png
is excluded by!**/*.png
docs/basic-features/imgs/copyComponent.png
is excluded by!**/*.png
docs/basic-features/imgs/copyKeyValue.png
is excluded by!**/*.png
docs/basic-features/imgs/createApp.png
is excluded by!**/*.png
docs/basic-features/imgs/createFolder.png
is excluded by!**/*.png
docs/basic-features/imgs/createPage.png
is excluded by!**/*.png
docs/basic-features/imgs/delBatchWord.png
is excluded by!**/*.png
docs/basic-features/imgs/delWord.png
is excluded by!**/*.png
docs/basic-features/imgs/deleteClassNameNew.gif
is excluded by!**/*.gif
docs/basic-features/imgs/dragComponent.gif
is excluded by!**/*.gif
docs/basic-features/imgs/editClassNameNew.gif
is excluded by!**/*.gif
docs/basic-features/imgs/editClassNameStatic.png
is excluded by!**/*.png
docs/basic-features/imgs/editGlobalStyleNew.gif
is excluded by!**/*.gif
docs/basic-features/imgs/editWord.png
is excluded by!**/*.png
docs/basic-features/imgs/eventOverview.png
is excluded by!**/*.png
docs/basic-features/imgs/icon-add.png
is excluded by!**/*.png
docs/basic-features/imgs/icon-code.png
is excluded by!**/*.png
docs/basic-features/imgs/icon-copy.png
is excluded by!**/*.png
docs/basic-features/imgs/icon-del.png
is excluded by!**/*.png
docs/basic-features/imgs/icon-edit.png
is excluded by!**/*.png
docs/basic-features/imgs/icon-i18n.png
is excluded by!**/*.png
docs/basic-features/imgs/icon-page.png
is excluded by!**/*.png
docs/basic-features/imgs/icon-tree.png
is excluded by!**/*.png
docs/basic-features/imgs/inlineSettingResultNew.png
is excluded by!**/*.png
docs/basic-features/imgs/inlineStyleBindVar.gif
is excluded by!**/*.gif
docs/basic-features/imgs/inlineStyleSettingNew.gif
is excluded by!**/*.gif
docs/basic-features/imgs/inserPosition.png
is excluded by!**/*.png
docs/basic-features/imgs/insertComponent.gif
is excluded by!**/*.gif
docs/basic-features/imgs/lifecycle.gif
is excluded by!**/*.gif
docs/basic-features/imgs/modifyStyle.png
is excluded by!**/*.png
docs/basic-features/imgs/modifyVar.png
is excluded by!**/*.png
docs/basic-features/imgs/modifyedStyle.png
is excluded by!**/*.png
docs/basic-features/imgs/pageManaHistoryRestore.png
is excluded by!**/*.png
docs/basic-features/imgs/pageManaIndex.png
is excluded by!**/*.png
docs/basic-features/imgs/pagedelOrCopy.png
is excluded by!**/*.png
docs/basic-features/imgs/platformExpend.png
is excluded by!**/*.png
docs/basic-features/imgs/pluginoverview.png
is excluded by!**/*.png
docs/basic-features/imgs/preview-btn.png
is excluded by!**/*.png
docs/basic-features/imgs/preview-pre.png
is excluded by!**/*.png
docs/basic-features/imgs/preview.png
is excluded by!**/*.png
docs/basic-features/imgs/selectClassNameNew.gif
is excluded by!**/*.gif
docs/basic-features/imgs/selectParentID.png
is excluded by!**/*.png
docs/basic-features/imgs/setClassNameNew.gif
is excluded by!**/*.gif
docs/basic-features/imgs/setClassNameStatic.png
is excluded by!**/*.png
docs/basic-features/imgs/setCompoentAttr.png
is excluded by!**/*.png
docs/basic-features/imgs/setCompoentBaseAttr.png
is excluded by!**/*.png
docs/basic-features/imgs/setCompoentStyle.png
is excluded by!**/*.png
docs/basic-features/imgs/setStyleHoverNew.gif
is excluded by!**/*.gif
docs/basic-features/imgs/settingPanelOverview.png
is excluded by!**/*.png
docs/basic-features/imgs/state1.gif
is excluded by!**/*.gif
docs/basic-features/imgs/state2.gif
is excluded by!**/*.gif
docs/basic-features/imgs/state3.png
is excluded by!**/*.png
docs/basic-features/imgs/stylePanelOverview.png
is excluded by!**/*.png
docs/basic-features/imgs/styleSettingNew.gif
is excluded by!**/*.gif
docs/basic-features/imgs/styleSettingResult1.png
is excluded by!**/*.png
docs/basic-features/imgs/styleSettingResult2.png
is excluded by!**/*.png
docs/basic-features/imgs/styleSettingStatic.png
is excluded by!**/*.png
docs/basic-features/imgs/toolbaroverview.png
is excluded by!**/*.png
docs/basic-features/imgs/treeselectOverview.png
is excluded by!**/*.png
docs/development-getting-started/imgs/cli-create-plugin.png
is excluded by!**/*.png
docs/development-getting-started/imgs/cli-plugin-open.png
is excluded by!**/*.png
docs/development-getting-started/imgs/tiny-engine-cli-open.png
is excluded by!**/*.png
docs/development-getting-started/imgs/tiny-engine-cli.png
is excluded by!**/*.png
docs/ecosystem-center/imgs/componentConfigBase.png
is excluded by!**/*.png
docs/ecosystem-center/imgs/componentConfigSchema.png
is excluded by!**/*.png
docs/ecosystem-center/imgs/componentConfigTec.png
is excluded by!**/*.png
docs/ecosystem-center/imgs/componentLibInfo.png
is excluded by!**/*.png
docs/ecosystem-center/imgs/ecology1.png
is excluded by!**/*.png
docs/ecosystem-center/imgs/ecology2.png
is excluded by!**/*.png
docs/ecosystem-center/imgs/ecology3.png
is excluded by!**/*.png
docs/extension-capabilities-tutorial/code-output-function/imgs/TinyEngineSchem2Code.png
is excluded by!**/*.png
docs/extension-capabilities-tutorial/code-output-function/imgs/customGenCodePlugin.png
is excluded by!**/*.png
docs/extension-capabilities-tutorial/code-output-function/imgs/exportcode.gif
is excluded by!**/*.gif
docs/extension-capabilities-tutorial/code-output-function/imgs/pageGenerate.png
is excluded by!**/*.png
docs/extension-capabilities-tutorial/code-output-function/imgs/vuetemplate.png
is excluded by!**/*.png
docs/extension-capabilities-tutorial/imgs/custom-plugin-page-full.png
is excluded by!**/*.png
docs/extension-capabilities-tutorial/imgs/custom-plugin-page-pos.png
is excluded by!**/*.png
docs/extension-capabilities-tutorial/imgs/input-configurator.png
is excluded by!**/*.png
docs/extension-capabilities-tutorial/imgs/my-input-configurator.gif
is excluded by!**/*.gif
docs/extension-capabilities-tutorial/imgs/plugin1.png
is excluded by!**/*.png
docs/extension-capabilities-tutorial/imgs/plugin2.png
is excluded by!**/*.png
docs/extension-capabilities-tutorial/imgs/plugin3.png
is excluded by!**/*.png
docs/extension-capabilities-tutorial/imgs/plugin4.png
is excluded by!**/*.png
docs/extension-capabilities-tutorial/imgs/plugin5.png
is excluded by!**/*.png
docs/extension-capabilities-tutorial/imgs/plugin6.png
is excluded by!**/*.png
docs/extension-capabilities-tutorial/imgs/plugin7.png
is excluded by!**/*.png
docs/getting-started/imgs/addComponent.png
is excluded by!**/*.png
docs/getting-started/imgs/addState.png
is excluded by!**/*.png
docs/getting-started/imgs/bangEnv.png
is excluded by!**/*.png
docs/getting-started/imgs/firstPage.png
is excluded by!**/*.png
docs/getting-started/imgs/imgswitch.png
is excluded by!**/*.png
docs/getting-started/imgs/page1.png
is excluded by!**/*.png
docs/getting-started/imgs/preImgChange.png
is excluded by!**/*.png
docs/getting-started/imgs/setImgSrc.png
is excluded by!**/*.png
docs/getting-started/imgs/setImgSta.png
is excluded by!**/*.png
docs/getting-started/imgs/setImgSty.png
is excluded by!**/*.png
docs/getting-started/imgs/showImg.png
is excluded by!**/*.png
docs/getting-started/imgs/tinyengine.png
is excluded by!**/*.png
docs/practical-cases/imgs/app.png
is excluded by!**/*.png
docs/practical-cases/imgs/blockProps.png
is excluded by!**/*.png
docs/practical-cases/imgs/blockSettings.png
is excluded by!**/*.png
docs/practical-cases/imgs/code.png
is excluded by!**/*.png
docs/practical-cases/imgs/download.png
is excluded by!**/*.png
docs/practical-cases/imgs/image-20230919202709-5khs9h1.png
is excluded by!**/*.png
docs/practical-cases/imgs/image-20230920083516-hg4vhhs.png
is excluded by!**/*.png
docs/practical-cases/imgs/image-20230920084925-yirmz91.png
is excluded by!**/*.png
docs/practical-cases/imgs/image-20230920093120-jdzux3h.png
is excluded by!**/*.png
docs/practical-cases/imgs/pdm.png
is excluded by!**/*.png
docs/practical-cases/imgs/process.png
is excluded by!**/*.png
docs/practical-cases/imgs/smbHome.png
is excluded by!**/*.png
docs/solutions/imgs/add_block.png
is excluded by!**/*.png
docs/solutions/imgs/add_block1.png
is excluded by!**/*.png
docs/solutions/imgs/add_block2.png
is excluded by!**/*.png
docs/solutions/imgs/backend_code.png
is excluded by!**/*.png
docs/solutions/imgs/backend_code3.png
is excluded by!**/*.png
docs/solutions/imgs/backend_deploy_1.png
is excluded by!**/*.png
docs/solutions/imgs/backend_deploy_10.png
is excluded by!**/*.png
docs/solutions/imgs/backend_deploy_2.png
is excluded by!**/*.png
docs/solutions/imgs/backend_deploy_4.png
is excluded by!**/*.png
docs/solutions/imgs/backend_deploy_5.png
is excluded by!**/*.png
docs/solutions/imgs/backend_deploy_6.png
is excluded by!**/*.png
docs/solutions/imgs/backend_deploy_7.png
is excluded by!**/*.png
docs/solutions/imgs/backend_deploy_8.png
is excluded by!**/*.png
docs/solutions/imgs/backend_deploy_9.png
is excluded by!**/*.png
docs/solutions/imgs/block-publish-10.png
is excluded by!**/*.png
docs/solutions/imgs/block-publish-11.png
is excluded by!**/*.png
docs/solutions/imgs/block-publish-12.png
is excluded by!**/*.png
docs/solutions/imgs/block-publish-2.png
is excluded by!**/*.png
docs/solutions/imgs/block-publish-3.png
is excluded by!**/*.png
docs/solutions/imgs/block-publish-4.png
is excluded by!**/*.png
docs/solutions/imgs/block-publish-5.png
is excluded by!**/*.png
docs/solutions/imgs/block-publish-6.png
is excluded by!**/*.png
docs/solutions/imgs/block-publish-7.png
is excluded by!**/*.png
docs/solutions/imgs/block-publish-8.png
is excluded by!**/*.png
docs/solutions/imgs/block-publish-9.png
is excluded by!**/*.png
docs/solutions/imgs/block-publish-db-1.png
is excluded by!**/*.png
docs/solutions/imgs/create_block.png
is excluded by!**/*.png
docs/solutions/imgs/events.png
is excluded by!**/*.png
docs/solutions/imgs/npm1.png
is excluded by!**/*.png
docs/solutions/imgs/npm2.png
is excluded by!**/*.png
docs/solutions/imgs/npm3.png
is excluded by!**/*.png
docs/solutions/imgs/property.png
is excluded by!**/*.png
docs/solutions/imgs/publish_block.png
is excluded by!**/*.png
docs/solutions/imgs/publish_block2.png
is excluded by!**/*.png
docs/solutions/imgs/save_block.png
is excluded by!**/*.png
docs/solutions/imgs/slots.png
is excluded by!**/*.png
docs/solutions/imgs/snippets.png
is excluded by!**/*.png
docs/solutions/imgs/synchronize-materials.png
is excluded by!**/*.png
📒 Files selected for processing (62)
docs/API/backend-api/AI功能接口.md
(1 hunks)docs/API/backend-api/APP服务.md
(1 hunks)docs/API/backend-api/DSL代码生成.md
(1 hunks)docs/API/backend-api/应用工具类管理.md
(1 hunks)docs/API/backend-api/数据源管理.md
(1 hunks)docs/about-applications/创建应用(创建空白应用、从模板创建应用).md
(1 hunks)docs/about-applications/开发应用.md
(1 hunks)docs/about-designer/介绍.md
(1 hunks)docs/about-designer/创建设计器.md
(1 hunks)docs/about-designer/定制物料资产包、主题、DSL、工具栏和插件栏.md
(1 hunks)docs/about-designer/定制设计器.md
(1 hunks)docs/about-materials/介绍.md
(1 hunks)docs/about-materials/创建物料资产包.md
(1 hunks)docs/about-materials/构建物料资产包.md
(1 hunks)docs/about-materials/添加组件库和区块.md
(1 hunks)docs/advanced-features/使用JS面板和事件绑定.md
(1 hunks)docs/advanced-features/使用工具类方法 utils.md
(1 hunks)docs/advanced-features/区块管理.md
(1 hunks)docs/advanced-features/如何使用插槽.md
(1 hunks)docs/advanced-features/循环渲染.md
(1 hunks)docs/advanced-features/数据源和Collection—mock数据.md
(1 hunks)docs/advanced-features/数据源和Collection—使用数据源.md
(1 hunks)docs/advanced-features/数据源和Collection—远程字段.md
(1 hunks)docs/advanced-features/条件渲染.md
(1 hunks)docs/advanced-features/集成ChatGPT搭建简单页面能力.md
(1 hunks)docs/advanced-features/高级面板设置.md
(1 hunks)docs/basic-features/使用状态管理和变量绑定.md
(1 hunks)docs/basic-features/使用组件.md
(1 hunks)docs/basic-features/初识设计器.md
(1 hunks)docs/basic-features/国际化.md
(1 hunks)docs/basic-features/查看大纲树.md
(1 hunks)docs/basic-features/样式设置.md
(1 hunks)docs/basic-features/行内样式绑定状态变量.md
(1 hunks)docs/basic-features/设计前端应用流程.md
(1 hunks)docs/basic-features/设计器界面模块简介.md
(1 hunks)docs/basic-features/页面和区块预览.md
(1 hunks)docs/basic-features/页面管理.md
(1 hunks)docs/catalog.json
(1 hunks)docs/development-getting-started/快速上手.md
(1 hunks)docs/development-getting-started/简介.md
(1 hunks)docs/ecosystem-center/介绍.md
(1 hunks)docs/ecosystem-center/发布其他生态.md
(1 hunks)docs/ecosystem-center/如何发布区块.md
(1 hunks)docs/ecosystem-center/如何导入组件库.md
(1 hunks)docs/extension-capabilities-overview/元服务和元应用.md
(1 hunks)docs/extension-capabilities-overview/新架构介绍.md
(1 hunks)docs/extension-capabilities-overview/注册表.md
(1 hunks)docs/extension-capabilities-tutorial/code-output-function/出码功能简介与使用.md
(1 hunks)docs/extension-capabilities-tutorial/code-output-function/如何自定义出码.md
(1 hunks)docs/extension-capabilities-tutorial/code-output-function/如何自定义出码插件.md
(1 hunks)docs/extension-capabilities-tutorial/code-output-function/官方出码能力API.md
(1 hunks)docs/extension-capabilities-tutorial/code-output-function/自定义页面出码插件.md
(1 hunks)docs/extension-capabilities-tutorial/如何开发插件.md
(1 hunks)docs/extension-capabilities-tutorial/定制元服务逻辑.md
(1 hunks)docs/extension-capabilities-tutorial/定制插件UI.md
(1 hunks)docs/extension-capabilities-tutorial/开发设置器组件.md
(1 hunks)docs/getting-started/快速上手.md
(1 hunks)docs/getting-started/简介.md
(1 hunks)docs/index.md
(1 hunks)docs/practical-cases/PDM元数据审批电子流.md
(1 hunks)docs/practical-cases/SMB轻量应用服务.md
(1 hunks)docs/practical-cases/图元编排设计器.md
(1 hunks)
✅ Files skipped from review due to trivial changes (7)
- docs/basic-features/查看大纲树.md
- docs/about-designer/创建设计器.md
- docs/about-materials/构建物料资产包.md
- docs/basic-features/行内样式绑定状态变量.md
- docs/about-applications/创建应用(创建空白应用、从模板创建应用).md
- docs/ecosystem-center/介绍.md
- docs/basic-features/设计器界面模块简介.md
🧰 Additional context used
📓 Learnings (1)
docs/development-getting-started/快速上手.md (1)
Learnt from: gene9831
PR: opentiny/tiny-engine#917
File: docs/开始/快速上手.md:31-31
Timestamp: 2024-12-14T05:53:28.501Z
Learning: The latest stable version of `@opentiny/tiny-engine-cli` is `2.0.0`, and documentation should reference this version instead of any release candidates.
🪛 LanguageTool
docs/API/backend-api/DSL代码生成.md
[uncategorized] ~48-~48: Loose punctuation mark.
Context: ...的schema } }, { // 其他区块... } ]
输出示例:
<cod...(UNLIKELY_OPENING_PUNCTUATION)
docs/extension-capabilities-overview/新架构介绍.md
[uncategorized] ~6-~6: 动词的修饰一般为‘形容词(副词)+地+动词’。您的意思是否是:慢慢"地"增加
Context: ...对官方项目代码的修改程度也逐渐增多,与此同时,TinyEngine引擎官方在慢慢的增加新特性,以及修复 bug,导致 fork 出来的代码与官方引擎项目差异越来越...
(wb4)
[uncategorized] ~10-~10: 动词的修饰一般为‘形容词(副词)+地+动词’。您的意思是否是:新"地"可
Context: ...对插件、设计器、布局、出码等等方式进行定制。 基于这个需求与思路,我们设计了新的可扩展架构——洛书架构 ## 扩展架构核心特性 - 提供 cli 工具,使用...
(wb4)
docs/extension-capabilities-tutorial/code-output-function/出码功能简介与使用.md
[uncategorized] ~34-~34: 1.动词被副词修饰时,助词应该用‘得’;2.省略宾语时,助词应该用‘的’;可能造成歧义。您的意思是不是:膨胀"得"非常巨大
Context: ...但是,在我们实战经验中却发现随着需求的变更以及时间的变迁,运行时引擎的代码会膨胀的非常巨大,运行时引擎内部的架构也越来越复杂,会带来一些明显的痛点: - 由于运...
(wb4)
[uncategorized] ~40-~40: 动词的修饰一般为‘形容词(副词)+地+动词’。您的意思是否是:完美"地"解决
Context: ...用低代码搭建的场景)。 在经历一番探索之后,我们发现使用出码的方案可以相对完美的解决以上痛点: - 运行时引擎仅在设计态搭建页面的时候存在,正式上线的代码是人...
(wb4)
docs/advanced-features/使用JS面板和事件绑定.md
[uncategorized] ~90-~90: 成分累赘: “来自” “于” 不一起使用,请删除 “于”:"来自"。
Context: ...签名需参考组件的文档 1. 首先在页面JS中定义渲染函数,这里的函数参数的定义来自于 TinyVue 的文档 ![在页面JS中定义渲染函数](./imgs/pag...
(wb2)
[uncategorized] ~103-~103: 动词的修饰一般为‘形容词(副词)+地+动词’。您的意思是否是:方便"地"提供
Context: ...够很方便的为元素或区块添加事件,通过可视化的优势快速定位到某个元素。同时也很方便的提供一些状态获取方法,国际化词条获取方法等。
(wb4)
docs/API/backend-api/APP服务.md
[misspelling] ~51-~51: Use “an” instead of ‘a’ if the following word starts with a vowel sound, e.g. ‘an article’, ‘an hour’.
Context: ... ## 获取页面/区块源码 ### 基本信息 Path:...
(EN_A_VS_AN)
[misspelling] ~85-~85: Use “an” instead of ‘a’ if the following word starts with a vowel sound, e.g. ‘an article’, ‘an hour’.
Context: ... ## 页面/区块预览用元数据 ### 基本信息 **Path:...
(EN_A_VS_AN)
docs/practical-cases/PDM元数据审批电子流.md
[uncategorized] ~27-~27: 动词的修饰一般为‘形容词(副词)+地+动词’。您的意思是否是:完美"地"贯通
Context: ...续内容中详细介绍),以实现对审批流程人员编排。这样,前后端之间的连接就实现了完美的贯通。
...
(wb4)
docs/basic-features/使用组件.md
[uncategorized] ~20-~20: 动词的修饰一般为‘形容词(副词)+地+动词’。您的意思是否是:好"地"拖
Context: ...# 从画布中直接添加组件 对于复杂的页面,嵌套层级可能很深,直接拖拽并不能很好的拖入到指定的层级中,所以,设计器提供在画布中右键精准添加组件的能力。 1. 画...
(wb4)
docs/development-getting-started/简介.md
[uncategorized] ~16-~16: 数量词修饰并列短语,可能产生歧义
Context: ...持二次开发或被集成 - 直接生成可部署的源码,运行时无需引擎支撑 - 允许接入第三方组件、允许定制扩展插件 - 支持高代码与低代码,混合开发部署应用 - 平台接入 AI ...
(s5)
docs/getting-started/简介.md
[uncategorized] ~23-~23: 动词的修饰一般为‘形容词(副词)+地+动词’。您的意思是否是:强大"地"开放
Context: ...nyEngine 有开放的物料协议和扩展接口:得益于 TinyEngine 强大的开放物料设计,可直接导入第三方组件库,例如 elementUI 和 AntDes...
(wb4)
docs/practical-cases/图元编排设计器.md
[uncategorized] ~19-~19: “个”不能与“云”搭配,可改为:"每"一朵"云"
Context: ...计器,顺利生成资源模板,实现一键部署。 考虑到需要支持大量的云服务资源,同时每一个云服务资源需要配置的属性也是不一样的,因而采用传统开发方式,为每一种云服务资源开...
(wa5)
[uncategorized] ~68-~68: 动词的修饰一般为‘形容词(副词)+地+动词’。您的意思是否是:完备"地"插
Context: ...# 整体插件架构介绍 TinyEngine整体架构优秀之处在于,提供了一套完备的插件体系,包含了插件开发所有的基础UI库、工具库、插件面板的显示控制、生命周期管...
(wb4)
[uncategorized] ~74-~74: 动词的修饰一般为‘形容词(副词)+地+动词’。您的意思是否是:一定"地"开发
Context: ...或切换。 ### 遵循插件规范开发 TinyEngine插件开发需要遵循一定的开发规范,主要是文件规范与导出规范: * 文件规范,必须包含下面几个文件 `...
(wb4)
[uncategorized] ~121-~121: 动词的修饰一般为‘形容词(副词)+地+动词’。您的意思是否是:快速"地"完成
Context: ...具栏插件、导出插件、主题、属性配置插件、模板转换插件,微调整体设计器样式,就快速的完成了一个资源编排领域的图元编排设计器。 ![image](./imgs/...
(wb4)
[uncategorized] ~127-~127: 动词的修饰一般为‘形容词(副词)+地+动词’。您的意思是否是:优秀"地"插
Context: ...TinyEngine的基础引擎能力,快速搭建出PoC原型,再此基础上,利用其优秀的插件架构和提供的插件公共能力,添加业务相关插件,快速开发出一个领域定制的专属设计...
(wb4)
docs/ecosystem-center/发布其他生态.md
[uncategorized] ~7-~7: 能愿动词不能成为‘把’字句、‘被’字句的谓语动词。应该是:"会被……标识"。
Context: ...为插件 npm 包所在的仓库地址 版本号决定了安装哪一个版本的 npm 包 被标识为官方的插件会显示“官方”字样 被标识为默认的插件会在创建设计器时默认被选中 公开决定了插...
(wa3)
[uncategorized] ~8-~8: 能愿动词不能成为‘把’字句、‘被’字句的谓语动词。应该是:"会被……标识"。
Context: ...号决定了安装哪一个版本的 npm 包 被标识为官方的插件会显示“官方”字样 被标识为默认的插件会在创建设计器时默认被选中 公开决定了插件的可见范围,私有代表仅自己可见,公开代...
(wa3)
docs/development-getting-started/快速上手.md
[uncategorized] ~14-~14: 动词的修饰一般为‘形容词(副词)+地+动词’。您的意思是否是:必要"地"开发
Context: ...t 代码版本管理⼯具 - chrome浏览器 110+ 版本 - 以及其他必要的开发前端开发环境、⼯具等。 ## 二、Tiny Engine CLI ...
(wb4)
[uncategorized] ~64-~64: 动词的修饰一般为‘形容词(副词)+地+动词’。您的意思是否是:新"地"插
Context: ... 另起一个终端,在当前目录下,输入下面命令,选择创建plugin类型,创建一个新的插件 ```shell npx @opentiny/tiny-engine-c...
(wb4)
[uncategorized] ~102-~102: 动词的修饰一般为‘形容词(副词)+地+动词’。您的意思是否是:新"地"插
Context: ...#### 2.2.3 开发调试插件 重新打开项目页面,可以看到侧边栏多了一个新的插件: ![cli-plugin-open](./imgs/cli-plugi...
(wb4)
docs/advanced-features/区块管理.md
[uncategorized] ~68-~68: 动词的修饰一般为‘形容词(副词)+地+动词’。您的意思是否是:好"地"明白
Context: ...围进行设置,下面对相关设置项进行讲解 - 区块描述:区块的描述,可以让别人更好的明白该区块的用途以及含义 - 区块标签:区块的标签,方便消费侧用户搜索 - 公开...
(wb4)
[uncategorized] ~105-~105: 您的意思是“"既"是”吗?
Context: ...发布之后,我们在物料面板拖出区块到画布中,选中我们拖出的区块,右侧属性面板的属性即是我们定义的暴露属性 ![区块暴露属性的消费](./imgs/blockexp...
(JI11_JI2)
docs/about-materials/创建物料资产包.md
[uncategorized] ~8-~8: 数词与名词之间一般应存在量词,可能缺少量词。
Context: ...r的组件库与区块。 物料资产包版本是用户自定义的,用户可以将物料资产包回退到任一版本。 ...
(wa5)
docs/basic-features/页面和区块预览.md
[uncategorized] ~5-~5: 动词的修饰一般为‘形容词(副词)+地+动词’。您的意思是否是:最终"地"表现
Context: ... 在一些场景下,设计器的画布并不能使得我们直观的感受到所设计的区块或者页面最终的表现。比如说,当页面上区块和组件应用层次较多,区块之间或者组件之间交互行为较为复...
(wb4)
[uncategorized] ~5-~5: 您不可用“是”来表达个形容词。大部分人都平常用“很”来代替“是”。您是不是想表达"很困难"?
Context: ...组件之间交互行为较为复杂时,我们在画布上去清晰的感知页面的静态布局以及动态交互很是困难,这时候就需要设计器的页面/区块预览能力来为开发提供帮助 ### 页面...
(SHI_ADHECTIVE_ERROR)
docs/ecosystem-center/如何导入组件库.md
[uncategorized] ~4-~4: 动词的修饰一般为‘形容词(副词)+地+动词’。您的意思是否是:好"地"可
Context: ...入组件库 ## 介绍 组件是页面搭建最小的可复用单元,组件库是一系列已经封装好的可复用组件的集合。通过导入第三方组件库,可以利用已经开发好的功能,无需从头开始编...
(wb4)
🪛 Markdownlint (0.37.0)
docs/advanced-features/循环渲染.md
13-13: null
Images should have alternate text (alt text)
(MD045, no-alt-text)
docs/advanced-features/使用工具类方法 utils.md
8-8: null
Emphasis used instead of a heading
(MD036, no-emphasis-as-heading)
64-64: null
Emphasis used instead of a heading
(MD036, no-emphasis-as-heading)
docs/API/backend-api/APP服务.md
87-87: null
Multiple headings with the same content
(MD024, no-duplicate-heading)
96-96: null
Multiple headings with the same content
(MD024, no-duplicate-heading)
108-108: null
Multiple headings with the same content
(MD024, no-duplicate-heading)
19-19: null
Emphasis used instead of a heading
(MD036, no-emphasis-as-heading)
25-25: null
Emphasis used instead of a heading
(MD036, no-emphasis-as-heading)
64-64: null
Emphasis used instead of a heading
(MD036, no-emphasis-as-heading)
98-98: null
Emphasis used instead of a heading
(MD036, no-emphasis-as-heading)
docs/practical-cases/PDM元数据审批电子流.md
17-17: null
Images should have alternate text (alt text)
(MD045, no-alt-text)
docs/API/backend-api/应用工具类管理.md
18-18: null
Emphasis used instead of a heading
(MD036, no-emphasis-as-heading)
24-24: null
Emphasis used instead of a heading
(MD036, no-emphasis-as-heading)
63-63: null
Emphasis used instead of a heading
(MD036, no-emphasis-as-heading)
69-69: null
Emphasis used instead of a heading
(MD036, no-emphasis-as-heading)
110-110: null
Emphasis used instead of a heading
(MD036, no-emphasis-as-heading)
144-144: null
Emphasis used instead of a heading
(MD036, no-emphasis-as-heading)
docs/API/backend-api/AI功能接口.md
21-21: null
Emphasis used instead of a heading
(MD036, no-emphasis-as-heading)
27-27: null
Emphasis used instead of a heading
(MD036, no-emphasis-as-heading)
docs/basic-features/国际化.md
7-7: null
Images should have alternate text (alt text)
(MD045, no-alt-text)
16-16: null
Images should have alternate text (alt text)
(MD045, no-alt-text)
docs/ecosystem-center/发布其他生态.md
1-1: null
Headings must start at the beginning of the line
(MD023, heading-start-left)
docs/development-getting-started/快速上手.md
90-90: Column: 1
Hard tabs
(MD010, no-hard-tabs)
124-124: null
Fenced code blocks should have a language specified
(MD040, fenced-code-language)
docs/API/backend-api/数据源管理.md
18-18: null
Emphasis used instead of a heading
(MD036, no-emphasis-as-heading)
24-24: null
Emphasis used instead of a heading
(MD036, no-emphasis-as-heading)
30-30: null
Emphasis used instead of a heading
(MD036, no-emphasis-as-heading)
69-69: null
Emphasis used instead of a heading
(MD036, no-emphasis-as-heading)
75-75: null
Emphasis used instead of a heading
(MD036, no-emphasis-as-heading)
114-114: null
Emphasis used instead of a heading
(MD036, no-emphasis-as-heading)
147-147: null
Emphasis used instead of a heading
(MD036, no-emphasis-as-heading)
180-180: null
Emphasis used instead of a heading
(MD036, no-emphasis-as-heading)
215-215: null
Emphasis used instead of a heading
(MD036, no-emphasis-as-heading)
250-250: null
Emphasis used instead of a heading
(MD036, no-emphasis-as-heading)
docs/about-applications/开发应用.md
9-9: null
Emphasis used instead of a heading
(MD036, no-emphasis-as-heading)
docs/ecosystem-center/如何导入组件库.md
30-30: null
Tables should be surrounded by blank lines
(MD058, blanks-around-tables)
41-41: null
Tables should be surrounded by blank lines
(MD058, blanks-around-tables)
🔇 Additional comments (64)
docs/about-materials/创建物料资产包.md (2)
1-4
: LGTM: Clear document structure
The document title and section headers are well-organized and follow proper Markdown heading hierarchy.
10-10
: Verify image availability
The PR objectives mention issues with missing images. Let's verify if this image exists.
✅ Verification successful
Image file exists and is correctly referenced
The image file createMaterial.gif
exists at the expected location docs/about-materials/imgs/createMaterial.gif
, and the markdown reference to it is correct.
🏁 Scripts executed
The following scripts were executed for the analysis:
Script:
#!/bin/bash
# Check if the image file exists
fd "createMaterial.gif" docs/about-materials/imgs/
# Check for any other potential locations of the image
fd "createMaterial.gif"
Length of output: 164
docs/development-getting-started/简介.md (3)
1-4
: LGTM! Clear document structure.
The document follows proper Markdown formatting conventions with appropriate heading levels.
11-25
: LGTM! Well-structured features and use cases.
The features are clearly presented with bullet points, and the application scenarios are comprehensively described.
🧰 Tools
🪛 LanguageTool
[uncategorized] ~16-~16: 数量词修饰并列短语,可能产生歧义
Context: ...持二次开发或被集成 - 直接生成可部署的源码,运行时无需引擎支撑 - 允许接入第三方组件、允许定制扩展插件 - 支持高代码与低代码,混合开发部署应用 - 平台接入 AI ...
(s5)
37-44
: LGTM! Clear community and roadmap information.
The community contribution and future development sections effectively communicate the project's vision and opportunities for involvement.
docs/ecosystem-center/如何发布区块.md (1)
9-9
: 🛠️ Refactor suggestion
Verify image path and add alt text description
The image reference needs attention:
- Based on PR objectives, there are known issues with missing images
- The alt text could be more descriptive
-![发布区块](./imgs/ecology2.png)
+![区块发布流程示意图](./imgs/ecology2.png)
✅ Verification successful
Image path is correct and accessible
The image file ecology2.png
exists at the correct relative path ./imgs/ecology2.png
from the markdown file's location. While improving the alt text would enhance accessibility, the current implementation is technically functional.
docs/ecosystem-center/imgs/ecology2.png
is present and correctly referenced
🏁 Scripts executed
The following scripts were executed for the analysis:
Script:
#!/bin/bash
# Check if the image exists and verify its path
fd "ecology2.png" docs/ecosystem-center/imgs/
# Check for other potential image locations
fd "ecology2.png" docs/
Length of output: 149
docs/ecosystem-center/如何导入组件库.md (4)
1-7
: LGTM! Clear and well-structured introduction.
The introduction effectively explains component libraries and their benefits.
🧰 Tools
🪛 LanguageTool
[uncategorized] ~4-~4: 动词的修饰一般为‘形容词(副词)+地+动词’。您的意思是否是:好"地"可
Context: ...入组件库 ## 介绍 组件是页面搭建最小的可复用单元,组件库是一系列已经封装好的可复用组件的集合。通过导入第三方组件库,可以利用已经开发好的功能,无需从头开始编...
(wb4)
68-69
: LGTM! Clear conclusion.
The conclusion effectively summarizes the next steps for users after completing the component library configuration.
29-29
: Verify all image references.
Multiple image references need verification:
./imgs/componentConfigBase.png
./imgs/componentConfigSchema.png
./imgs/componentConfigTec.png
Also applies to: 40-40
✅ Verification successful
All referenced images are present in the expected location
All image references in the documentation are valid and the corresponding files exist in the docs/ecosystem-center/imgs/
directory:
- componentConfigBase.png
- componentConfigSchema.png
- componentConfigTec.png
🏁 Scripts executed
The following scripts were executed for the analysis:
Script:
#!/bin/bash
# Check if all referenced images exist
fd -e png "componentConfig(Base|Schema|Tec).png" docs/
Length of output: 210
9-9
: Verify image accessibility.
The image reference ./imgs/componentLibInfo.png
needs verification to ensure it's accessible and properly linked.
✅ Verification successful
Image path is correctly referenced and accessible
The image file componentLibInfo.png
exists at the expected relative path ./imgs/componentLibInfo.png
from the markdown file's location in docs/ecosystem-center/
. The reference is valid and accessible.
🏁 Scripts executed
The following scripts were executed for the analysis:
Script:
#!/bin/bash
# Check if the image exists and is accessible
fd -e png "componentLibInfo.png" docs/
Length of output: 86
docs/ecosystem-center/发布其他生态.md (1)
3-4
: Verify image accessibility
Please ensure that the referenced image ./imgs/ecology3.png
exists and is accessible. The PR objectives mention issues with missing images.
✅ Verification successful
Image file exists and is accessible
The referenced image ./imgs/ecology3.png
exists at the correct location and is accessible.
🏁 Scripts executed
The following scripts were executed for the analysis:
Script:
#!/bin/bash
# Check if the image file exists and is accessible
fd -e png "ecology3.png" docs/ecosystem-center/imgs/
Length of output: 92
docs/basic-features/样式设置.md (4)
9-12
: Code examples are well-structured and clear!
The code examples effectively demonstrate the concepts with proper formatting and language-specific syntax highlighting.
Also applies to: 16-30, 138-141, 151-163
1-4
: Documentation structure and content are well-organized!
The documentation follows a logical progression from basic concepts to advanced features, with clear explanations and practical examples.
Also applies to: 34-44, 58-61, 80-83, 131-134, 147-150
1-169
: Markdown formatting follows best practices!
The document uses proper Markdown syntax throughout, with consistent heading hierarchy and correct code block formatting. No HTML tables were found that need conversion to Markdown format.
45-46
: Verify image accessibility and paths
Multiple image references are used throughout the document. Let's verify their existence and accessibility.
Also applies to: 47-48, 55-56, 68-69, 72-73, 78-79, 90-91, 92-93, 110-111, 121-122, 129-130, 145-146, 169-169
✅ Verification successful
All referenced images are present and accessible
All image files referenced in the markdown document are present in the correct location at docs/basic-features/imgs/
. The verification script confirmed the existence of all 15 image files with their correct filenames.
🏁 Scripts executed
The following scripts were executed for the analysis:
Script:
#!/bin/bash
# Description: Check if referenced images exist in the correct location
# Get the directory of the current markdown file
DOC_DIR=$(dirname "docs/basic-features/样式设置.md")
# List of image files referenced
IMAGES=(
"styleSettingStatic.png"
"styleSettingNew.gif"
"styleSettingResult1.png"
"styleSettingResult2.png"
"inlineStyleSettingNew.gif"
"inlineSettingResultNew.png"
"editGlobalStyleNew.gif"
"setClassNameStatic.png"
"setClassNameNew.gif"
"editClassNameNew.gif"
"editClassNameStatic.png"
"deleteClassNameNew.gif"
"selectClassNameNew.gif"
"setStyleHoverNew.gif"
"inlineStyleBindVar.gif"
)
# Check each image
echo "Checking image files in $DOC_DIR/imgs/:"
for img in "${IMAGES[@]}"; do
if [ -f "$DOC_DIR/imgs/$img" ]; then
echo "✓ Found: $img"
else
echo "✗ Missing: $img"
fi
done
Length of output: 3042
docs/basic-features/页面和区块预览.md (1)
9-9
: Verify image path and accessibility
The image reference ./imgs/preview-btn.png
needs verification:
- Ensure the image exists in the correct relative path
- Consider using absolute paths for better reliability
✅ Verification successful
Image path is correctly referenced and accessible
The image file exists at the expected relative path docs/basic-features/imgs/preview-btn.png
, which matches the referenced path ./imgs/preview-btn.png
from the markdown file located at docs/basic-features/页面和区块预览.md
. The relative path is working as intended.
🏁 Scripts executed
The following scripts were executed for the analysis:
Script:
#!/bin/bash
# Check if the referenced image exists
fd -t f "preview-btn.png" docs/
Length of output: 72
docs/extension-capabilities-tutorial/code-output-function/出码功能简介与使用.md (3)
1-60
: Documentation structure and content look good!
The document effectively explains the code output functionality with:
- Clear introduction and definition
- Practical code examples
- Well-reasoned rationale for using code output
- Step-by-step usage instructions
🧰 Tools
🪛 LanguageTool
[uncategorized] ~34-~34: 1.动词被副词修饰时,助词应该用‘得’;2.省略宾语时,助词应该用‘的’;可能造成歧义。您的意思是不是:膨胀"得"非常巨大
Context: ...但是,在我们实战经验中却发现随着需求的变更以及时间的变迁,运行时引擎的代码会膨胀的非常巨大,运行时引擎内部的架构也越来越复杂,会带来一些明显的痛点: - 由于运...
(wb4)
[uncategorized] ~40-~40: 动词的修饰一般为‘形容词(副词)+地+动词’。您的意思是否是:完美"地"解决
Context: ...用低代码搭建的场景)。 在经历一番探索之后,我们发现使用出码的方案可以相对完美的解决以上痛点: - 运行时引擎仅在设计态搭建页面的时候存在,正式上线的代码是人...
(wb4)
56-56
: Verify the existence of referenced image
The PR objectives mention issues with missing images. Please ensure that:
- The image file
exportcode.gif
exists in theimgs
directory - The image is properly committed to the repository
✅ Verification successful
Image reference is correctly linked and exists in the repository
The image file exportcode.gif
exists at the expected location docs/extension-capabilities-tutorial/code-output-function/imgs/
, and the relative path in the markdown file correctly references it.
🏁 Scripts executed
The following scripts were executed for the analysis:
Script:
#!/bin/bash
# Check if the image exists in the correct location
fd -t f "exportcode.gif" docs/extension-capabilities-tutorial/code-output-function/imgs/
Length of output: 166
60-60
: Verify the existence of referenced document
Please ensure that the referenced document "如何自定义出码.md" exists in the same directory.
✅ Verification successful
Document reference is valid
The referenced document "如何自定义出码.md" exists in the same directory, making this a valid cross-reference.
🏁 Scripts executed
The following scripts were executed for the analysis:
Script:
#!/bin/bash
# Check if the referenced document exists
fd -t f "如何自定义出码.md" docs/extension-capabilities-tutorial/code-output-function/
Length of output: 228
docs/basic-features/页面管理.md (2)
1-4
: LGTM! Clear and concise introduction.
The title and introduction effectively explain the purpose of the page management plugin.
26-26
: Verify and fix image references.
The PR objectives mention issues with missing images. Let's verify the image paths and ensure they exist.
Consider the following improvements:
- Add alt text with more descriptive information
- Consider using absolute paths with the public URL of your documentation site
Example improvement:
-![新增文件夹](./imgs/addFolder.png)
+![页面管理 - 如何新增文件夹的操作界面](/docs/basic-features/imgs/addFolder.png)
Also applies to: 32-32, 39-39
✅ Verification successful
Image references are correctly configured and accessible
All referenced images (addFolder.png
, addPage.png
, pagedelOrCopy.png
) exist in the expected location under docs/basic-features/imgs/
. The relative path ./imgs/
in the markdown files correctly points to these images. While the suggested improvements for alt text and absolute paths could enhance accessibility and maintainability, the current implementation is functional and valid.
🏁 Scripts executed
The following scripts were executed for the analysis:
Script:
#!/bin/bash
# Check if the referenced images exist
echo "Checking image files..."
for img in "addFolder.png" "addPage.png" "pagedelOrCopy.png"; do
if fd -p "docs/basic-features/imgs/${img}"; then
echo "✓ Found: ${img}"
else
echo "✗ Missing: ${img}"
fi
done
Length of output: 676
docs/about-designer/定制物料资产包、主题、DSL、工具栏和插件栏.md (1)
8-8
: Verify image references and ensure proper image hosting.
The PR objectives mention issues with missing images. Let's verify the image references:
Also applies to: 11-11, 14-14, 17-17, 20-20
✅ Verification successful
All image references are valid and accessible
The verification shows that all referenced images exist in the correct location:
defineMaterial.png
defineTheme.png
defineDsl.png
defineTools.png
definePlugs.png
🏁 Scripts executed
The following scripts were executed for the analysis:
Script:
#!/bin/bash
# Description: Check if referenced images exist and are accessible
# List all referenced images
echo "Checking for referenced images..."
IMAGES=("defineMaterial.png" "defineTheme.png" "defineDsl.png" "defineTools.png" "definePlugs.png")
# Check if images exist in the relative path
for img in "${IMAGES[@]}"; do
echo "Checking for ./docs/about-designer/imgs/$img"
if [ -f "./docs/about-designer/imgs/$img" ]; then
echo "✓ Found: $img"
else
echo "✗ Missing: $img"
fi
done
# Check for the imgs directory
if [ ! -d "./docs/about-designer/imgs" ]; then
echo "Warning: imgs directory not found at ./docs/about-designer/imgs"
fi
Length of output: 1547
docs/extension-capabilities-tutorial/定制插件UI.md (2)
68-68
: Verify the referenced image exists.
The image custom-plugin-page-full.png
is referenced but might be missing based on the PR objectives mentioning missing images.
✅ Verification successful
Image file exists at the specified location
The image custom-plugin-page-full.png
is present in the expected directory docs/extension-capabilities-tutorial/imgs/
.
🏁 Scripts executed
The following scripts were executed for the analysis:
Script:
#!/bin/bash
# Check if the referenced image exists
fd -t f "custom-plugin-page-full.png" docs/extension-capabilities-tutorial/imgs/
Length of output: 150
33-33
: Verify the referenced image exists.
The image custom-plugin-page-pos.png
is referenced but might be missing based on the PR objectives mentioning missing images.
✅ Verification successful
Image file exists at the referenced location
The image custom-plugin-page-pos.png
is present in the expected directory docs/extension-capabilities-tutorial/imgs/
.
🏁 Scripts executed
The following scripts were executed for the analysis:
Script:
#!/bin/bash
# Check if the referenced image exists
fd -t f "custom-plugin-page-pos.png" docs/extension-capabilities-tutorial/imgs/
Length of output: 148
docs/about-materials/介绍.md (1)
16-16
: Verify image accessibility and path
The PR objectives mention issues with missing images. Please ensure that:
- The image file exists at the specified path
- The image is properly committed to the repository
- Consider adding alt text with more details for better accessibility
✅ Verification successful
Image path and accessibility verified
The image file materialPanel.png
exists at the specified path docs/about-materials/imgs/
and the directory structure is correct. While adding descriptive alt text would improve accessibility, the basic image reference is functional.
🏁 Scripts executed
The following scripts were executed for the analysis:
Script:
#!/bin/bash
# Check if the image exists and is accessible
fd -t f "materialPanel.png" docs/about-materials/imgs/
# Check if the directory structure exists
fd -t d "imgs" docs/about-materials/
Length of output: 162
docs/about-materials/添加组件库和区块.md (1)
8-8
: Verify image availability and consider absolute paths
The PR objectives mention issues with missing images. Please ensure that all referenced images exist in the correct location.
Let's verify the image paths:
Consider using absolute paths from the repository root to prevent broken links:
-![添加组件库](./imgs/createMaterialLib.png)
+![添加组件库](/docs/about-materials/imgs/createMaterialLib.png)
Also applies to: 11-11, 14-14, 17-17
✅ Verification successful
All referenced images are present in the correct location
The verification shows that:
- The
imgs
directory exists atdocs/about-materials/imgs/
- All referenced images are present in their expected locations:
createMaterialLib.png
createMaterialBlock.png
createMaterialLibCancel.png
createMaterialBlockCancel.png
Since the images are correctly placed in a relative directory and all files exist, using relative paths is actually the preferred approach here as it makes the documentation more portable and easier to maintain.
🏁 Scripts executed
The following scripts were executed for the analysis:
Script:
#!/bin/bash
# Description: Check if the referenced images exist in the repository
# Check for the existence of the images directory and files
echo "Checking for images directory..."
fd -t d "imgs" "docs/about-materials"
echo "Checking for referenced image files..."
for img in "createMaterialLib.png" "createMaterialBlock.png" "createMaterialLibCancel.png" "createMaterialBlockCancel.png"; do
fd "$img" "docs/about-materials"
done
Length of output: 1140
docs/practical-cases/SMB轻量应用服务.md (1)
11-11
: Verify image references and ensure proper image hosting
All image references (./imgs/smbHome.png
, ./imgs/app.png
, etc.) need verification. The PR objectives mention issues with missing images linked to not-found
.
Let's verify the image paths and their existence:
Also applies to: 17-17, 28-28, 38-38, 44-44, 48-48
✅ Verification successful
All referenced images are present in the correct location
The verification shows that all image files referenced in the documentation exist in the expected docs/practical-cases/imgs/
directory:
- smbHome.png
- app.png
- blockSettings.png
- blockProps.png
- download.png
- code.png
The relative path ./imgs/
in the markdown file is correct since it points to the imgs
subdirectory within the same directory as the markdown file.
🏁 Scripts executed
The following scripts were executed for the analysis:
Script:
#!/bin/bash
# Check if the referenced images exist in the repository
for img in smbHome.png app.png blockSettings.png blockProps.png download.png code.png; do
echo "Checking for $img..."
fd -t f "$img" docs/
done
Length of output: 1570
docs/basic-features/设计前端应用流程.md (2)
1-7
: LGTM! Clear document structure and introduction.
The document follows proper Markdown formatting with a clear title and introduction.
1-63
: Well-structured documentation with clear steps
The documentation is well-organized with:
- Clear step-by-step instructions
- Logical flow from application creation to code generation
- Comprehensive coverage of each feature
- Good use of bullet points and numbered lists
docs/basic-features/国际化.md (1)
1-79
: Well-structured documentation with clear sections.
The documentation is well-organized with:
- Clear hierarchical headings
- Numbered instructions
- Consistent formatting
🧰 Tools
🪛 Markdownlint (0.37.0)
7-7: null
Images should have alternate text (alt text)
(MD045, no-alt-text)
16-16: null
Images should have alternate text (alt text)
(MD045, no-alt-text)
docs/basic-features/初识设计器.md (8)
1-4
: LGTM! Clear document structure and introduction.
The document starts with a proper heading hierarchy and provides a clear introduction to the content.
17-28
: LGTM! Well-structured toolbar documentation.
The toolbar features are clearly documented with a comprehensive list of functionalities.
32-32
: Verify image availability and path.
The plugin overview image reference needs verification.
✅ Verification successful
Image path is correctly referenced and file exists
The image file pluginoverview.png
exists at the expected location docs/basic-features/imgs/pluginoverview.png
, which matches the relative path used in the markdown file.
🏁 Scripts executed
The following scripts were executed for the analysis:
Script:
#!/bin/bash
# Check if the image exists and is accessible
fd pluginoverview.png
Length of output: 67
13-13
: Verify image availability and path.
The toolbar overview image reference needs verification.
✅ Verification successful
Image path is valid and accessible
The referenced image toolbaroverview.png
exists at the correct relative path ./imgs/toolbaroverview.png
from the markdown file's location.
🏁 Scripts executed
The following scripts were executed for the analysis:
Script:
#!/bin/bash
# Check if the image exists and is accessible
fd toolbaroverview.png
Length of output: 69
50-50
: Verify multiple image references.
Multiple image references in the settings panel section need verification.
Also applies to: 53-53, 56-56
✅ Verification successful
All referenced images exist in the correct location
The verification confirms that all three image files referenced in the settings panel section are present in the expected docs/basic-features/imgs/
directory:
- settingPanelOverview.png
- stylePanelOverview.png
- eventOverview.png
🏁 Scripts executed
The following scripts were executed for the analysis:
Script:
#!/bin/bash
# Check if all settings panel related images exist and are accessible
fd "settingPanelOverview.png|stylePanelOverview.png|eventOverview.png"
Length of output: 213
40-40
: Verify image availability and path.
The canvas overview image reference needs verification.
✅ Verification successful
Image path is correctly referenced and file exists
The image file canvasoverview.png
exists at the expected location docs/basic-features/imgs/canvasoverview.png
, which matches the relative path used in the markdown file.
🏁 Scripts executed
The following scripts were executed for the analysis:
Script:
#!/bin/bash
# Check if the image exists and is accessible
fd canvasoverview.png
Length of output: 67
60-60
: Verify image availability and path.
The tree select overview image reference needs verification.
✅ Verification successful
Image path is correctly referenced and file exists ✓
The image treeselectOverview.png
is present at the expected location docs/basic-features/imgs/treeselectOverview.png
, and the relative path in the markdown file ./imgs/treeselectOverview.png
is correctly specified.
🏁 Scripts executed
The following scripts were executed for the analysis:
Script:
#!/bin/bash
# Check if the image exists and is accessible
fd treeselectOverview.png
Length of output: 75
7-7
: Verify image availability and path.
The image reference needs verification as the PR objectives mention issues with missing images.
✅ Verification successful
Image path is valid and accessible
The image platformExpend.png
exists at the referenced location docs/basic-features/imgs/platformExpend.png
, matching the relative path in the markdown file.
🏁 Scripts executed
The following scripts were executed for the analysis:
Script:
#!/bin/bash
# Check if the image exists and is accessible
fd platformExpend.png
Length of output: 111
docs/advanced-features/集成ChatGPT搭建简单页面能力.md (1)
5-5
: Verify image references
The following image references need to be verified to ensure they are properly linked and accessible:
./imgs/addAiPlugin.png
./imgs/openAiWindow.png
./imgs/useBlock.png
./imgs/askToModifyPage.png
Also applies to: 10-10, 17-17, 21-21
✅ Verification successful
All image references are correctly linked and accessible
All referenced images exist in the correct location at docs/advanced-features/imgs/
:
- ✓ addAiPlugin.png
- ✓ openAiWindow.png
- ✓ useBlock.png
- ✓ askToModifyPage.png
🏁 Scripts executed
The following scripts were executed for the analysis:
Script:
#!/bin/bash
# Description: Check if referenced images exist
for img in addAiPlugin.png openAiWindow.png useBlock.png askToModifyPage.png; do
fd -t f "$img" docs/
done
Length of output: 623
docs/about-designer/定制设计器.md (1)
9-9
: 🛠️ Refactor suggestion
Verify image accessibility and paths
The image references need attention in two areas:
- Add alt text to improve accessibility
- Verify that the images exist in the specified path, as PR objectives mention missing images
Consider updating the image references with meaningful alt text:
-![build-platform1]( ./imgs/buildPlatform1.png)
+![Visual method for building a custom designer]( ./imgs/buildPlatform1.png)
-![build-platform2]( ./imgs/buildPlatform2.png)
+![Source code method for building a custom designer]( ./imgs/buildPlatform2.png)
Also applies to: 13-13
docs/getting-started/快速上手.md (4)
1-6
: LGTM! Clear and well-structured introduction.
The introduction effectively explains the purpose of the tutorial and sets clear expectations for the reader.
45-46
: LGTM! Appropriate conclusion.
The congratulatory message provides a good ending to the tutorial.
14-43
: Verify all tutorial images
Let's verify the existence of all referenced images in the step-by-step instructions.
✅ Verification successful
All tutorial images are present and correctly referenced
All images referenced in the tutorial are found in the expected location at docs/getting-started/imgs/
. The relative paths in the markdown file correctly point to these images.
🏁 Scripts executed
The following scripts were executed for the analysis:
Script:
#!/bin/bash
# Description: Check if all referenced tutorial images exist
# Note: Adjusting paths to be relative to repo root since the file is in docs/getting-started/
# List of images to check
IMAGES=(
"page1.png"
"addComponent.png"
"addState.png"
"imgswitch.png"
"setImgSrc.png"
"setImgSty.png"
"setImgSta.png"
"bangEnv.png"
"preImgChange.png"
)
echo "Checking for required images..."
for img in "${IMAGES[@]}"; do
echo "Looking for: $img"
fd --type f "$img" docs/
done
Length of output: 1707
8-10
: Verify image accessibility
The PR objectives mention issues with missing images. Let's verify if this image exists in the repository.
✅ Verification successful
Image exists and is accessible
The image showImg.png
exists at the correct path docs/getting-started/imgs/showImg.png
and has a file size of 779243 bytes, indicating it's a valid image file. The relative path in the markdown file is correct and the image should be properly displayed.
🏁 Scripts executed
The following scripts were executed for the analysis:
Script:
#!/bin/bash
# Description: Check if the referenced image exists
# Note: Adjusting path to be relative to repo root since the file is in docs/getting-started/
# Check if the image exists
fd --type f "showImg.png" docs/
# List all available images in the docs directory for reference
echo "Available images in docs directory:"
fd --type f --extension png docs/
Length of output: 512
Script:
#!/bin/bash
# Let's verify the image existence with a corrected command
fd --type f . docs/ --extension png
# Also check if the specific image exists and is not empty
if [ -f "docs/getting-started/imgs/showImg.png" ]; then
ls -l "docs/getting-started/imgs/showImg.png"
else
echo "Image file does not exist at the expected path"
fi
Length of output: 9243
docs/development-getting-started/快速上手.md (1)
40-40
: Verify image accessibility and paths
Please verify that all image files exist in the correct paths:
./imgs/tiny-engine-cli.png
./imgs/tiny-engine-cli-open.png
./imgs/cli-create-plugin.png
./imgs/cli-plugin-open.png
Also applies to: 56-56, 70-70, 104-104, 157-157
✅ Verification successful
All referenced images are present and accessible
All image files mentioned in the markdown document are correctly located in the docs/development-getting-started/imgs/
directory:
- ✓
tiny-engine-cli.png
- ✓
tiny-engine-cli-open.png
- ✓
cli-create-plugin.png
- ✓
cli-plugin-open.png
🏁 Scripts executed
The following scripts were executed for the analysis:
Script:
#!/bin/bash
# Description: Check if the referenced image files exist
# Find the docs directory
docs_dir=$(fd -t d "docs$")
# Check each image file
for img in tiny-engine-cli.png tiny-engine-cli-open.png cli-create-plugin.png cli-plugin-open.png; do
echo "Checking for $img..."
fd -t f "$img" "$docs_dir/imgs"
done
Length of output: 1814
Script:
#!/bin/bash
# Let's try a different approach to find the images
# First, let's check if the imgs directory exists relative to the markdown file
ls -la docs/development-getting-started/imgs/
# Also, let's search for these images anywhere in the repository
echo "Searching for images anywhere in the repository:"
fd -t f "tiny-engine-cli.png|tiny-engine-cli-open.png|cli-create-plugin.png|cli-plugin-open.png"
Length of output: 900
docs/extension-capabilities-tutorial/开发设置器组件.md (1)
7-7
: Verify image accessibility and paths
The documentation references two images using relative paths:
./imgs/input-configurator.png
./imgs/my-input-configurator.gif
Please ensure these images are:
- Committed to the repository
- Located in the correct relative path
- Accessible and properly displayed
Also applies to: 144-144
✅ Verification successful
Image paths are correctly configured and accessible
Both referenced images are present in the expected location:
docs/extension-capabilities-tutorial/imgs/input-configurator.png
docs/extension-capabilities-tutorial/imgs/my-input-configurator.gif
🏁 Scripts executed
The following scripts were executed for the analysis:
Script:
#!/bin/bash
# Check if the referenced images exist in the expected location
fd -t f "input-configurator.png|my-input-configurator.gif" docs/extension-capabilities-tutorial/imgs/
Length of output: 236
docs/practical-cases/图元编排设计器.md (1)
5-5
: Verify image accessibility and fix broken references
The document contains multiple image references that might be inaccessible. Please ensure:
- All images are properly uploaded to the
./imgs/
directory - Image paths are correctly specified
- Images are accessible in the rendered documentation
Also applies to: 36-36, 62-62, 123-123
✅ Verification successful
All referenced images are present and accessible
The verification shows that all the referenced images exist in the correct location:
- image-20230919202709-5khs9h1.png
- image-20230920083516-hg4vhhs.png
- image-20230920084925-yirmz91.png
- image-20230920093120-jdzux3h.png
The images are properly placed in the docs/practical-cases/imgs/
directory and the relative paths in the markdown file are correct.
🏁 Scripts executed
The following scripts were executed for the analysis:
Script:
#!/bin/bash
# Check if referenced images exist
for img in \
"imgs/image-20230919202709-5khs9h1.png" \
"imgs/image-20230920083516-hg4vhhs.png" \
"imgs/image-20230920084925-yirmz91.png" \
"imgs/image-20230920093120-jdzux3h.png"; do
if [ ! -f "docs/practical-cases/$img" ]; then
echo "Missing image: $img"
fi
done
Length of output: 995
Script:
#!/bin/bash
# Let's check if the imgs directory exists and list its contents
if [ -d "docs/practical-cases/imgs" ]; then
echo "Directory exists. Contents:"
ls -la docs/practical-cases/imgs/
else
echo "Directory 'docs/practical-cases/imgs' does not exist"
fi
# Also check if images exist in any other common documentation image directories
echo -e "\nChecking other possible image locations:"
fd -t f -e png . docs/practical-cases/ --exec ls -la {}
Length of output: 2393
docs/advanced-features/如何使用插槽.md (3)
99-99
:
Fix broken image link
The image link ./imgs/usingslot.gif
appears to be broken. Please ensure the image is properly uploaded and the path is correct.
✅ Verification successful
Image link is correctly referenced
The image file usingslot.gif
exists at the expected location docs/advanced-features/imgs/usingslot.gif
, which matches the relative path used in the markdown file. The image reference is working correctly.
🏁 Scripts executed
The following scripts were executed for the analysis:
Script:
#!/bin/bash
# Check if the image file exists
fd -e gif "usingslot.gif" docs/advanced-features/imgs/
Length of output: 96
45-45
:
Fix broken image link
The image link ./imgs/defineslot.gif
appears to be broken. According to the PR objectives, there are issues with missing images linked to not-found
and public_sys-resources
. Please ensure the image is properly uploaded and the path is correct.
✅ Verification successful
Image link is correctly referenced
The image file defineslot.gif
exists at the expected path docs/advanced-features/imgs/defineslot.gif
, and the relative path ./imgs/defineslot.gif
in the documentation correctly references this location.
🏁 Scripts executed
The following scripts were executed for the analysis:
Script:
#!/bin/bash
# Check if the image file exists
fd -e gif "defineslot.gif" docs/advanced-features/imgs/
Length of output: 98
1-165
: Verify documentation against implementation
The documentation provides a comprehensive guide for slot usage, but we should verify that it accurately reflects the current TinyEngine implementation.
✅ Verification successful
Documentation accurately reflects implementation
The documentation is verified to be consistent with the actual TinyEngine implementation based on the following evidence:
-
The builtin.json confirms the Slot component implementation with matching properties:
name
property for slot namingparams
property for scoped slot parameters
-
The implementation exists across multiple components:
- Core slot component:
packages/canvas/render/src/builtin/CanvasSlot.vue
- Slot configuration:
packages/configurator/src/slot-configurator/SlotConfigurator.vue
- JS slot handling:
packages/configurator/src/js-slot-configurator/JsSlotConfigurator.vue
- Core slot component:
-
The schema structure in builtin.json matches the documented JSON examples, including:
- Component name as "Slot"
- Properties for slot name and parameters
- Container configuration
🏁 Scripts executed
The following scripts were executed for the analysis:
Script:
#!/bin/bash
# Search for slot-related implementations in the codebase
echo "Searching for slot implementations..."
rg -l "componentName.*['\"]Slot['\"]" --type json
echo "Searching for slot-related tests..."
rg -l "slot.*test" --type spec
Length of output: 451
Script:
#!/bin/bash
# Let's examine the slot implementation in the builtin.json
echo "Checking builtin.json for slot implementation:"
cat packages/canvas/render/src/builtin/builtin.json
echo -e "\nSearching for slot-related code in Vue components:"
rg -g '*.vue' -l 'slot'
echo -e "\nSearching for slot-related schema definitions:"
rg -g '*.{json,js,ts}' -l '"slots".*:.*{'
echo -e "\nSearching for slot-related documentation in other languages:"
fd -e md . | xargs rg -l "slot"
Length of output: 19020
docs/getting-started/简介.md (1)
15-16
: Verify image availability and consider adding alt text descriptions.
The PR objectives mention issues with missing images. Please ensure:
- The referenced images exist in the correct path (
./imgs/tinyengine.png
and./imgs/firstPage.png
) - Add meaningful alt text descriptions for accessibility
Also applies to: 19-20
✅ Verification successful
Alt text descriptions recommended for better accessibility
The referenced images (tinyengine.png
and firstPage.png
) exist in the correct path. However, consider adding meaningful alt text descriptions to improve accessibility:
![基于低代码引擎的应用开发流程 (Low-code engine based application development process)](./imgs/tinyengine.png)
🏁 Scripts executed
The following scripts were executed for the analysis:
Script:
#!/bin/bash
# Check if the referenced images exist
fd -e png -p "docs/getting-started/imgs/(tinyengine|firstPage).png"
Length of output: 150
docs/basic-features/使用组件.md (5)
1-8
: LGTM! Clear and well-structured overview.
The introduction effectively explains components as building blocks in the low-code development context.
11-16
: Verify image references and paths
The section references several images. Let's verify their existence and correct paths.
✅ Verification successful
All referenced images exist in the correct location
All image references in the documentation are valid and the files exist at the expected paths:
./imgs/icon-add.png
./imgs/dragComponent.gif
./imgs/addComponent-13.png
🏁 Scripts executed
The following scripts were executed for the analysis:
Script:
#!/bin/bash
# Description: Check if referenced images exist in the correct location
# Get the directory of the current markdown file
DOC_DIR=$(dirname "docs/basic-features/使用组件.md")
# Check for referenced images
for img in "icon-add.png" "dragComponent.gif" "addComponent-13.png"; do
if [ -f "${DOC_DIR}/imgs/${img}" ]; then
echo "✓ Found: ${img}"
else
echo "✗ Missing: ${img}"
fi
done
Length of output: 673
36-59
: Well-structured content, verify image references
The content is well-organized with clear steps and good use of bullet points. Let's verify the referenced images.
✅ Verification successful
Let me try another verification with the correct fd
syntax to check for these images:
All image references are valid and correctly placed
The content is well-structured and all referenced images (choseClickCompontes.png
, clickNode.png
, choseComponentID.png
, and selectParentID.png
) exist in the correct location at docs/basic-features/imgs/
.
🏁 Scripts executed
The following scripts were executed for the analysis:
Script:
#!/bin/bash
# Description: Check if component selection images exist
# Check for referenced images
for img in "choseClickCompontes.png" "clickNode.png" "choseComponentID.png" "selectParentID.png"; do
if fd -p "**/${img}" .; then
echo "✓ Found: ${img}"
else
echo "✗ Missing: ${img}"
fi
done
Length of output: 2019
Script:
#!/bin/bash
# Description: Check if component selection images exist with correct fd syntax
# Check for referenced images
for img in "choseClickCompontes.png" "clickNode.png" "choseComponentID.png" "selectParentID.png"; do
if fd --glob "**/$img" .; then
echo "✓ Found: $img"
else
echo "✗ Missing: $img"
fi
done
Length of output: 999
25-34
: Verify referenced figures and their content
Let's verify the existence and content of the referenced images.
✅ Verification successful
Let me try another verification with the correct fd
syntax to check for these images:
All referenced images are present and correctly located
All three images referenced in the documentation (insertComponent.gif
, inserPosition.png
, and choseComponent.png
) exist in the correct location at docs/basic-features/imgs/
. The file sizes indicate they contain actual content:
- insertComponent.gif (2.8MB)
- inserPosition.png (77KB)
- choseComponent.png (30KB)
🏁 Scripts executed
The following scripts were executed for the analysis:
Script:
#!/bin/bash
# Description: Check if referenced figures exist
# Check for referenced images
for img in "insertComponent.gif" "inserPosition.png" "choseComponent.png"; do
if fd -p "**/${img}" .; then
echo "✓ Found: ${img}"
else
echo "✗ Missing: ${img}"
fi
done
Length of output: 1439
Script:
#!/bin/bash
# Description: Check if referenced figures exist with correct fd syntax
# Check for referenced images in docs/basic-features/imgs directory
fd -g "insertComponent.gif" docs/basic-features/imgs
fd -g "inserPosition.png" docs/basic-features/imgs
fd -g "choseComponent.png" docs/basic-features/imgs
# Also check if the imgs directory exists
if [ -d "docs/basic-features/imgs" ]; then
echo "✓ imgs directory exists"
else
echo "✗ imgs directory does not exist"
fi
# List contents of imgs directory if it exists
if [ -d "docs/basic-features/imgs" ]; then
echo -e "\nContents of imgs directory:"
ls -la docs/basic-features/imgs/
fi
Length of output: 5693
60-72
: Consider adding a conclusion section
While the content effectively explains component editing capabilities, consider adding a brief conclusion section to summarize the key points covered in the document.
Let's also verify the referenced images:
docs/basic-features/使用状态管理和变量绑定.md (1)
7-7
: Verify image references and consider adding alt text descriptions
The document references three images:
./imgs/state1.gif
./imgs/state2.gif
./imgs/state3.png
Consider adding more descriptive alt text to improve accessibility.
Also applies to: 13-13, 19-19
✅ Verification successful
Image files are present and correctly referenced
All three referenced images exist in the expected location:
./docs/basic-features/imgs/state1.gif
./docs/basic-features/imgs/state2.gif
./docs/basic-features/imgs/state3.png
The relative paths in the documentation are correct and the files are accessible. However, the suggestion to add descriptive alt text for better accessibility remains valid.
🏁 Scripts executed
The following scripts were executed for the analysis:
Script:
#!/bin/bash
# Verify image files exist in the correct location
fd -e gif -e png . -x ls -l {} \; | grep -E "state[1-3]\.(gif|png)"
Length of output: 338
docs/advanced-features/数据源和Collection—使用数据源.md (1)
59-70
: LGTM! Well-structured code example with proper error handling.
The code example demonstrates good practices:
- Uses async/await pattern
- Includes error handling with try-catch
- Provides user feedback through toast notifications
docs/index.md (1)
1-104
: Consider reordering the sections for better user flow.
As suggested in the previous review, consider moving "网站文档" after "平台开发指南" to create a more natural progression from basic usage to advanced development topics.
docs/catalog.json (1)
1-199
: Verify the existence of all referenced markdown files.
Let's verify that all markdown files referenced in the catalog exist in the repository.
✅ Verification successful
All markdown files referenced in catalog.json are missing
The verification reveals that none of the markdown files referenced in catalog.json exist in the docs directory. This suggests that either:
- The documentation files have not been added to the repository yet
- The files exist in a different location than expected
- The catalog.json is a template or placeholder for future documentation
Let's verify if the docs directory exists and check its contents:
All referenced markdown files exist in their respective subdirectories
The initial verification script was incorrect as it was looking for files directly in the docs directory. The directory listing shows that all markdown files exist but are organized in subdirectories matching the structure defined in catalog.json. For example:
- "简介.md" exists at "docs/getting-started/简介.md"
- "快速上手.md" exists at "docs/getting-started/快速上手.md"
- "API总览.md" exists at "docs/API/API总览.md"
Let's verify this by checking a few specific files:
The catalog.json file correctly maps to existing documentation structure
The verification confirms that all markdown files referenced in catalog.json exist in their proper subdirectories. The initial concern was incorrect because:
- The files are organized in subdirectories matching the catalog structure
- Sample verification of files from different sections all returned positive results
- The directory listing shows a complete documentation structure with all referenced files present
🏁 Scripts executed
The following scripts were executed for the analysis:
Script:
#!/bin/bash
# Description: Check if all markdown files referenced in catalog.json exist
# Extract all markdown file paths from catalog.json
echo "Checking for missing markdown files..."
jq -r '.. | .path? | select(. != null) | select(endswith(".md"))' docs/catalog.json | while read -r file; do
if [ ! -f "docs/$file" ]; then
echo "Missing file: docs/$file"
fi
done
Length of output: 14666
Script:
#!/bin/bash
# Check if docs directory exists and list its contents
if [ -d "docs" ]; then
echo "Contents of docs directory:"
ls -R docs/
else
echo "docs directory does not exist"
fi
Length of output: 6295
Script:
#!/bin/bash
# Verify existence of a sample of files from different sections
echo "Verifying sample files..."
files=(
"docs/getting-started/简介.md"
"docs/basic-features/初识设计器.md"
"docs/advanced-features/区块管理.md"
"docs/API/API总览.md"
"docs/solutions/服务端部署方案.md"
)
for file in "${files[@]}"; do
if [ -f "$file" ]; then
echo "✓ Found: $file"
else
echo "✗ Missing: $file"
fi
done
Length of output: 1179
docs/about-applications/开发应用.md (1)
7-7
: Verify the existence of referenced images.
Let's verify that the referenced images exist in the correct location.
Also applies to: 11-11
✅ Verification successful
Image references are correctly configured
The referenced images appDevOne.png
and appDevTwo.png
exist in the correct location at docs/about-applications/imgs/
. The relative path ./imgs/appDevOne.png
in the markdown file is valid since the images are properly placed in the imgs
subdirectory relative to the markdown file's location.
🏁 Scripts executed
The following scripts were executed for the analysis:
Script:
#!/bin/bash
# Description: Check if referenced images exist
# Check for image files
for img in "docs/about-applications/imgs/appDevOne.png" "docs/about-applications/imgs/appDevTwo.png"; do
if [ ! -f "$img" ]; then
echo "Missing image: $img"
fi
done
Length of output: 325
Script:
#!/bin/bash
# Let's try a different approach using fd to find image files
fd -e png -p 'appDevOne.png|appDevTwo.png' docs/about-applications
# Also check the directory structure
ls -la docs/about-applications/imgs 2>/dev/null || echo "imgs directory not found"
# Check if the parent directory exists
ls -la docs/about-applications 2>/dev/null || echo "about-applications directory not found"
Length of output: 903
docs/extension-capabilities-tutorial/code-output-function/自定义页面出码插件.md (1)
55-55
: Verify the image path and ensure it exists in the repository
The image reference ./imgs/pageGenerate.png
might lead to broken documentation if the image is not properly maintained.
✅ Verification successful
Image path is correctly referenced and exists in the repository
The image file pageGenerate.png
exists at the expected location docs/extension-capabilities-tutorial/code-output-function/imgs/pageGenerate.png
, which matches the relative path used in the markdown file.
🏁 Scripts executed
The following scripts were executed for the analysis:
Script:
#!/bin/bash
# Check if the image exists in the repository
fd --type f "pageGenerate.png" docs/extension-capabilities-tutorial/code-output-function/imgs/
Length of output: 174
docs/extension-capabilities-overview/元服务和元应用.md (1)
43-54
: Document the required structure of metaData
The example shows importing metaData
but doesn't explain its required structure. This is crucial for developers implementing custom meta-applications.
Let's check if the metaData structure is documented elsewhere:
Would you like me to help create documentation for the metaData structure?
✅ Verification successful
The previous search was too specific. Let's broaden our search to find any relevant documentation about meta applications and their configuration structure.
Let's try to find the metadata structure by looking for meta.js files and metadata examples in the codebase.
We found several meta.js files. Let's examine their contents to understand the metadata structure.
Required metaData structure found
Based on the examined meta.js files, the metaData structure should include these key properties:
// meta.js
export default {
id: string, // Unique identifier for the meta application
title: string, // Display title
type: string, // Type of the meta application (e.g. 'plugins')
icon?: string, // Optional icon identifier
align?: string // Optional alignment property
}
This structure is consistently used across multiple meta.js files in the codebase.
🏁 Scripts executed
The following scripts were executed for the analysis:
Script:
#!/bin/bash
# Search for metaData structure documentation
rg -l "metaData.*structure" docs/
Length of output: 35
Script:
#!/bin/bash
# Let's try different search patterns to find metadata documentation
rg -i "meta.*data" docs/ -A 5 -B 5
# Also search for any examples or documentation of meta applications
rg -i "meta.*application" docs/ -A 5 -B 5
# Search for any configuration or structure definitions
fd -e md -e js . docs/ --exec grep -l "export.*meta"
Length of output: 128797
Script:
#!/bin/bash
# Let's search for meta.js files that might contain the metadata structure
fd -e js meta.js
# Search for metadata structure in any JavaScript files
rg -i "meta.*=.*{" -A 10
# Look for metadata examples in documentation
rg -i "meta.*example" -A 10 docs/
Length of output: 1661
Script:
#!/bin/bash
# Let's examine one of the meta.js files to understand the structure
cat packages/plugins/materials/meta.js
# Also check a few other meta.js files to confirm the pattern
cat packages/plugins/page/meta.js
cat packages/plugins/state/meta.js
# Look for any documentation about meta applications
rg -i "meta.*application.*structure" docs/ -A 5
Length of output: 555
docs/extension-capabilities-overview/注册表.md (1)
108-123
: Document configuration merging behavior
The example shows how to override configurations but doesn't explain:
- Deep vs shallow merging behavior
- Array concatenation vs replacement
- Priority rules when conflicts occur
Let's check if merging behavior is documented elsewhere:
Would you like me to help create documentation for the configuration merging rules?
docs/extension-capabilities-tutorial/code-output-function/如何自定义出码插件.md
Outdated
Show resolved
Hide resolved
docs/extension-capabilities-tutorial/code-output-function/如何自定义出码插件.md
Outdated
Show resolved
Hide resolved
docs/extension-capabilities-tutorial/code-output-function/自定义页面出码插件.md
Outdated
Show resolved
Hide resolved
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Actionable comments posted: 12
🧹 Nitpick comments (19)
docs/api/物料API.md (2)
4-23
: Enhance code block readability with language specifierThe code block should specify the language for proper syntax highlighting.
-``` +```javascript export default { id: 'engine.plugins.materials', // ... }
16-16
: Add documentation forbasePropertyOptions
The
basePropertyOptions
configuration is referenced but not explained. Consider adding a description of its purpose and available options.docs/api/画布API.md (2)
7-23
: Improve code block formatting and documentationThe statePageState object documentation needs improvements:
- Add language specifier to the code block
- Document the hidden property
currentPage
properly instead of commenting it inline-``` +```javascript { currentVm: null, // ... other properties -//隐藏属性 currenetPage }Add a proper description for the hidden property:
Note: The object also contains a hidden property `currentPage` that [describe its purpose].🧰 Tools
🪛 Markdownlint (0.37.0)
7-7: null
Fenced code blocks should have a language specified(MD040, fenced-code-language)
75-75
: Fix typo in method documentationThe line contains a duplicate comma and an incomplete sentence.
- setState,,// 转接的方法, 调用render的setState + setState, // 转接的方法, 调用render的setStateAlso applies to: 76-76
docs/api/主包API.md (2)
10-54
: Organize exports by category for better readabilityThe exports section would be more maintainable if organized by categories (e.g., toolbar components, plugins, services).
Consider restructuring the exports section like this:
// Toolbar Components export { default as Breadcrumb, BreadcrumbService } from '@opentiny/tiny-engine-toolbar-breadcrumb' // ... other toolbar exports // Core Plugins export { default as Materials, ResourceService, MaterialService } from '@opentiny/tiny-engine-plugin-materials' // ... other plugin exports // Services export { GenerateCodeService, PluginPanel, /* ... */ } from '@opentiny/tiny-engine-common' // ... other service exports
168-181
: Add return type documentation forgetMergeMeta
andgetMergeRegistry
The documentation should specify the return types and possible error cases for these functions.
Add type information like this:
/** * @param {string} metaId - The ID of the meta application/service * @returns {Object} The meta registration object * @throws {Error} When meta ID is not found */ getMergeMeta('engine.config')docs/api/backend-api/应用工具类管理.md (1)
26-33
: Convert HTML tables to native Markdown formatThe documentation uses HTML tables with complex styling classes. This makes the documentation harder to maintain and less portable. Native Markdown tables are more readable in source form and widely supported.
Example conversion for the first table:
-<table> - <thead class="ant-table-thead"> - <tr> - <th key=name>名称</th><th key=type>类型</th><th key=required>是否必须</th><th key=default>默认值</th><th key=desc>备注</th><th key=sub>其他信息</th> - </tr> - </thead> - ... -</table> +| 名称 | 类型 | 是否必须 | 默认值 | 备注 | 其他信息 | +|------|------|----------|--------|------|----------| +| ... | ... | ... | ... | ... | ... |Also applies to: 71-78, 119-126, 153-160
docs/api/backend-api/数据源管理.md (3)
13-14
: Add detailed API descriptions.Several API endpoints lack proper descriptions. Consider adding:
- Purpose and use cases
- Example requests and responses
- Any limitations or constraints
- Rate limiting information if applicable
This will help developers better understand how to use these APIs effectively.
Also applies to: 64-65, 109-110, 142-143, 175-176, 208-211, 245-246
252-254
: Add field descriptions and validation rules.The path parameter documentation lacks proper descriptions and validation rules. For example, the
id
parameter should include:
- Valid value ranges
- Format requirements
- Example values
1-266
: Standardize API response structure and documentation language.Consider the following improvements for consistency:
- Standardize response structure across all endpoints
- Choose a single language (Chinese or English) for documentation
- Use consistent terminology throughout the document
- Add a standard error response section for each endpoint
This will make the API documentation more professional and easier to maintain.
🧰 Tools
🪛 Markdownlint (0.37.0)
18-18: null
Emphasis used instead of a heading(MD036, no-emphasis-as-heading)
24-24: null
Emphasis used instead of a heading(MD036, no-emphasis-as-heading)
30-30: null
Emphasis used instead of a heading(MD036, no-emphasis-as-heading)
69-69: null
Emphasis used instead of a heading(MD036, no-emphasis-as-heading)
75-75: null
Emphasis used instead of a heading(MD036, no-emphasis-as-heading)
114-114: null
Emphasis used instead of a heading(MD036, no-emphasis-as-heading)
147-147: null
Emphasis used instead of a heading(MD036, no-emphasis-as-heading)
180-180: null
Emphasis used instead of a heading(MD036, no-emphasis-as-heading)
215-215: null
Emphasis used instead of a heading(MD036, no-emphasis-as-heading)
250-250: null
Emphasis used instead of a heading(MD036, no-emphasis-as-heading)
docs/api/设置面板API.md (4)
1-1
: Improve document formatting and language.
- Replace hard tabs with spaces for better compatibility across different editors.
- Simplify the Chinese text in line 5 from "来自于" to "来自" for better clarity.
Also applies to: 5-5
🧰 Tools
🪛 Markdownlint (0.37.0)
1-1: Column: 12
Hard tabs(MD010, no-hard-tabs)
38-53
: Enhance code example with TypeScript types and additional examples.The configuration object structure could be more helpful with:
- TypeScript type annotations for better type safety
- A complete example showing actual values
Consider adding this example:
interface VariableConfigurator { id: string; content: string; getVariables: () => { bindPrefix: string; variables: Record<string, any>; }; getVariablesAsync?: () => Promise<{ bindPrefix: string; variables: Record<string, any>; }>; condition?: () => boolean; postConfirm?: (context: any) => void; _order: number; } // Example implementation const configurator: VariableConfigurator = { id: 'dataSource', content: '数据源变量', getVariables: () => ({ bindPrefix: 'ds', variables: { tableData: [], loading: false } }), _order: 1 };
78-87
: Enhance event binding example with more details.The current example shows adding
onKeyDown
but could be more helpful with a complete event configuration.Consider expanding the example:
{ options: { commonEvents: { ...commonEvents, onKeyDown: { name: '按键按下', description: '当按下键盘按键时触发', parameters: [{ name: 'event', type: 'KeyboardEvent', description: '键盘事件对象' }], return: { type: 'void', description: '无返回值' } } } } }
103-106
: Expand the default method list example with realistic use cases.The current example is too brief. Consider providing a more detailed example showing actual default methods.
const defaultMethodList = [ { name: 'showMessage', description: '显示消息提示', parameters: [{ name: 'message', type: 'string' }] }, { name: 'refreshData', description: '刷新数据', parameters: [] } ]; // 合并默认方法和自定义方法 filteredMethodList.value = [newMethod, ...defaultMethodList, ...methodList];docs/api/backend-api/DSL代码生成.md (2)
26-88
: Standardize code block formattingThe documentation uses HTML tags for code blocks instead of markdown syntax. This makes it harder to maintain and less consistent with markdown standards.
Convert HTML code blocks to markdown syntax using triple backticks with language specification. For example:
- <pre><code data-language="js" class="lang-js"> + ```javascript // code here - </code></pre> + ```🧰 Tools
🪛 LanguageTool
[uncategorized] ~48-~48: Loose punctuation mark.
Context: ...的schema } }, { // 其他区块... } ]输出示例:
<cod...(UNLIKELY_OPENING_PUNCTUATION)
96-103
: Convert HTML tables to markdown formatThe documentation uses HTML tables which are harder to maintain in markdown files.
Convert to markdown table format for better maintainability. For example:
| 名称 | 类型 | 是否必须 | 默认值 | 备注 | 其他信息 | |------|------|----------|--------|------|----------| | panelName | string | 必须 | | 文件名 | | ...docs/api/backend-api/APP服务.md (2)
21-23
: Enhance Content-Type header documentationThe Content-Type header documentation could be more informative by explaining the implications of the application/json requirement.
Add a note explaining that this header indicates the request body must be a valid JSON string and the server will parse it accordingly.
68-71
: Improve framework parameter documentationThe framework parameter examples could be more comprehensive to show all supported frameworks.
Add a complete list of supported frameworks in the remarks column. For example:
| framework | 是 | Angular | 支持的框架: Angular, Vue, React |docs/api/backend-api/AI功能接口.md (1)
21-21
: Use proper Markdown headings instead of bold textThe document uses bold text for section headers. Convert these to proper Markdown headings for better structure and consistency.
Replace with:
-**Headers** +### Headers -**Body** +### BodyAlso applies to: 27-27
🧰 Tools
🪛 Markdownlint (0.37.0)
21-21: null
Emphasis used instead of a heading(MD036, no-emphasis-as-heading)
📜 Review details
Configuration used: CodeRabbit UI
Review profile: CHILL
Plan: Pro
⛔ Files ignored due to path filters (1)
docs/api/imgs/bindEventApi.png
is excluded by!**/*.png
📒 Files selected for processing (11)
docs/api/API总览.md
(1 hunks)docs/api/backend-api/AI功能接口.md
(1 hunks)docs/api/backend-api/APP服务.md
(1 hunks)docs/api/backend-api/DSL代码生成.md
(1 hunks)docs/api/backend-api/应用工具类管理.md
(1 hunks)docs/api/backend-api/数据源管理.md
(1 hunks)docs/api/主包API.md
(1 hunks)docs/api/全局布局API.md
(1 hunks)docs/api/物料API.md
(1 hunks)docs/api/画布API.md
(1 hunks)docs/api/设置面板API.md
(1 hunks)
✅ Files skipped from review due to trivial changes (2)
- docs/api/API总览.md
- docs/api/全局布局API.md
🧰 Additional context used
🪛 LanguageTool
docs/api/backend-api/DSL代码生成.md
[uncategorized] ~48-~48: Loose punctuation mark.
Context: ...的schema } }, { // 其他区块... } ]
输出示例:
<cod...(UNLIKELY_OPENING_PUNCTUATION)
docs/api/设置面板API.md
[uncategorized] ~5-~5: 成分累赘: “来自” “于” 不一起使用,请删除 “于”:"来自"。
Context: # 设置面板模块API ## 变量绑定 变量绑定列表中的变量可能来自于其他元应用。 目前提供一种在元应用中注册变量绑定列表来源的方法:首先在元应用配...
(wb2)
docs/api/backend-api/APP服务.md
[misspelling] ~51-~51: Use “an” instead of ‘a’ if the following word starts with a vowel sound, e.g. ‘an article’, ‘an hour’.
Context: ... ## 获取页面/区块源码 ### 基本信息 Path:...
(EN_A_VS_AN)
[misspelling] ~85-~85: Use “an” instead of ‘a’ if the following word starts with a vowel sound, e.g. ‘an article’, ‘an hour’.
Context: ... ## 页面/区块预览用元数据 ### 基本信息 **Path:...
(EN_A_VS_AN)
🪛 Markdownlint (0.37.0)
docs/api/设置面板API.md
1-1: Column: 12
Hard tabs
(MD010, no-hard-tabs)
docs/api/backend-api/应用工具类管理.md
18-18: null
Emphasis used instead of a heading
(MD036, no-emphasis-as-heading)
24-24: null
Emphasis used instead of a heading
(MD036, no-emphasis-as-heading)
63-63: null
Emphasis used instead of a heading
(MD036, no-emphasis-as-heading)
69-69: null
Emphasis used instead of a heading
(MD036, no-emphasis-as-heading)
110-110: null
Emphasis used instead of a heading
(MD036, no-emphasis-as-heading)
144-144: null
Emphasis used instead of a heading
(MD036, no-emphasis-as-heading)
docs/api/backend-api/AI功能接口.md
21-21: null
Emphasis used instead of a heading
(MD036, no-emphasis-as-heading)
27-27: null
Emphasis used instead of a heading
(MD036, no-emphasis-as-heading)
docs/api/backend-api/APP服务.md
87-87: null
Multiple headings with the same content
(MD024, no-duplicate-heading)
96-96: null
Multiple headings with the same content
(MD024, no-duplicate-heading)
108-108: null
Multiple headings with the same content
(MD024, no-duplicate-heading)
19-19: null
Emphasis used instead of a heading
(MD036, no-emphasis-as-heading)
25-25: null
Emphasis used instead of a heading
(MD036, no-emphasis-as-heading)
64-64: null
Emphasis used instead of a heading
(MD036, no-emphasis-as-heading)
98-98: null
Emphasis used instead of a heading
(MD036, no-emphasis-as-heading)
docs/api/backend-api/数据源管理.md
18-18: null
Emphasis used instead of a heading
(MD036, no-emphasis-as-heading)
24-24: null
Emphasis used instead of a heading
(MD036, no-emphasis-as-heading)
30-30: null
Emphasis used instead of a heading
(MD036, no-emphasis-as-heading)
69-69: null
Emphasis used instead of a heading
(MD036, no-emphasis-as-heading)
75-75: null
Emphasis used instead of a heading
(MD036, no-emphasis-as-heading)
114-114: null
Emphasis used instead of a heading
(MD036, no-emphasis-as-heading)
147-147: null
Emphasis used instead of a heading
(MD036, no-emphasis-as-heading)
180-180: null
Emphasis used instead of a heading
(MD036, no-emphasis-as-heading)
215-215: null
Emphasis used instead of a heading
(MD036, no-emphasis-as-heading)
250-250: null
Emphasis used instead of a heading
(MD036, no-emphasis-as-heading)
docs/api/画布API.md
3-3: Expected: h2; Actual: h3
Heading levels should only increment by one level at a time
(MD001, heading-increment)
25-25: null
Spaces inside code span elements
(MD038, no-space-in-code)
7-7: null
Fenced code blocks should have a language specified
(MD040, fenced-code-language)
28-28: null
Fenced code blocks should have a language specified
(MD040, fenced-code-language)
60-60: null
Fenced code blocks should have a language specified
(MD040, fenced-code-language)
142-142: null
Fenced code blocks should have a language specified
(MD040, fenced-code-language)
🔇 Additional comments (1)
docs/api/backend-api/APP服务.md (1)
83-117
: LGTM! Comprehensive API documentation
The preview metadata API documentation is well-structured with clear parameter descriptions and detailed response format.
🧰 Tools
🪛 LanguageTool
[misspelling] ~85-~85: Use “an” instead of ‘a’ if the following word starts with a vowel sound, e.g. ‘an article’, ‘an hour’.
Context: ... ## 页面/区块预览用元数据 ### 基本信息 **Path:...
(EN_A_VS_AN)
🪛 Markdownlint (0.37.0)
87-87: null
Multiple headings with the same content
(MD024, no-duplicate-heading)
96-96: null
Multiple headings with the same content
(MD024, no-duplicate-heading)
108-108: null
Multiple headings with the same content
(MD024, no-duplicate-heading)
98-98: null
Emphasis used instead of a heading
(MD036, no-emphasis-as-heading)
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Actionable comments posted: 15
🔭 Outside diff range comments (1)
docs/extension-capabilities-tutorial/code-output-function/how-to-customize-code-output-plugins.md (1)
Line range hint
284-284
: Fix typo in function name.There's a typo in the function name
insertNodde
.-insertNodde(...参数) +insertNode(...参数)
🧹 Nitpick comments (102)
docs/generateCatalogMd.js (1)
1-2
: Consider adding error handling forcatalog.json
.
Ifcatalog.json
is missing or malformed, the script may fail unexpectedly. A try/catch around therequire
call or a file existence check would make this more robust.docs/ecosystem-center/publish-other-ecosystems.md (2)
1-1
: Remove leading space in heading.
Markdown heading (line 1) should start at the left margin to satisfy lint rules (MD023).- ## 如何发布其他生态 +## 如何发布其他生态🧰 Tools
🪛 Markdownlint (0.37.0)
1-1: null
Headings must start at the beginning of the line(MD023, heading-start-left)
7-8
: Improve phrasing for passive voice usage.
The sentence "被标识为官方的插件会显示…” could be rewritten for clarity based on standard Chinese grammar.- 被标识为官方的插件会显示“官方”字样 + 如果插件被标记为官方,则会在插件名称旁显示“官方”字样🧰 Tools
🪛 LanguageTool
[uncategorized] ~7-~7: 能愿动词不能成为‘把’字句、‘被’字句的谓语动词。应该是:"会被……标识"。
Context: ...为插件 npm 包所在的仓库地址 版本号决定了安装哪一个版本的 npm 包 被标识为官方的插件会显示“官方”字样 被标识为默认的插件会在创建设计器时默认被选中 公开决定了插...(wa3)
[uncategorized] ~8-~8: 能愿动词不能成为‘把’字句、‘被’字句的谓语动词。应该是:"会被……标识"。
Context: ...号决定了安装哪一个版本的 npm 包 被标识为官方的插件会显示“官方”字样 被标识为默认的插件会在创建设计器时默认被选中 公开决定了插件的可见范围,私有代表仅自己可见,公开代...(wa3)
docs/about-materials/create-material-asset-package.md (1)
5-8
: Enhance readability with better formattingConsider improving the document structure:
- The steps could be more clearly formatted as a numbered list
- The technology stack limitations could be in a separate "Limitations" section
Consider this structure:
-用户可以在生态中心创建物料资产包,*新建物料资产包* → *填写必要的字段* → *保存。* -当前支持Vue和Angular两种技术栈,用户可以任意选择。当用户选择了Vue技术栈时,则只能添加Vue的组件与区块,不能添加Angular的组件库与区块。 +用户可以在生态中心创建物料资产包,步骤如下: + +1. 新建物料资产包 +2. 填写必要的字段 +3. 保存 + +### 技术栈限制 + +当前支持Vue和Angular两种技术栈,用户可以任意选择。注意: +- 选择Vue技术栈时,只能添加Vue的组件与区块 +- 不能添加Angular的组件库与区块docs/ecosystem-center/introduction.md (1)
7-10
: Consider adding more technical detailsThe overview provides a good high-level explanation, but consider:
- Adding examples or links for each type of component
- Providing more details about DSL capabilities
- Including links to related documentation sections
Example enhancement:
物料是可视化页面搭建的原料: - 组件:基础UI元素,如按钮、输入框等 - 区块:预制的功能块,如页头、导航栏等 - 物料包:组件与区块的集合,便于统一管理和使用 DSL(领域特定语言)功能: - 支持将页面设计转换为源代码 - 提供自定义代码生成规则 - 支持多种框架的代码生成docs/basic-features/state-management-and-variable-binding.md (2)
17-17
: Enhance code example explanationThe explanation of accessing state via
this.state.xxx
could be improved with a more complete example.Consider adding a concrete example:
我们添加的 state 通常是一个可以随不同状态有不同值的变量。在 JS 面板中可以通过以下方式访问和修改 state: ```javascript // 获取 state const currentValue = this.state.counter; // 修改 state this.state.counter = newValue;这样可以动态改变组件的状态,实现交互效果。
--- `3-4`: **Add more context about state management** Consider adding a brief introduction about reactive data and its importance in modern web applications. Example addition: ```markdown state 是响应式的数据,它能够自动追踪数据变化并更新相关的UI组件。状态管理面板提供了集中式的方式来管理这些响应式变量,使得数据流更加清晰和可维护。 主要功能包括: - 添加新的状态变量 - 删除不需要的状态 - 搜索现有状态 - 编辑状态值和配置
docs/basic-features/page-and-block-preview.md (2)
5-5
: Improve Chinese grammar.Based on Chinese grammar rules:
- Change "的表现" to "地表现" as it modifies a verb
- Change "很是困难" to "很困难" for better expression
-在一些场景下,设计器的画布并不能使得我们直观的感受到所设计的区块或者页面最终的表现。比如说,当页面上区块和组件应用层次较多,区块之间或者组件之间交互行为较为复杂时,我们在画布上去清晰的感知页面的静态布局以及动态交互很是困难,这时候就需要设计器的**页面/区块预览**能力来为开发提供帮助 +在一些场景下,设计器的画布并不能使得我们直观的感受到所设计的区块或者页面最终地表现。比如说,当页面上区块和组件应用层次较多,区块之间或者组件之间交互行为较为复杂时,我们在画布上去清晰的感知页面的静态布局以及动态交互很困难,这时候就需要设计器的**页面/区块预览**能力来为开发提供帮助🧰 Tools
🪛 LanguageTool
[uncategorized] ~5-~5: 动词的修饰一般为‘形容词(副词)+地+动词’。您的意思是否是:最终"地"表现
Context: ... 在一些场景下,设计器的画布并不能使得我们直观的感受到所设计的区块或者页面最终的表现。比如说,当页面上区块和组件应用层次较多,区块之间或者组件之间交互行为较为复...(wb4)
[uncategorized] ~5-~5: 您不可用“是”来表达个形容词。大部分人都平常用“很”来代替“是”。您是不是想表达"很困难"?
Context: ...组件之间交互行为较为复杂时,我们在画布上去清晰的感知页面的静态布局以及动态交互很是困难,这时候就需要设计器的页面/区块预览能力来为开发提供帮助 ### 页面...(SHI_ADHECTIVE_ERROR)
9-9
: Improve image alt text.Replace generic "Alt text" with descriptive alt text that explains what each image shows.
-![Alt text](./imgs/preview-btn.png) +![预览按钮位置](./imgs/preview-btn.png) -![Alt text](./imgs/preview-pre.png) +![画布页面结构示例](./imgs/preview-pre.png) -![Alt text](./imgs/preview.png) +![预览页面效果示例](./imgs/preview.png)Also applies to: 15-15, 19-19
docs/api/api-overview.md (2)
7-11
: Consider adding brief descriptions for each API type.The list of TinyEngine capability APIs would be more helpful with a one-line description for each API type explaining its purpose.
Example format:
- 主包API - Core package APIs for fundamental TinyEngine operations - 画布API - Canvas manipulation and rendering capabilities
16-26
: Add links to detailed API documentation.Consider adding links to the detailed documentation for each API category to help users navigate to specific API details.
Example format:
- [AI功能接口](./backend-api/ai-function-api.md) - AI functionality interfaces - [应用管理](./backend-api/app-management.md) - Application managementdocs/advanced-features/data-source-and-collection-remote-fields.md (1)
19-26
: Enhance the callback function example.The code example would benefit from:
- More detailed comments explaining the data structure
- Error handling examples
- TypeScript type definitions
Example enhancement:
/** * Handles the response data from the remote API * @param {Array<{aa: {ss: string}, status: string}>} data - The raw response data * @returns {Array<{name: string, status: string}>} - Transformed data */ function dataHandler(data) { try { return data.map(v => ({ name: v.aa?.ss, // Using optional chaining status: v.status })); } catch (error) { console.error('Failed to process data:', error); return []; } }docs/advanced-features/integrating-chatgpt-for-simple-pages.md (2)
4-5
: Enhance the plugin description and prerequisites.Consider adding:
- Prerequisites for using the AI plugin
- Security considerations when using AI-generated code
- Version compatibility information
Example addition:
使用AI插件前,请确保: - 设计器版本 >= X.Y.Z - 已配置必要的API密钥 - 了解AI生成代码的安全注意事项
16-17
: Expand on block usage capabilities.The special note about using predefined blocks could benefit from:
- Examples of block usage commands
- List of available blocks
- Limitations or constraints
Example addition:
**特别提示**:我们可以让AI直接使用预置的区块 示例命令: - "使用登录区块创建一个登录页面" - "添加一个数据表格区块" 可用区块列表: - 登录区块 - 表格区块 - ...docs/basic-features/inline-style-variable-binding.md (1)
11-16
: Improve image references and icon handlingThe inline icon reference could be improved for better maintainability.
Consider moving the icon reference to a dedicated icons section or using a consistent approach for all images:
-3. 单击行内样式的编辑框后的![变量绑定图标](./imgs/icon-code.png)。 +3. 单击行内样式的编辑框后的变量绑定图标 <img src="./imgs/icon-code.png" alt="变量绑定图标" style="vertical-align: middle">。docs/about-designer/customize-material-package-themes-dsl-toolbar-plugins.md (1)
5-5
: Fix Markdown formatting for emphasized textThe text uses incorrect Markdown syntax for emphasis.
-设计器创建完成后会自动打开编辑页面,用户可以在这里定制设计器的*物料资产包*、*主题*、*工具*、*插件*和*DSL*,如下图: +设计器创建完成后会自动打开编辑页面,用户可以在这里定制设计器的**物料资产包**、**主题**、**工具**、**插件**和**DSL**,如下图:docs/advanced-features/conditional-rendering.md (1)
27-29
: Fix typo in "ture"There's a typo in the text and image filename - "ture" should be "true".
- **图 4** state.isLogin为ture时 - ![state-isLogin为ture时.png](./imgs/state-isLogin为ture时.png) + **图 4** state.isLogin为true时 + ![state-isLogin为true时.png](./imgs/state-isLogin为true时.png)docs/extension-capabilities-overview/new-architecture.md (2)
6-6
: Improve grammar in Chinese textAs suggested by LanguageTool, the modifier should use "地" instead of "的" before the verb:
-TinyEngine引擎官方在慢慢的增加新特性 +TinyEngine引擎官方在慢慢地增加新特性🧰 Tools
🪛 LanguageTool
[uncategorized] ~6-~6: 动词的修饰一般为‘形容词(副词)+地+动词’。您的意思是否是:慢慢"地"增加
Context: ...对官方项目代码的修改程度也逐渐增多,与此同时,TinyEngine引擎官方在慢慢的增加新特性,以及修复 bug,导致 fork 出来的代码与官方引擎项目差异越来越...(wb4)
14-17
: Consider expanding core features descriptionsThe core features are currently listed as brief bullet points. Consider expanding each point with:
- Concrete examples
- Use cases
- Configuration examples
For example, the CLI tool section could include basic usage examples:
- 提供 cli 工具,使用 cli 快速创建出来基于 TinyEngine 引擎的低代码平台。 例如: ```bash tiny-cli create my-project cd my-project tiny-cli dev</blockquote></details> <details> <summary>docs/api/global-layout-api.md (2)</summary><blockquote> `23-35`: **Enhance API documentation with parameter types and return values** The API documentation would be more helpful with: - Parameter types and descriptions - Return value types and descriptions - Example usage for each method For example: ```markdown apis: { /** * 激活plugin面板 * @param {string} pluginName - 插件名称 * @param {boolean} isActive - 是否激活对应面板 * @returns {void} * @example * layoutService.activePlugin('componentTree', true); */ activePlugin, // ... other methods with similar documentation }
39-39
: Remove empty section markerThe document ends with an empty section marker (
###
). This should be removed.-###
docs/advanced-features/loop-rendering.md (1)
40-46
: Improve HTML code block formattingThe HTML code example could be better formatted for readability:
-<template> -<div v-for="(item, index) in state.imageList" :key="index"> -<span>{{ item.title }}</span> -<!---列表细节---> -</div> </template> +<template> + <div v-for="(item, index) in state.imageList" :key="index"> + <span>{{ item.title }}</span> + <!-- 列表细节 --> + </div> +</template>docs/getting-started/quick-start.md (1)
27-27
: Consider hosting the example image locallyThe image URL
https://res.hc-cdn.com/lowcode-portal/1.1.65/img/home/top-banner.jpg
is an external dependency. Consider:
- Hosting this image in your repository to prevent broken links if the external resource becomes unavailable
- Using a relative path consistent with other images in the documentation
docs/getting-started/introduction.md (3)
3-3
: Use Markdown formatting instead of HTMLReplace HTML formatting with Markdown syntax for better consistency:
-<b>低代码平台</b>是一种应用程序开发平台 +**低代码平台**是一种应用程序开发平台
23-23
: Fix Chinese grammar in the sentenceAccording to Chinese grammar rules, modify the sentence structure:
-得益于 TinyEngine 强大的开放物料设计 +得益于 TinyEngine 强大地开放物料设计🧰 Tools
🪛 LanguageTool
[uncategorized] ~23-~23: 动词的修饰一般为‘形容词(副词)+地+动词’。您的意思是否是:强大"地"开放
Context: ...nyEngine 有开放的物料协议和扩展接口:得益于 TinyEngine 强大的开放物料设计,可直接导入第三方组件库,例如 elementUI 和 AntDes...(wb4)
31-37
: Remove unnecessary empty linesThe file ends with multiple empty lines that can be removed to maintain cleaner documentation.
docs/basic-features/page-management.md (2)
26-26
: Update image references to use absolute pathsThe image references use relative paths (
./imgs/...
) which might break when the documentation is rendered in different contexts. Consider updating to absolute paths from the repository root.Example format:
-![新增文件夹](./imgs/addFolder.png) +![新增文件夹](/docs/basic-features/imgs/addFolder.png)Also applies to: 32-32, 37-37, 49-49, 55-55, 60-60
53-53
: Consider adding code examples for lifecycle configurationsThe section about Vue3 lifecycle configurations would benefit from practical code examples showing how these configurations are applied.
Would you like me to help generate example code snippets for the Vue3 lifecycle configurations?
docs/practical-cases/smb-lightweight-application-service.md (1)
37-45
: Enhance code download section with step-by-step instructionsThe code download section could be more detailed. Consider adding:
- Prerequisites for local development
- Step-by-step instructions for the download process
- Expected file structure after download
- Common troubleshooting tips
Would you like me to help expand this section with more detailed instructions?
docs/development-getting-started/introduction.md (4)
9-9
: Fix duplicate punctuation in Chinese textThere is a duplicate "的" in the sentence:
-它采用模块化设计,开发者可以通过模块的配置、替换、覆盖来构建符合企业组织理念的的低代码平台 +它采用模块化设计,开发者可以通过模块的配置、替换、覆盖来构建符合企业组织理念的低代码平台
28-35
: Standardize list formattingThe numbered list (1, 2, 3) uses inconsistent formatting. Consider using consistent Markdown numbered list syntax:
-1) 图元编排 -2) 流程编排 -3) 页面编排 +1. 图元编排 +2. 流程编排 +3. 页面编排
45-49
: Remove unnecessary empty linesThere are multiple empty lines at the end of the file. Consider removing them to maintain cleaner documentation.
18-18
: Consider adding AI capability examplesSince AI integration is listed as a feature, it would be helpful to provide concrete examples or use cases of how AI capabilities enhance the platform.
Would you like me to help draft examples of AI integration scenarios?
docs/extension-capabilities-tutorial/customize-plugin-ui.md (2)
15-31
: Consider adding type information for better clarity.The code example is clear, but could benefit from TypeScript-style type annotations to indicate the expected types for the
Page
object and plugin configuration.// registry.js -export default { +interface PluginConfig { + title?: string; + icon?: string | Component; + align?: 'left' | 'center' | 'right' | 'top' | 'bottom'; +} + +export default {
55-66
: Consider adding error handling example.The Vue component example could benefit from showing how to handle potential errors or loading states.
<script setup> import { ref } from 'vue' const title = ref('自定义插件UI') +const error = ref(null) + +// Example error handling +const handleError = (e) => { + error.value = e.message +} </script>docs/basic-features/intro-to-designer.md (1)
34-36
: Consider adding keyboard shortcuts.The plugin panel description could be enhanced by including keyboard shortcuts for commonly used actions.
插件点击之后会向右展开对应插件的设置面板 + +常用快捷键: +- 物料插件: Ctrl/Cmd + M +- 大纲树: Ctrl/Cmd + O +- 页面管理: Ctrl/Cmd + Pdocs/basic-features/frontend-application-flow.md (1)
53-62
: Consider adding command-line alternative.The code generation section could benefit from including command-line instructions for users who prefer terminal-based workflows.
根据配置的页面设计,生成应用的基本代码。代码生成后,会下载至本地,供您使用。 +### 方式一:使用UI界面 1. 单击顶部工具栏的"下载源码"按钮。 2. 选择下载路径。 3. 选择生成到本地的文件。 **图 9** 选择生成文件 ![choseFile](./imgs/choseFile.png) 4. 单击"确定",代码将下载至本地路径。 + +### 方式二:使用命令行 +```bash +# 生成代码到指定目录 +tiny-engine generate --output ./my-app +```docs/advanced-features/advanced-panel-settings.md (1)
30-37
: Consider adding type safety to the loop exampleThe Vue template could benefit from TypeScript type annotations for better type safety and developer experience.
<template> - <div v-for="(item, index) in state.imageList" :key="index"> + <div v-for="(item, index) in state.imageList" :key="item.id || index"> <span>{{ item.title }}</span> <!---列表细节---> </div> </template> +<script setup lang="ts"> +interface ImageItem { + id?: string; + title: string; +} + +const state = { + imageList: ref<ImageItem[]>([]) +}; +</script>docs/extension-capabilities-overview/meta-services-and-meta-apps.md (1)
23-27
: Consider adding error handling for getMergeMetaThe code example should demonstrate proper error handling for the getMergeMeta function.
import { getMergeMeta } from '@opentiny/tiny-engine-meta-register' // 获取元应用 -const entry = getMergeMeta(comp).entry +try { + const meta = getMergeMeta(comp) + const entry = meta?.entry + if (!entry) { + console.warn('Meta application entry not found') + } +} catch (error) { + console.error('Failed to get meta application:', error) +}docs/extension-capabilities-tutorial/code-output-function/code-output-overview-and-usage.md (3)
34-34
: Fix grammar in Chinese textBased on the static analysis, there's a grammar issue with the use of "的" vs "得":
-运行时引擎的代码会膨胀的非常巨大 +运行时引擎的代码会膨胀得非常巨大🧰 Tools
🪛 LanguageTool
[uncategorized] ~34-~34: 1.动词被副词修饰时,助词应该用‘得’;2.省略宾语时,助词应该用‘的’;可能造成歧义。您的意思是不是:膨胀"得"非常巨大
Context: ...但是,在我们实战经验中却发现随着需求的变更以及时间的变迁,运行时引擎的代码会膨胀的非常巨大,运行时引擎内部的架构也越来越复杂,会带来一些明显的痛点: - 由于运...(wb4)
40-40
: Fix grammar in Chinese textBased on the static analysis, there's a grammar issue with the use of "的" vs "地":
-可以相对完美的解决以上痛点 +可以相对完美地解决以上痛点🧰 Tools
🪛 LanguageTool
[uncategorized] ~40-~40: 动词的修饰一般为‘形容词(副词)+地+动词’。您的意思是否是:完美"地"解决
Context: ...用低代码搭建的场景)。 在经历一番探索之后,我们发现使用出码的方案可以相对完美的解决以上痛点: - 运行时引擎仅在设计态搭建页面的时候存在,正式上线的代码是人...(wb4)
7-22
: Consider adding type information to the JSON schema exampleThe JSON to Vue conversion example would be more helpful with type information and a more complex example demonstrating nested components.
Consider expanding the example to include:
- TypeScript interfaces for the schema
- More complex nested component structure
- Example of handling component props and events
interface ComponentSchema { componentName: string; props?: Record<string, unknown>; children?: ComponentSchema[]; }Also applies to: 26-30
docs/basic-features/using-components.md (3)
11-14
: Add alt text to enhance accessibilityImages should include descriptive alt text for better accessibility. This applies to both the icon image and the GIF.
-1. 在左侧插件栏中,单击![物料插件图标](./imgs/icon-add.png),展开物料资产包。 +1. 在左侧插件栏中,单击![物料插件图标 - 用于添加组件的图标](./imgs/icon-add.png),展开物料资产包。 -![拖入组件](./imgs/dragComponent.gif) +![演示如何将组件从物料面板拖拽到画布中的动图](./imgs/dragComponent.gif)
20-20
: Improve grammar in the explanationThe phrase "很好的拖入" should use "地" instead of "的" as it modifies a verb.
-直接拖拽并不能很好的拖入到指定的层级中 +直接拖拽并不能很好地拖入到指定的层级中🧰 Tools
🪛 LanguageTool
[uncategorized] ~20-~20: 动词的修饰一般为‘形容词(副词)+地+动词’。您的意思是否是:好"地"拖
Context: ...# 从画布中直接添加组件 对于复杂的页面,嵌套层级可能很深,直接拖拽并不能很好的拖入到指定的层级中,所以,设计器提供在画布中右键精准添加组件的能力。 1. 画...(wb4)
25-26
: Standardize image referencesThe document uses inconsistent formats for image references. Some use quotation marks for titles while others don't. Let's standardize them.
- ![insertComponent](./imgs/insertComponent.gif) + ![演示如何插入组件的动图](./imgs/insertComponent.gif "插入组件演示") - ![inserPosition](./imgs/inserPosition.png) + ![选择组件插入位置的截图](./imgs/inserPosition.png "选择插入位置")(Similar changes should be applied to other image references)
Also applies to: 28-29, 33-34, 44-45, 49-50, 54-55, 57-58, 64-65, 67-68, 70-71
docs/basic-features/internationalization.md (2)
7-8
: Add alt text to system icons and improve note formattingThe system note icons should include alt text, and the note formatting can be improved for better readability.
-> ![](public_sys-resources/icon-note.gif) **说明:** +> ![注意图标](public_sys-resources/icon-note.gif) **说明:** -> 注意的是国际化只针对画布中的项目,不针对设计器本身。 +> 国际化只针对画布中的项目,不针对设计器本身。Apply similar changes to the second note section.
Also applies to: 16-19
🧰 Tools
🪛 Markdownlint (0.37.0)
7-7: null
Images should have alternate text (alt text)(MD045, no-alt-text)
72-72
: Improve code example clarityThe variable binding example could be more clear with proper escaping and formatting.
-5. 输入变量t\('lowcode.67564435'\),其中lowcode.67564435为词条的key值,可参考[复制词条键值](#复制词条键值)获取。 +5. 输入变量 `t('lowcode.67564435')`,其中 `lowcode.67564435` 为词条的key值,可参考[复制词条键值](#复制词条键值)获取。docs/api/settings-panel-api.md (4)
1-1
: Replace hard tabs with spacesHard tabs should be replaced with spaces for consistent formatting across different editors.
-# 设置面板模块API +# 设置面板模块API🧰 Tools
🪛 Markdownlint (0.37.0)
1-1: Column: 12
Hard tabs(MD010, no-hard-tabs)
5-5
: Improve grammar in the introductionRemove redundant word "于" to improve readability.
-变量绑定列表中的变量可能来自于其他元应用。 +变量绑定列表中的变量可能来自其他元应用。🧰 Tools
🪛 LanguageTool
[uncategorized] ~5-~5: 成分累赘: “来自” “于” 不一起使用,请删除 “于”:"来自"。
Context: # 设置面板模块API ## 变量绑定 变量绑定列表中的变量可能来自于其他元应用。 目前提供一种在元应用中注册变量绑定列表来源的方法:首先在元应用配...(wb2)
97-97
: Add alt text and improve image referenceThe bindEvent image should include descriptive alt text.
- ![bindEvent]( ./imgs/bindEventApi.png) + ![事件绑定对话框界面截图](./imgs/bindEventApi.png "事件绑定对话框")
38-53
: Enhance code example documentationThe configuration object example could benefit from more detailed comments explaining each field's purpose and constraints.
{ id: string; - content: string; // 列表项显示的文本 + content: string; // 列表项显示的文本,建议使用清晰且具有描述性的名称 getVariables: () => { bindPrefix: string; variables: any; - }; // 获取变量绑定列表的方法 + }; // 同步获取变量绑定列表的方法,应返回包含bindPrefix和variables的对象 getVariablesAsync: () => { bindPrefix: string; variables: any; - }; // 获取变量绑定列表的异步方法。如果有同步方法,只会执行同步方法 + }; // 异步获取变量绑定列表的方法。注意:当同时定义了getVariables时,此方法不会被调用 condition: () => boolean; // 控制是否显示的方法 postConfirm: (context) => void, // 点击确定后执行的额外逻辑 - _order: number; // 用来排序的字段。因为组件导入过程中顺序不是确定的,所以需要增加一个字段用来确定顺序 + _order: number; // 排序字段,较小的数值会显示在列表前面。建议使用10的倍数以便于后续插入新项 }docs/ecosystem-center/how-to-import-library.md (1)
30-36
: Add blank lines around tablesAccording to markdown best practices, tables should be surrounded by blank lines for better readability and proper rendering.
![基本信息](./imgs/componentConfigBase.png) + | 字段名称 | 描述 | | --- | --- | | 组件ID | 决定组件的使用方式<tiny-input></tiny-input> | | 组件名称 | 设计器物料面板中组件显示的名称 | | 图标 | 设计器物料面板中组件显示的图标 | | schema片段 | [决定组件在画布上的显示效果](./imgs/componentConfigSchema.png) | | 组件属性 | 包含属性、事件、插槽,对应设计器中右侧属性面板可配置的属性、插槽及高级面板中的事件配置 | +Also applies to: 41-67
🧰 Tools
🪛 Markdownlint (0.37.0)
30-30: null
Tables should be surrounded by blank lines(MD058, blanks-around-tables)
docs/extension-capabilities-tutorial/customize-meta-service-logic.md (2)
79-79
: Improve import statement clarityThe import statement uses ellipsis which might be confusing. Consider providing a more concrete example.
-import { FooService, BarService } from '...' +import { FooService, BarService } from '@opentiny/tiny-engine' // 请替换为实际的导入路径
91-93
: Add example callback logicThe callback function only contains a comment. Consider adding a practical example to demonstrate typical usage.
callback: (data) => { - // 回调逻辑 + console.log('Received custom event:', data) + // 示例:更新服务状态 + const state = CustomFooService.apis.getState() + CustomFooService.apis.setState({ ...state, ...data }) }docs/extension-capabilities-overview/registry.md (1)
109-123
: Improve code formatting consistencyThe configuration example has inconsistent empty lines and comment formatting. Consider standardizing the format.
const register = { - layout: { ...Layout - // 传输配置项 + // 传入配置项 options: {...} }, toolbars: [ - // 第二个对象传入配置、覆盖项 + // 传入配置和覆盖项 [Media, { ... }] ], - // 传入自定义插件 + // 传入插件列表 plugins: [Materials, Tree, customPlugin], }docs/advanced-features/js-panel-and-event-binding.md (3)
33-43
: Vue template code example needs improvementThe Vue code example could be enhanced for better clarity and maintainability.
Consider applying these improvements:
<template> <div> - <span>{{ state.testValue }}</span> + <!-- Add a comment explaining what testValue represents --> + <span class="test-value">{{ state.testValue }}</span> <img src="/images/1.jpg" style="width: 200px; height: 200px" @click="(...eventArgs) => getA(eventArgs, 12)" + alt="Description of the image" /> </div> </template>
90-90
: Grammar improvement neededThe sentence contains redundant words: "来自于" should be simplified to "来自".
Change to: "这里的函数参数的定义来自 TinyVue 的文档"
🧰 Tools
🪛 LanguageTool
[uncategorized] ~90-~90: 成分累赘: “来自” “于” 不一起使用,请删除 “于”:"来自"。
Context: ...签名需参考组件的文档 1. 首先在页面JS中定义渲染函数,这里的函数参数的定义来自于 TinyVue 的文档 ![在页面JS中定义渲染函数](./imgs/pag...(wb2)
103-103
: Grammar improvement neededThe sentence needs proper adverb form: "方便的" should be "方便地".
Change to: "页面js能够很方便地为元素或区块添加事件,通过可视化的优势快速定位到某个元素。同时也很方便地提供一些状态获取方法,国际化词条获取方法等。"
🧰 Tools
🪛 LanguageTool
[uncategorized] ~103-~103: 动词的修饰一般为‘形容词(副词)+地+动词’。您的意思是否是:方便"地"提供
Context: ...够很方便的为元素或区块添加事件,通过可视化的优势快速定位到某个元素。同时也很方便的提供一些状态获取方法,国际化词条获取方法等。(wb4)
docs/advanced-features/block-management.md (2)
78-93
: Vue code example needs type annotationsThe Vue code example could benefit from TypeScript type annotations for better type safety and documentation.
Consider applying these improvements:
<template> <header> <h1>{{props.title}}</h1> <span>{{props.description}}</span> </header> </template> <script setup lang="ts"> -const props = defineProps({ +interface HeaderProps { + title: string; + description: string; +} + +const props = defineProps<HeaderProps>({ title: { type: String, default: '' }, description: { type: String, default: '' } }) </script>
68-68
: Grammar improvement neededThe sentence needs proper adverb form: "更好的" should be "更好地".
Change to: "区块描述:区块的描述,可以让别人更好地明白该区块的用途以及含义"
🧰 Tools
🪛 LanguageTool
[uncategorized] ~68-~68: 动词的修饰一般为‘形容词(副词)+地+动词’。您的意思是否是:好"地"明白
Context: ...围进行设置,下面对相关设置项进行讲解 - 区块描述:区块的描述,可以让别人更好的明白该区块的用途以及含义 - 区块标签:区块的标签,方便消费侧用户搜索 - 公开...(wb4)
docs/api/material-api.md (2)
4-26
: API documentation needs type annotationsThe JavaScript code example would benefit from TypeScript type annotations for better API documentation.
Consider applying these improvements:
+interface MaterialPluginConfig { + id: string; + title: string; + type: string; + icon: string; + align: string; + entry: any; + layout: typeof MaterialLayout; + options: { + defaultTabId: string; + displayComponentIds: string[]; + basePropertyOptions: any; + }; + components: { + header: typeof MaterialHeader; + }; + apis: Record<string, Function>; + metas: any[]; +} -export default { +export default <MaterialPluginConfig>{ id: 'engine.plugins.materials', title: '物料', type: 'plugins', icon: 'plugin-icon-materials', align: 'top', entry, layout: MaterialLayout, options: { defaultTabId: 'engine.plugins.materials.component', displayComponentIds: ['engine.plugins.materials.component', 'engine.plugins.materials.block'], basePropertyOptions }, components: { header: MaterialHeader }, apis: { ...MaterialBlock.apis }, metas: [MaterialBlock, MaterialComponent, ResourceService, MaterialService] }
69-73
: State management could be improvedThe reactive state management could be enhanced with TypeScript interfaces and better organization.
Consider applying these improvements:
+interface ThirdPartyDeps { + scripts: string[]; + styles: Set<string>; +} + +interface MaterialState { + components: any[]; + blocks: any[]; + thirdPartyDeps: ThirdPartyDeps; +} + -const materialState = reactive({ +const materialState = reactive<MaterialState>({ components: [], blocks: [], thirdPartyDeps: { scripts: [], styles: new Set() } })docs/advanced-features/data-source-and-collection-usage.md (1)
95-102
: Improve variable naming in code exampleThe data handler example could be more descriptive with better variable naming.
function dataHandler(data) { - return data.map(v => ({ - name: v.nickName, - status: v.status + return data.map(user => ({ + name: user.nickName, + status: user.status }) ) }docs/practical-cases/pdm-metadata-approval-workflow.md (2)
13-13
: Improve Chinese language styleBased on Chinese writing conventions, the following corrections are needed:
- Line 13: Change "常见的" to "常见地"
- Line 18: Change "完美的" to "完美地"
Also applies to: 18-18
🧰 Tools
🪛 LanguageTool
[uncategorized] ~13-~13: 动词的修饰一般为‘形容词(副词)+地+动词’。您的意思是否是:常用"地"审批
Context: ...完成。但是,所有类型的审批流大致相似。如:页面上常见的元素包括表单、表格以及常用的审批组件等。 技术分析:若采用传统的开发方式,每当新增一种流程时,前端开发人员...(wb4)
69-103
: Enhance JSON schema documentationThe button properties schema could benefit from additional documentation:
- Add descriptions for each property
- Include examples of usage
// 以下JSON为节选按钮暴露的属性 { "schema": { "type": "object", "properties": { "size": { "title": "定义按钮尺寸", + "description": "用于控制按钮的显示大小,不同尺寸适用于不同的场景", "type": "string", "enum": ["large", "medium", "small", "mini"], "enumNames": ["较大尺寸", "中等尺寸", "较小尺寸", "迷你尺寸"], + "examples": ["medium"], "default": "" }, "text": { "title": "设置按钮显示的文本", + "description": "按钮上显示的文字内容", "type": "string", + "examples": ["提交", "确认"], "default": "" } } } }docs/extension-capabilities-tutorial/develop-configurator-components.md (2)
49-54
: Consider optimizing the string filtering logicThe current string filtering implementation can be simplified for better performance and readability.
const change = (val) => { - value.value = val - .split('') - .filter((c) => /[A-Za-z0-9]/.test(c)) // 判断字符串中的每个字符是否属于字母或者数字 - .join('') + value.value = val.replace(/[^A-Za-z0-9]/g, '') // Remove non-alphanumeric characters emit('update:modelValue', value.value) }
118-120
: Remove commented codeThe commented line
"component": "I18nConfigurator"
appears to be old/unused code. Consider removing it to maintain clean documentation.docs/development-getting-started/quick-start.md (1)
124-141
: Add language identifier to code blockThe directory structure code block should specify a language identifier for proper syntax highlighting.
-``` +```text ... ├─ designer-demo # 此处为高度可定制化的低代码平台,即用户自己的低代码设计器 │ ├─ env🧰 Tools
🪛 Markdownlint (0.37.0)
124-124: null
Fenced code blocks should have a language specified(MD040, fenced-code-language)
docs/practical-cases/graphical-element-arrangement-designer.md (3)
78-83
: Add language identifier to code blockThe directory structure code block should specify a language identifier for proper syntax highlighting.
-```bash +```text pluginProject - src 插件源码 - index.js 注册插件入口,需要导出约定的数据结构 - package.json
44-58
: Add language identifier to code blockThe directory structure code block should specify a language identifier for proper syntax highlighting.
-```js +```text . |-- canvas |-- controller
105-119
: Improve example clarityThe plugin configuration example uses a placeholder import path. Consider using a more realistic example or adding a comment to clarify it's a placeholder.
-import Materials from '@xxxx/lowcode-plugin-materials' +// Replace @xxxx with your actual package scope +import Materials from '@your-scope/lowcode-plugin-materials'docs/advanced-features/how-to-use-slots.md (2)
12-24
: Improve code block readability.The code block contains a comment indicating it's from "Header.vue" but uses a generic "vue" language identifier. Consider using "vue3" for better syntax highlighting and to indicate the Vue version.
-```vue +```vue3 // Header.vue <template>
147-165
: Enhance schema documentation.The schema example could be improved by adding comments explaining the purpose of each field, especially for the
params
array which is crucial for slot configuration.{ // 物料 schema 定义 "schema": { // 定义插槽 "slots": { - "menu": { + // menu: 插槽名称,用于在模板中引用 + "menu": { // 在右侧属性面板显示的名称 "label": { "zh_CN": "menu" }, - "params": ["title"] + // params: 定义可以传递给插槽的参数列表 + "params": ["title"] } } } }docs/basic-features/style-settings.md (2)
151-156
: Improve code example formatting and safety.The code example could be improved by:
- Adding type safety for the
value
parameter- Using strict equality comparison
function isNil(value) { - return value == null + return value === null || value === undefined }
163-169
: Add error handling example.The code example could be enhanced by showing proper error handling when the value is nil.
function xxxHandler(value) { if(this.utils.isNil(value)) { + console.warn('Value is required but received null/undefined') return } // ... other logic }
docs/advanced-features/using-utils-methods.md (1)
27-34
: Enhance utility function example.The example utility function could be improved by:
- Adding JSDoc comments for better documentation
- Including parameter types and return type
// utils.js +/** + * Test utility function for demonstration + * @returns {void} + */ const testUtils = function utils() { console.log(321) } export { testUtils }docs/extension-capabilities-tutorial/code-output-function/official-code-output-api.md (2)
17-19
: Add return type information forgenerateApp
.The TypeScript type definition should include information about what
CodeGenInstance
contains to help developers understand the return value.-function generateApp(config?: IConfig): CodeGenInstance +function generateApp(config?: IConfig): CodeGenInstance { + generate: (schema: IAppSchema) => Promise<ICodeGenResult>; +}
46-58
: Enhance the plugin example with error handling.The custom plugin example should demonstrate proper error handling for a production-ready implementation.
function customPlugin() { return { name: 'tiny-engine-generate-code-plugin-demo', description: 'demo', - run(schema, context) { + async run(schema, context) { + try { console.log('here is a demo plugin') + } catch (error) { + context.addLog(`Plugin execution failed: ${error.message}`); + throw error; + } } } }docs/api/canvas-api.md (2)
3-4
: Fix heading hierarchy.The document starts with an h3 heading after the h1 title. Maintain proper heading hierarchy by using h2 for the main sections.
# 画布模块API -### 元服务useCanvas +## 元服务useCanvas🧰 Tools
🪛 Markdownlint (0.37.0)
3-3: Expected: h2; Actual: h3
Heading levels should only increment by one level at a time(MD001, heading-increment)
7-23
: Add TypeScript interface definition for statePageState.Convert the JSON structure into a proper TypeScript interface for better developer understanding.
interface StatePageState { currentVm: any | null; currentSchema: Schema | null; // 当前画布渲染的schema currentType: string | null; pageSchema: PageSchema | null; // 当前画布的原始页面数据 properties: Record<string, any> | null; dataSource: DataSource | null; dataSourceMap: Record<string, any> | null; isSaved: boolean; // 画布的修改是否已经保存 isLock: boolean; // 画布是否锁定 isBlock: boolean; // 画布加载的是否是区块 nodesStatus: Record<string, any>; loading: boolean; // 画布是否加载中 }🧰 Tools
🪛 Markdownlint (0.37.0)
7-7: null
Fenced code blocks should have a language specified(MD040, fenced-code-language)
docs/solutions/block-release-solution.md (2)
137-144
: Add input validation requirements for the API.The API documentation should specify input validation requirements for the parameters.
{ "deploy_info": "构建某某区块", // 发布区块时的信息 "block": {}, // 区块信息 "needToSave": true, // boolean 是否保存当前区块信息到block表 "version": "1.0.0" // 区块包的版本号,需符合npm仓库版本号规范 + // Add validation requirements: + // - deploy_info: Required, string, max length 200 + // - block: Required, object, must contain valid block schema + // - version: Required, string, must match semver format }
65-67
: Use code block language identifier.Specify the language for the code block to enable syntax highlighting.
-``` +```text https://registry.npmmirror.com/${包名}/${版本号}/files/${文件路径及文件名}<details> <summary>🧰 Tools</summary> <details> <summary>🪛 Markdownlint (0.37.0)</summary> 65-65: null Fenced code blocks should have a language specified (MD040, fenced-code-language) </details> </details> </blockquote></details> <details> <summary>docs/index.md (2)</summary><blockquote> `36-84`: **Consider reordering sections based on user importance.** Based on the past review comment, consider moving the "网站文档" (Website Documentation) section after the "平台开发指南" (Platform Development Guide) section to improve the documentation flow from user perspective to developer perspective. --- `32-34`: **Consider organizing tutorials chronologically.** The tutorials section mixes a general tutorial with a dated one. Consider: 1. Organizing tutorials chronologically 2. Using a more descriptive naming convention for dated tutorials </blockquote></details> <details> <summary>docs/api/backend-api/dsl-code-generation.md (2)</summary><blockquote> `15-24`: **Improve code example readability.** The code example could be improved by: 1. Adding proper spacing between imports and function call 2. Using template literals for file paths 3. Adding error handling for file operations ```diff const path = require('path') const fs = require('fs') const { generateCode } = require('@opentiny/tiny-engine-dsl-ng-tiny/lib/generate-code.js') + const result = generateCode({ pageInfo, blocksData }) -result.forEach((item) => fs.writeFileSync(`dist/${item.filePath}/${item.panelName}`, item.panelValue)) +result.forEach((item) => { + const filePath = path.join('dist', item.filePath, item.panelName) + try { + fs.writeFileSync(filePath, item.panelValue) + } catch (error) { + console.error(`Failed to write file ${filePath}:`, error) + } +})
96-103
: Convert HTML table to Markdown format.Consider converting the HTML table to Markdown format for better maintainability and consistency with other documentation.
-<table> - <thead class="ant-table-thead"> - <tr> - <th key=name>名称</th><th key=type>类型</th><th key=required>是否必须</th><th key=default>默认值</th><th key=desc>备注</th><th key=sub>其他信息</th> - </tr> - </thead> - <!-- ... rest of the table ... --> -</table> +| 名称 | 类型 | 是否必须 | 默认值 | 备注 | 其他信息 | +|------|------|----------|--------|------|----------| +| panelName | string | 必须 | | 文件名 | | +| panelValue | string | 必须 | | 文件文本 | | +| panelType | string | 必须 | | 代码类型 | | +| prettierOpt | object | 必须 | | 代码美化选项 | | +| └─ parser | string | 非必须 | | 指定要使用的解析器 | | +| └─ tabWidth | number | 非必须 | | 指定使用几个空格来表示一个制表符 | | +| └─ printWidth | number | 非必须 | | 指定每行代码的最大列数 | | +| type | string | 必须 | | 代码类型 | | +| filePath | string | 必须 | | 文件路径 | |docs/api/main-package-api.md (3)
11-41
: Add descriptions for exported services.Consider adding brief descriptions for each exported service to help users understand their purpose. For example:
- BreadcrumbService: Navigation breadcrumb functionality
- HistoryService: Undo/redo operation management
- MaterialService: Material asset management
98-153
: Add comments to explain configuration sections.The registry configuration example would benefit from comments explaining each section's purpose and available options.
export default { + // Root configuration for core services root: { id: 'engine.root', metas: [GenerateCodeService, GlobalService] }, + // Engine-specific configuration config: engineConfig, + // Layout configuration including toolbar placement layout: { ...Layout, options: { ...Layout.options, isShowLine: true, isShowCollapse: true, + // Toolbar button placement in different areas of the layout toolbars: { left: ['engine.toolbars.breadcrumb', 'engine.toolbars.lock', 'engine.toolbars.logo'], center: ['engine.toolbars.media'], right: [ ['engine.toolbars.redoundo', 'engine.toolbars.clean'], ['engine.toolbars.preview'], ['engine.toolbars.generate-code', 'engine.toolbars.save'] ], collapse: [ ['engine.toolbars.collaboration'], ['engine.toolbars.refresh', 'engine.toolbars.fullscreen'], ['engine.toolbars.lang'] ] } } }, // ... rest of the configuration
189-192
: Add example of error handling for API calls.The example of using
getMetaApi
should include error handling:// 通过getMetaApi获取元应用/元服务API -const { selectNode } = getMetaApi('engine.canvas').canvasApi.value +try { + const api = getMetaApi('engine.canvas') + if (api?.canvasApi?.value) { + const { selectNode } = api.canvasApi.value + // Use selectNode... + } else { + console.warn('Canvas API not available') + } +} catch (error) { + console.error('Failed to get Canvas API:', error) +}docs/extension-capabilities-tutorial/code-output-function/how-to-customize-code-output-plugins.md (2)
13-32
: Enhance code example with TypeScript types.The plugin example would benefit from TypeScript type annotations for better developer experience and code clarity.
// 默认配置 -const defaultOptions = {} +interface PluginOptions { + // Add your plugin options here +} +const defaultOptions: PluginOptions = {} -function customPlugin(options) { +function customPlugin(options?: Partial<PluginOptions>) { const runtimeOptions = merge(defaultOptions, options) // 返回对象 - return { + interface PluginReturn { + name: string; + description: string; + run: (schema: any, context: any) => void; + } + return <PluginReturn>{ // 插件名 name: 'tiny-engine-generate-code-plugin-demo',
163-180
: Add type definitions for schema interface.The schema structure example would be more helpful with TypeScript interfaces.
interface ISchema { componentName: 'Page' | 'Block'; // Literal type for better type safety css: string; props: Record<string, unknown>; lifeCycles: Record<string, Function>; children: IComponentSchema[]; dataSource: { list: Array<unknown>; }; methods: Record<string, Function>; bridge: { imports: Array<unknown>; }; state: Record<string, unknown>; inputs: Array<unknown>; outputs: Array<unknown>; }docs/extension-capabilities-tutorial/how-to-develop-plugins.md (2)
328-332
: Add type safety to the canvas drag item example.The canvas drag item example could be improved with TypeScript types and proper component props definition.
<template> - <canvas-drag-item :data="generateNode({ component: 'snippetName' })"> + <canvas-drag-item + :data="generateNode({ component: 'snippetName' })" + :key="'snippet-' + snippetName" + > // 这里展示组件示意图之类的UI </canvas-drag-item> </template> +<script lang="ts"> +interface GenerateNodeOptions { + component: string; + [key: string]: unknown; +}
334-347
: Modernize Vue component with Composition API.The Vue component example could be modernized to use the Composition API with
<script setup>
syntax.-<script> +<script setup lang="ts"> import { useResource } from '@opentiny/tiny-engine-controller' import { CanvasDragItem } from '@opentiny/tiny-engine-canvas' -export default { - components: { - CanvasDragItem, - }, - setup() { - const { generateNode } = useResource() - return { - generateNode - } - } -} + +const { generateNode } = useResource() </script>docs/catalog.json (1)
1-199
: LGTM! Well-structured documentation catalog.The documentation structure is well-organized with a clear hierarchy of chapters, sections, and articles. The naming conventions are consistent, and the structure provides good navigation for users.
Consider adding:
- Version information for documentation tracking
- Last updated timestamps for articles
- Estimated reading time for articles
- Prerequisites or difficulty level indicators for tutorials
docs/solutions/block-lan-release-solution.md (2)
102-102
: Fix language inconsistenciesThere are some language inconsistencies in the Chinese text:
- Line 102: "正确的显示" should be "正确地显示"
- Line 181: "正常的使用" should be "正常地使用"
These are adverbs modifying verbs and should use "地" instead of "的".
Also applies to: 181-181
🧰 Tools
🪛 LanguageTool
[uncategorized] ~102-~102: 动词的修饰一般为‘形容词(副词)+地+动词’。您的意思是否是:正确"地"显示
Context: ...正常发布在私仓上,如果想要在TinyEngine的页面上去获取到私仓里的包,正确的显示区块,我们还需要借助unpkg去获取到包的数据,而由于公网的unpkg无法直...(wb4)
267-292
: Add comments to explain the code logicThe code block for handling expression children could use more inline comments to explain the logic:
const handleExpressionChildren = (schemaData = {}, globalHooks, config) => { const { children, schema } = schemaData const type = schema?.children?.type const isJSX = config.isJSX + // 根据JSX语法决定表达式包裹符号 const prefix = isJSX ? '{' : '{{' const suffix = isJSX ? '}' : '}}' - // 如果是 js expression 类型 + // 处理JavaScript表达式类型的children if (type === JS_EXPRESSION) { + // 处理特殊资源引用 specialTypeHandler[JS_RESOURCE](schema.children, globalHooks, config) + // 生成表达式并添加到children数组 children.push( `${prefix} ${schema.children?.value.replace(isJSX ? thisRegexp : thisPropsBindRe, '') || ''} ${suffix}` ) + // 清理schema防止重复处理 delete schema.children return } }docs/extension-capabilities-tutorial/code-output-function/custom-page-code-output-plugin.md (2)
17-29
: Add error handling example in the plugin codeThe plugin code example should demonstrate proper error handling:
run: (schema, context) { - // ... 自定义出码逻辑 - const res = '' // ... 这里自定义 option style 的 vue 文件 + try { + // ... 自定义出码逻辑 + const res = '' // ... 这里自定义 option style 的 vue 文件 - const file = { - fileType: 'vue', - fileName: 'fileName.vue', - path: blockBasePath, - fileContent: res - } + const file = { + fileType: 'vue', + fileName: 'fileName.vue', + path: blockBasePath, + fileContent: res + } - this.addFile(file) + this.addFile(file) + } catch (error) { + console.error('Failed to generate code:', error); + throw new Error(`Code generation failed: ${error.message}`); + } }
465-480
: Enhance interface documentationThe
IConfig
interface documentation could be improved with more detailed JSDoc comments:interface IConfig { pluginConfig: { page: { - pageBasePath: string; // 默认为 './src/views' + /** + * 页面文件的基础路径 + * @default './src/views' + */ + pageBasePath: string; sfcConfig: ISFCConfig; }, block: { - blockBasePath: string; // 默认为 './src/components' + /** + * 区块文件的基础路径 + * @default './src/components' + */ + blockBasePath: string; sfcConfig: ISFCConfig; } } }docs/api/backend-api/ai-function-api.md (1)
29-36
: Convert HTML tables to Markdown formatThe request and response parameter tables should be converted from HTML to Markdown format for better maintainability. Consider using a table generator tool to convert these complex HTML tables to Markdown format.
Would you like me to help convert these HTML tables to Markdown format?
Also applies to: 41-48
docs/api/backend-api/app-utility-management.md (2)
26-33
: Convert HTML tables to Markdown format for better maintainabilityThe documentation uses HTML tables which can be harder to maintain. Consider converting them to Markdown tables for better readability and maintainability.
Example conversion:
-<table> - <thead class="ant-table-thead"> - <tr> - <th key=name>名称</th><th key=type>类型</th> - </tr> - </thead> - ... -</table> +| 名称 | 类型 | 是否必须 | 默认值 | 备注 | 其他信息 | +|------|------|----------|--------|------|----------| +| data | object | 非必须 | | | |
1-24
: Add examples and more detailed parameter descriptionsThe API documentation would benefit from:
- Request/response examples
- More detailed descriptions for parameters
- Common use cases or scenarios
Consider adding a section like this:
### Example Request ```json { "name": "utilityClass1", "app": 123, "content": { "type": "function", "value": "function example() { ... }" } }Example Response
{ "data": { "id": 1, "name": "utilityClass1", "content": { "type": "function", "value": "function example() { ... }" } } }<details> <summary>🧰 Tools</summary> <details> <summary>🪛 Markdownlint (0.37.0)</summary> 18-18: null Emphasis used instead of a heading (MD036, no-emphasis-as-heading) --- 24-24: null Emphasis used instead of a heading (MD036, no-emphasis-as-heading) </details> </details> </blockquote></details> <details> <summary>docs/api/backend-api/app-services.md (1)</summary><blockquote> `27-34`: **Add schema examples for better understanding** The schema structure is complex and would benefit from practical examples showing different scenarios. Add example schemas for common use cases: ```markdown ### Example Schemas 1. Basic Component: ```json { "componentName": "Button", "props": { "text": "Click Me", "onClick": { "type": "function", "value": "() => alert('clicked')" } } }
- Container with Children:
{ "componentName": "div", "children": [ { "componentName": "Input", "props": { "placeholder": "Enter text" } } ] }</blockquote></details> </blockquote></details> <details> <summary>📜 Review details</summary> **Configuration used: CodeRabbit UI** **Review profile: CHILL** **Plan: Pro** <details> <summary>📥 Commits</summary> Reviewing files that changed from the base of the PR and between 32d13cba903b53286601e423b89cee7e41e21bc1 and 804c330a21ec5f8c56864840d3d87c375ed3a1f5. </details> <details> <summary>📒 Files selected for processing (71)</summary> * `docs/about-applications/create-application-blank-or-template.md` (1 hunks) * `docs/about-applications/develop-application.md` (1 hunks) * `docs/about-designer/create-designer.md` (1 hunks) * `docs/about-designer/customize-designer.md` (1 hunks) * `docs/about-designer/customize-material-package-themes-dsl-toolbar-plugins.md` (1 hunks) * `docs/about-designer/introduction.md` (1 hunks) * `docs/about-materials/add-library-and-blocks.md` (1 hunks) * `docs/about-materials/build-material-asset-package.md` (1 hunks) * `docs/about-materials/create-material-asset-package.md` (1 hunks) * `docs/about-materials/introduction.md` (1 hunks) * `docs/advanced-features/advanced-panel-settings.md` (1 hunks) * `docs/advanced-features/block-management.md` (1 hunks) * `docs/advanced-features/conditional-rendering.md` (1 hunks) * `docs/advanced-features/data-source-and-collection-mock-data.md` (1 hunks) * `docs/advanced-features/data-source-and-collection-remote-fields.md` (1 hunks) * `docs/advanced-features/data-source-and-collection-usage.md` (1 hunks) * `docs/advanced-features/how-to-use-slots.md` (1 hunks) * `docs/advanced-features/integrating-chatgpt-for-simple-pages.md` (1 hunks) * `docs/advanced-features/js-panel-and-event-binding.md` (1 hunks) * `docs/advanced-features/loop-rendering.md` (1 hunks) * `docs/advanced-features/using-utils-methods.md` (1 hunks) * `docs/api/api-overview.md` (1 hunks) * `docs/api/backend-api/ai-function-api.md` (1 hunks) * `docs/api/backend-api/app-services.md` (1 hunks) * `docs/api/backend-api/app-utility-management.md` (1 hunks) * `docs/api/backend-api/data-source-management.md` (1 hunks) * `docs/api/backend-api/dsl-code-generation.md` (1 hunks) * `docs/api/canvas-api.md` (1 hunks) * `docs/api/global-layout-api.md` (1 hunks) * `docs/api/main-package-api.md` (1 hunks) * `docs/api/material-api.md` (1 hunks) * `docs/api/settings-panel-api.md` (1 hunks) * `docs/basic-features/designer-ui-modules.md` (1 hunks) * `docs/basic-features/frontend-application-flow.md` (1 hunks) * `docs/basic-features/inline-style-variable-binding.md` (1 hunks) * `docs/basic-features/internationalization.md` (1 hunks) * `docs/basic-features/intro-to-designer.md` (1 hunks) * `docs/basic-features/outline-tree.md` (1 hunks) * `docs/basic-features/page-and-block-preview.md` (1 hunks) * `docs/basic-features/page-management.md` (1 hunks) * `docs/basic-features/state-management-and-variable-binding.md` (1 hunks) * `docs/basic-features/style-settings.md` (1 hunks) * `docs/basic-features/using-components.md` (1 hunks) * `docs/catalog.json` (1 hunks) * `docs/development-getting-started/introduction.md` (1 hunks) * `docs/development-getting-started/quick-start.md` (1 hunks) * `docs/ecosystem-center/how-to-import-library.md` (1 hunks) * `docs/ecosystem-center/how-to-publish-block.md` (1 hunks) * `docs/ecosystem-center/introduction.md` (1 hunks) * `docs/ecosystem-center/publish-other-ecosystems.md` (1 hunks) * `docs/extension-capabilities-overview/meta-services-and-meta-apps.md` (1 hunks) * `docs/extension-capabilities-overview/new-architecture.md` (1 hunks) * `docs/extension-capabilities-overview/registry.md` (1 hunks) * `docs/extension-capabilities-tutorial/code-output-function/code-output-overview-and-usage.md` (1 hunks) * `docs/extension-capabilities-tutorial/code-output-function/custom-page-code-output-plugin.md` (1 hunks) * `docs/extension-capabilities-tutorial/code-output-function/how-to-customize-code-output-plugins.md` (1 hunks) * `docs/extension-capabilities-tutorial/code-output-function/how-to-customize-code-output.md` (1 hunks) * `docs/extension-capabilities-tutorial/code-output-function/official-code-output-api.md` (1 hunks) * `docs/extension-capabilities-tutorial/customize-meta-service-logic.md` (1 hunks) * `docs/extension-capabilities-tutorial/customize-plugin-ui.md` (1 hunks) * `docs/extension-capabilities-tutorial/develop-configurator-components.md` (1 hunks) * `docs/extension-capabilities-tutorial/how-to-develop-plugins.md` (1 hunks) * `docs/generateCatalogMd.js` (1 hunks) * `docs/getting-started/introduction.md` (1 hunks) * `docs/getting-started/quick-start.md` (1 hunks) * `docs/index.md` (1 hunks) * `docs/practical-cases/graphical-element-arrangement-designer.md` (1 hunks) * `docs/practical-cases/pdm-metadata-approval-workflow.md` (1 hunks) * `docs/practical-cases/smb-lightweight-application-service.md` (1 hunks) * `docs/solutions/block-lan-release-solution.md` (1 hunks) * `docs/solutions/block-release-solution.md` (1 hunks) </details> <details> <summary>✅ Files skipped from review due to trivial changes (7)</summary> * docs/about-applications/develop-application.md * docs/about-designer/create-designer.md * docs/basic-features/outline-tree.md * docs/about-applications/create-application-blank-or-template.md * docs/about-materials/build-material-asset-package.md * docs/ecosystem-center/how-to-publish-block.md * docs/basic-features/designer-ui-modules.md </details> <details> <summary>🧰 Additional context used</summary> <details> <summary>📓 Learnings (1)</summary> <details> <summary>docs/development-getting-started/quick-start.md (1)</summary>
Learnt from: gene9831
PR: #917
File: docs/开始/快速上手.md:31-31
Timestamp: 2024-12-14T05:53:28.501Z
Learning: The latest stable version of@opentiny/tiny-engine-cli
is2.0.0
, and documentation should reference this version instead of any release candidates.</details> </details><details> <summary>🪛 Markdownlint (0.37.0)</summary> <details> <summary>docs/basic-features/internationalization.md</summary> 7-7: null Images should have alternate text (alt text) (MD045, no-alt-text) --- 16-16: null Images should have alternate text (alt text) (MD045, no-alt-text) </details> <details> <summary>docs/ecosystem-center/publish-other-ecosystems.md</summary> 1-1: null Headings must start at the beginning of the line (MD023, heading-start-left) </details> <details> <summary>docs/ecosystem-center/how-to-import-library.md</summary> 30-30: null Tables should be surrounded by blank lines (MD058, blanks-around-tables) --- 41-41: null Tables should be surrounded by blank lines (MD058, blanks-around-tables) </details> <details> <summary>docs/solutions/block-lan-release-solution.md</summary> 208-208: Column: 7 Hard tabs (MD010, no-hard-tabs) --- 208-208: Column: 27 Hard tabs (MD010, no-hard-tabs) --- 210-210: Column: 14 Hard tabs (MD010, no-hard-tabs) --- 210-210: Column: 28 Hard tabs (MD010, no-hard-tabs) --- 211-211: Column: 15 Hard tabs (MD010, no-hard-tabs) --- 211-211: Column: 29 Hard tabs (MD010, no-hard-tabs) --- 212-212: Column: 16 Hard tabs (MD010, no-hard-tabs) --- 212-212: Column: 26 Hard tabs (MD010, no-hard-tabs) --- 213-213: Column: 9 Hard tabs (MD010, no-hard-tabs) --- 213-213: Column: 27 Hard tabs (MD010, no-hard-tabs) --- 214-214: Column: 12 Hard tabs (MD010, no-hard-tabs) --- 214-214: Column: 27 Hard tabs (MD010, no-hard-tabs) --- 215-215: Column: 12 Hard tabs (MD010, no-hard-tabs) --- 215-215: Column: 27 Hard tabs (MD010, no-hard-tabs) --- 200-200: null Bare URL used (MD034, no-bare-urls) --- 62-62: null Emphasis used instead of a heading (MD036, no-emphasis-as-heading) --- 377-377: null Emphasis used instead of a heading (MD036, no-emphasis-as-heading) --- 209-209: Expected: leading_only; Actual: leading_and_trailing; Unexpected trailing pipe Table pipe style (MD055, table-pipe-style) --- 300-300: Expected: leading_only; Actual: leading_and_trailing; Unexpected trailing pipe Table pipe style (MD055, table-pipe-style) --- 308-308: Expected: leading_only; Actual: leading_and_trailing; Unexpected trailing pipe Table pipe style (MD055, table-pipe-style) --- 309-309: Expected: leading_only; Actual: leading_and_trailing; Unexpected trailing pipe Table pipe style (MD055, table-pipe-style) </details> <details> <summary>docs/solutions/block-release-solution.md</summary> 95-95: Expected: 0; Actual: 2 Unordered list indentation (MD007, ul-indent) --- 99-99: Expected: 0; Actual: 2 Unordered list indentation (MD007, ul-indent) --- 103-103: Expected: 0; Actual: 2 Unordered list indentation (MD007, ul-indent) --- 113-113: Expected: 0; Actual: 2 Unordered list indentation (MD007, ul-indent) --- 63-63: null Bare URL used (MD034, no-bare-urls) --- 53-53: null Spaces inside code span elements (MD038, no-space-in-code) --- 65-65: null Fenced code blocks should have a language specified (MD040, fenced-code-language) --- 107-107: Expected: fenced; Actual: indented Code block style (MD046, code-block-style) --- 111-111: Expected: fenced; Actual: indented Code block style (MD046, code-block-style) --- 117-117: Expected: fenced; Actual: indented Code block style (MD046, code-block-style) --- 121-121: Expected: fenced; Actual: indented Code block style (MD046, code-block-style) </details> <details> <summary>docs/advanced-features/loop-rendering.md</summary> 13-13: null Images should have alternate text (alt text) (MD045, no-alt-text) </details> <details> <summary>docs/api/backend-api/ai-function-api.md</summary> 21-21: null Emphasis used instead of a heading (MD036, no-emphasis-as-heading) --- 27-27: null Emphasis used instead of a heading (MD036, no-emphasis-as-heading) </details> <details> <summary>docs/api/settings-panel-api.md</summary> 1-1: Column: 12 Hard tabs (MD010, no-hard-tabs) </details> <details> <summary>docs/api/backend-api/app-services.md</summary> 87-87: null Multiple headings with the same content (MD024, no-duplicate-heading) --- 96-96: null Multiple headings with the same content (MD024, no-duplicate-heading) --- 108-108: null Multiple headings with the same content (MD024, no-duplicate-heading) --- 19-19: null Emphasis used instead of a heading (MD036, no-emphasis-as-heading) --- 25-25: null Emphasis used instead of a heading (MD036, no-emphasis-as-heading) --- 64-64: null Emphasis used instead of a heading (MD036, no-emphasis-as-heading) --- 98-98: null Emphasis used instead of a heading (MD036, no-emphasis-as-heading) </details> <details> <summary>docs/development-getting-started/quick-start.md</summary> 90-90: Column: 1 Hard tabs (MD010, no-hard-tabs) --- 124-124: null Fenced code blocks should have a language specified (MD040, fenced-code-language) </details> <details> <summary>docs/advanced-features/using-utils-methods.md</summary> 8-8: null Emphasis used instead of a heading (MD036, no-emphasis-as-heading) --- 64-64: null Emphasis used instead of a heading (MD036, no-emphasis-as-heading) </details> <details> <summary>docs/api/backend-api/app-utility-management.md</summary> 18-18: null Emphasis used instead of a heading (MD036, no-emphasis-as-heading) --- 24-24: null Emphasis used instead of a heading (MD036, no-emphasis-as-heading) --- 63-63: null Emphasis used instead of a heading (MD036, no-emphasis-as-heading) --- 69-69: null Emphasis used instead of a heading (MD036, no-emphasis-as-heading) --- 110-110: null Emphasis used instead of a heading (MD036, no-emphasis-as-heading) --- 144-144: null Emphasis used instead of a heading (MD036, no-emphasis-as-heading) </details> <details> <summary>docs/api/canvas-api.md</summary> 3-3: Expected: h2; Actual: h3 Heading levels should only increment by one level at a time (MD001, heading-increment) --- 25-25: null Spaces inside code span elements (MD038, no-space-in-code) --- 7-7: null Fenced code blocks should have a language specified (MD040, fenced-code-language) --- 28-28: null Fenced code blocks should have a language specified (MD040, fenced-code-language) --- 60-60: null Fenced code blocks should have a language specified (MD040, fenced-code-language) --- 142-142: null Fenced code blocks should have a language specified (MD040, fenced-code-language) </details> <details> <summary>docs/api/backend-api/data-source-management.md</summary> 18-18: null Emphasis used instead of a heading (MD036, no-emphasis-as-heading) --- 24-24: null Emphasis used instead of a heading (MD036, no-emphasis-as-heading) --- 30-30: null Emphasis used instead of a heading (MD036, no-emphasis-as-heading) --- 69-69: null Emphasis used instead of a heading (MD036, no-emphasis-as-heading) --- 75-75: null Emphasis used instead of a heading (MD036, no-emphasis-as-heading) --- 114-114: null Emphasis used instead of a heading (MD036, no-emphasis-as-heading) --- 147-147: null Emphasis used instead of a heading (MD036, no-emphasis-as-heading) --- 180-180: null Emphasis used instead of a heading (MD036, no-emphasis-as-heading) --- 215-215: null Emphasis used instead of a heading (MD036, no-emphasis-as-heading) --- 250-250: null Emphasis used instead of a heading (MD036, no-emphasis-as-heading) </details> </details> <details> <summary>🪛 LanguageTool</summary> <details> <summary>docs/ecosystem-center/publish-other-ecosystems.md</summary> [uncategorized] ~7-~7: 能愿动词不能成为‘把’字句、‘被’字句的谓语动词。应该是:"会被……标识"。 Context: ...为插件 npm 包所在的仓库地址 版本号决定了安装哪一个版本的 npm 包 被标识为官方的插件会显示“官方”字样 被标识为默认的插件会在创建设计器时默认被选中 公开决定了插... (wa3) --- [uncategorized] ~8-~8: 能愿动词不能成为‘把’字句、‘被’字句的谓语动词。应该是:"会被……标识"。 Context: ...号决定了安装哪一个版本的 npm 包 被标识为官方的插件会显示“官方”字样 被标识为默认的插件会在创建设计器时默认被选中 公开决定了插件的可见范围,私有代表仅自己可见,公开代... (wa3) </details> <details> <summary>docs/about-materials/create-material-asset-package.md</summary> [uncategorized] ~8-~8: 数词与名词之间一般应存在量词,可能缺少量词。 Context: ...r的组件库与区块。 物料资产包版本是用户自定义的,用户可以将物料资产包回退到任一版本。 ![构建物料资产包](./imgs/createMaterial.gif)... (wa5) </details> <details> <summary>docs/ecosystem-center/how-to-import-library.md</summary> [uncategorized] ~4-~4: 动词的修饰一般为‘形容词(副词)+地+动词’。您的意思是否是:好"地"可 Context: ...入组件库 ## 介绍 组件是页面搭建最小的可复用单元,组件库是一系列已经封装好的可复用组件的集合。通过导入第三方组件库,可以利用已经开发好的功能,无需从头开始编... (wb4) </details> <details> <summary>docs/solutions/block-lan-release-solution.md</summary> [uncategorized] ~102-~102: 动词的修饰一般为‘形容词(副词)+地+动词’。您的意思是否是:正确"地"显示 Context: ...正常发布在私仓上,如果想要在TinyEngine的页面上去获取到私仓里的包,正确的显示区块,我们还需要借助unpkg去获取到包的数据,而由于公网的unpkg无法直... (wb4) --- [uncategorized] ~181-~181: 动词的修饰一般为‘形容词(副词)+地+动词’。您的意思是否是:正常"地"使用 Context: ...ng) 验证完成后,可以在物料中把刚才发布的区块进行添加,添加完毕后就可以正常的使用区块功能。 ## 五、服务部署 当前步骤都是在电脑本地环境下运行调试的,... (wb4) </details> <details> <summary>docs/api/backend-api/dsl-code-generation.md</summary> [uncategorized] ~48-~48: Loose punctuation mark. Context: ...的schema } }, { // 其他区块... } ] </code></pre> <p>输出示例:</p> <pre><cod... (UNLIKELY_OPENING_PUNCTUATION) </details> <details> <summary>docs/development-getting-started/introduction.md</summary> [uncategorized] ~16-~16: 数量词修饰并列短语,可能产生歧义 Context: ...持二次开发或被集成 - 直接生成可部署的源码,运行时无需引擎支撑 - 允许接入第三方组件、允许定制扩展插件 - 支持高代码与低代码,混合开发部署应用 - 平台接入 AI ... (s5) </details> <details> <summary>docs/extension-capabilities-overview/new-architecture.md</summary> [uncategorized] ~6-~6: 动词的修饰一般为‘形容词(副词)+地+动词’。您的意思是否是:慢慢"地"增加 Context: ...对官方项目代码的修改程度也逐渐增多,与此同时,TinyEngine引擎官方在慢慢的增加新特性,以及修复 bug,导致 fork 出来的代码与官方引擎项目差异越来越... (wb4) --- [uncategorized] ~10-~10: 动词的修饰一般为‘形容词(副词)+地+动词’。您的意思是否是:新"地"可 Context: ...对插件、设计器、布局、出码等等方式进行定制。 基于这个需求与思路,我们设计了新的可扩展架构——洛书架构 ## 扩展架构核心特性 - 提供 cli 工具,使用... (wb4) </details> <details> <summary>docs/advanced-features/block-management.md</summary> [uncategorized] ~68-~68: 动词的修饰一般为‘形容词(副词)+地+动词’。您的意思是否是:好"地"明白 Context: ...围进行设置,下面对相关设置项进行讲解 - 区块描述:区块的描述,可以让别人更好的明白该区块的用途以及含义 - 区块标签:区块的标签,方便消费侧用户搜索 - 公开... (wb4) --- [uncategorized] ~105-~105: 您的意思是“"既"是”吗? Context: ...发布之后,我们在物料面板拖出区块到画布中,选中我们拖出的区块,右侧属性面板的属性即是我们定义的暴露属性 ![区块暴露属性的消费](./imgs/blockexp... (JI11_JI2) </details> <details> <summary>docs/practical-cases/graphical-element-arrangement-designer.md</summary> [uncategorized] ~19-~19: “个”不能与“云”搭配,可改为:"每"一朵"云" Context: ...计器,顺利生成资源模板,实现一键部署。 考虑到需要支持大量的云服务资源,同时每一个云服务资源需要配置的属性也是不一样的,因而采用传统开发方式,为每一种云服务资源开... (wa5) --- [uncategorized] ~68-~68: 动词的修饰一般为‘形容词(副词)+地+动词’。您的意思是否是:完备"地"插 Context: ...# 整体插件架构介绍 TinyEngine整体架构优秀之处在于,提供了一套完备的插件体系,包含了插件开发所有的基础UI库、工具库、插件面板的显示控制、生命周期管... (wb4) --- [uncategorized] ~74-~74: 动词的修饰一般为‘形容词(副词)+地+动词’。您的意思是否是:一定"地"开发 Context: ...或切换。 ### 遵循插件规范开发 TinyEngine插件开发需要遵循一定的开发规范,主要是文件规范与导出规范: * 文件规范,必须包含下面几个文件 `... (wb4) --- [uncategorized] ~121-~121: 动词的修饰一般为‘形容词(副词)+地+动词’。您的意思是否是:快速"地"完成 Context: ...具栏插件、导出插件、主题、属性配置插件、模板转换插件,微调整体设计器样式,就快速的完成了一个资源编排领域的图元编排设计器。 ![image](./imgs/... (wb4) --- [uncategorized] ~127-~127: 动词的修饰一般为‘形容词(副词)+地+动词’。您的意思是否是:优秀"地"插 Context: ...TinyEngine的基础引擎能力,快速搭建出PoC原型,再此基础上,利用其优秀的插件架构和提供的插件公共能力,添加业务相关插件,快速开发出一个领域定制的专属设计... (wb4) </details> <details> <summary>docs/basic-features/using-components.md</summary> [uncategorized] ~20-~20: 动词的修饰一般为‘形容词(副词)+地+动词’。您的意思是否是:好"地"拖 Context: ...# 从画布中直接添加组件 对于复杂的页面,嵌套层级可能很深,直接拖拽并不能很好的拖入到指定的层级中,所以,设计器提供在画布中右键精准添加组件的能力。 1. 画... (wb4) </details> <details> <summary>docs/practical-cases/pdm-metadata-approval-workflow.md</summary> [uncategorized] ~13-~13: 动词的修饰一般为‘形容词(副词)+地+动词’。您的意思是否是:常用"地"审批 Context: ...完成。但是,所有类型的审批流大致相似。如:页面上常见的元素包括表单、表格以及常用的审批组件等。 技术分析:若采用传统的开发方式,每当新增一种流程时,前端开发人员... (wb4) --- [uncategorized] ~18-~18: 动词的修饰一般为‘形容词(副词)+地+动词’。您的意思是否是:完美"地"贯通 Context: ...续内容中详细介绍),以实现对审批流程人员编排。这样,前后端之间的连接就实现了完美的贯通。 ![PDM](./imgs/pdm.png) ### 技术实现细节 ... (wb4) </details> <details> <summary>docs/api/settings-panel-api.md</summary> [uncategorized] ~5-~5: 成分累赘: “来自” “于” 不一起使用,请删除 “于”:"来自"。 Context: # 设置面板模块API ## 变量绑定 变量绑定列表中的变量可能来自于其他元应用。 目前提供一种在元应用中注册变量绑定列表来源的方法:首先在元应用配... (wb2) </details> <details> <summary>docs/api/backend-api/app-services.md</summary> [misspelling] ~51-~51: Use “an” instead of ‘a’ if the following word starts with a vowel sound, e.g. ‘an article’, ‘an hour’. Context: ... </table> ## 获取页面/区块源码 <a id=获取页面/区块源码> </a> ### 基本信息 **Path:**... (EN_A_VS_AN) --- [misspelling] ~85-~85: Use “an” instead of ‘a’ if the following word starts with a vowel sound, e.g. ‘an article’, ‘an hour’. Context: ... </table> ## 页面/区块预览用元数据 <a id=页面/区块预览用元数据> </a> ### 基本信息 **Path:... (EN_A_VS_AN) </details> <details> <summary>docs/development-getting-started/quick-start.md</summary> [uncategorized] ~14-~14: 动词的修饰一般为‘形容词(副词)+地+动词’。您的意思是否是:必要"地"开发 Context: ...t 代码版本管理⼯具 - chrome浏览器 110+ 版本 - 以及其他必要的开发前端开发环境、⼯具等。 ## 二、Tiny Engine CLI ... (wb4) --- [uncategorized] ~64-~64: 动词的修饰一般为‘形容词(副词)+地+动词’。您的意思是否是:新"地"插 Context: ... 另起一个终端,在当前目录下,输入下面命令,选择创建plugin类型,创建一个新的插件 ```shell npx @opentiny/tiny-engine-c... (wb4) --- [uncategorized] ~102-~102: 动词的修饰一般为‘形容词(副词)+地+动词’。您的意思是否是:新"地"插 Context: ...#### 2.2.3 开发调试插件 重新打开项目页面,可以看到侧边栏多了一个新的插件: ![cli-plugin-open](./imgs/cli-plugi... (wb4) </details> <details> <summary>docs/basic-features/page-and-block-preview.md</summary> [uncategorized] ~5-~5: 动词的修饰一般为‘形容词(副词)+地+动词’。您的意思是否是:最终"地"表现 Context: ... 在一些场景下,设计器的画布并不能使得我们直观的感受到所设计的区块或者页面最终的表现。比如说,当页面上区块和组件应用层次较多,区块之间或者组件之间交互行为较为复... (wb4) --- [uncategorized] ~5-~5: 您不可用“是”来表达个形容词。大部分人都平常用“很”来代替“是”。您是不是想表达"很困难"? Context: ...组件之间交互行为较为复杂时,我们在画布上去清晰的感知页面的静态布局以及动态交互很是困难,这时候就需要设计器的**页面/区块预览**能力来为开发提供帮助 ### 页面... (SHI_ADHECTIVE_ERROR) </details> <details> <summary>docs/getting-started/introduction.md</summary> [uncategorized] ~23-~23: 动词的修饰一般为‘形容词(副词)+地+动词’。您的意思是否是:强大"地"开放 Context: ...nyEngine 有开放的物料协议和扩展接口:得益于 TinyEngine 强大的开放物料设计,可直接导入第三方组件库,例如 elementUI 和 AntDes... (wb4) </details> <details> <summary>docs/extension-capabilities-tutorial/code-output-function/code-output-overview-and-usage.md</summary> [uncategorized] ~34-~34: 1.动词被副词修饰时,助词应该用‘得’;2.省略宾语时,助词应该用‘的’;可能造成歧义。您的意思是不是:膨胀"得"非常巨大 Context: ...但是,在我们实战经验中却发现随着需求的变更以及时间的变迁,运行时引擎的代码会膨胀的非常巨大,运行时引擎内部的架构也越来越复杂,会带来一些明显的痛点: - 由于运... (wb4) --- [uncategorized] ~40-~40: 动词的修饰一般为‘形容词(副词)+地+动词’。您的意思是否是:完美"地"解决 Context: ...用低代码搭建的场景)。 在经历一番探索之后,我们发现使用出码的方案可以相对完美的解决以上痛点: - 运行时引擎仅在设计态搭建页面的时候存在,正式上线的代码是人... (wb4) </details> <details> <summary>docs/advanced-features/js-panel-and-event-binding.md</summary> [uncategorized] ~90-~90: 成分累赘: “来自” “于” 不一起使用,请删除 “于”:"来自"。 Context: ...签名需参考组件的文档 1. 首先在页面JS中定义渲染函数,这里的函数参数的定义来自于 TinyVue 的文档 ![在页面JS中定义渲染函数](./imgs/pag... (wb2) --- [uncategorized] ~103-~103: 动词的修饰一般为‘形容词(副词)+地+动词’。您的意思是否是:方便"地"提供 Context: ...够很方便的为元素或区块添加事件,通过可视化的优势快速定位到某个元素。同时也很方便的提供一些状态获取方法,国际化词条获取方法等。 (wb4) </details> </details> </details> <details> <summary>🔇 Additional comments (27)</summary> <details> <summary>docs/generateCatalogMd.js (2)</summary> `8-32`: **Safeguard against empty or missing chapters.** If `catalog.chapters` is null or undefined, `catalog.chapters.forEach(...)` will throw an error. Consider checking for validity before iterating. --- `18-25`: **Be mindful of `replaceAll` compatibility.** `replaceAll` requires Node.js 15+ for full support. If the environment uses older Node versions, consider a fallback or use a regex-based replacement. </details> <details> <summary>docs/about-designer/customize-designer.md (2)</summary> `1-4`: **Documentation clarity looks good.** The heading and summary clearly outline the topic. This section effectively explains the designer's purpose and how to customize it. No immediate changes required. --- `9-9`: **Verify image references.** The image `buildPlatform1.png` may not exist or could be misnamed. Confirm the correct file name and path to avoid broken links in the generated docs. </details> <details> <summary>docs/about-designer/introduction.md (1)</summary> `5-5`: **Double-check image reference.** Confirm the path `./imgs/platformExpend.png` is accurate and that the file exists to prevent broken image links. </details> <details> <summary>docs/about-materials/create-material-asset-package.md (1)</summary> `10-10`: **Verify the referenced image file exists** The documentation references an image `createMaterial.gif`. Let's verify its existence and accessibility. <details> <summary>✅ Verification successful</summary> **Image file exists and is correctly referenced** The image file `createMaterial.gif` exists at the expected path `docs/about-materials/imgs/createMaterial.gif`, and the relative path in the documentation `./imgs/createMaterial.gif` correctly points to this location. </details> <details> <summary>🏁 Scripts executed</summary> The following scripts were executed for the analysis: Script: ```shell #!/bin/bash # Check if the image file exists fd -t f "createMaterial.gif" docs/about-materials/imgs/
Length of output: 100
docs/ecosystem-center/introduction.md (1)
5-5
: Verify the referenced image file exists
The documentation references an image ecology1.png
. Let's verify its existence and accessibility.
✅ Verification successful
Image file exists and is correctly referenced
The image file ecology1.png
exists at the expected location docs/ecosystem-center/imgs/
, and the relative path ./imgs/ecology1.png
in the documentation correctly references it.
🏁 Scripts executed
The following scripts were executed for the analysis:
Script:
#!/bin/bash
# Check if the image file exists
fd -t f "ecology1.png" docs/ecosystem-center/imgs/
Length of output: 90
docs/basic-features/state-management-and-variable-binding.md (1)
7-7
: Verify all referenced image files exist
The documentation references multiple images. Let's verify their existence and accessibility.
Also applies to: 13-13, 19-19
✅ Verification successful
All referenced image files are present and accessible
The verification confirms that all the required image files exist in the correct location:
docs/basic-features/imgs/state1.gif
docs/basic-features/imgs/state2.gif
docs/basic-features/imgs/state3.png
🏁 Scripts executed
The following scripts were executed for the analysis:
Script:
#!/bin/bash
# Check if all referenced image files exist
fd -t f "state[1-3].(gif|png)" docs/basic-features/imgs/
Length of output: 166
docs/about-materials/add-library-and-blocks.md (2)
1-19
: LGTM! Well-structured documentation with clear steps.
The content is logically organized and provides clear instructions for adding and removing component libraries and blocks.
8-8
: Verify image references exist in the repository.
Let's verify that all referenced images exist in the correct location:
Also applies to: 11-11, 14-14, 17-17
✅ Verification successful
All referenced images exist in the correct location
All the image files referenced in the markdown document are present in the expected docs/about-materials/imgs/
directory:
- createMaterialLib.png
- createMaterialBlock.png
- createMaterialLibCancel.png
- createMaterialBlockCancel.png
🏁 Scripts executed
The following scripts were executed for the analysis:
Script:
#!/bin/bash
# Check if the referenced images exist
for img in "createMaterialLib.png" "createMaterialBlock.png" "createMaterialLibCancel.png" "createMaterialBlockCancel.png"; do
if ! fd -p "docs/about-materials/imgs/${img}$"; then
echo "Missing image: ${img}"
fi
done
Length of output: 959
docs/advanced-features/data-source-and-collection-mock-data.md (1)
1-21
: LGTM! Clear and comprehensive documentation of mock data functionality.
The content provides a well-structured guide for working with mock data in data sources.
docs/basic-features/page-and-block-preview.md (1)
1-25
: LGTM! Well-structured preview feature documentation.
The content provides a clear explanation of the preview feature's purpose and functionality.
🧰 Tools
🪛 LanguageTool
[uncategorized] ~5-~5: 动词的修饰一般为‘形容词(副词)+地+动词’。您的意思是否是:最终"地"表现
Context: ... 在一些场景下,设计器的画布并不能使得我们直观的感受到所设计的区块或者页面最终的表现。比如说,当页面上区块和组件应用层次较多,区块之间或者组件之间交互行为较为复...
(wb4)
[uncategorized] ~5-~5: 您不可用“是”来表达个形容词。大部分人都平常用“很”来代替“是”。您是不是想表达"很困难"?
Context: ...组件之间交互行为较为复杂时,我们在画布上去清晰的感知页面的静态布局以及动态交互很是困难,这时候就需要设计器的页面/区块预览能力来为开发提供帮助 ### 页面...
(SHI_ADHECTIVE_ERROR)
docs/advanced-features/data-source-and-collection-remote-fields.md (1)
9-9
: Verify image paths and add alt text descriptions.
The image references use relative paths (./imgs/
) which might be broken. Additionally, consider adding more descriptive alt text for better accessibility.
Example format:
![Data source configuration interface showing URL and method settings](./imgs/dataSource1.png)
Also applies to: 11-13
✅ Verification successful
Image paths are valid, but alt text improvements recommended
The verification confirms that all referenced images (dataSource1.png through dataSource4.png) exist in the correct relative path docs/advanced-features/imgs/
. While the image paths are working correctly, the suggestion to improve alt text descriptions for better accessibility remains valid.
- Line 9:
![数据源设置](./imgs/dataSource1.png)
- Consider using a more descriptive English alt text - Lines 11-13: Similar improvements recommended for other image references
🏁 Scripts executed
The following scripts were executed for the analysis:
Script:
#!/bin/bash
# Check if the referenced images exist
for img in dataSource{1..4}.png; do
fd -p "imgs/$img$" docs/advanced-features/
done
Length of output: 535
docs/about-materials/introduction.md (2)
1-9
: LGTM! Well-structured introduction to materials
The content provides a clear and technically accurate explanation of materials, distinguishing between component libraries and blocks. The hierarchical structure with proper Markdown formatting enhances readability.
16-16
: Verify the image path and add alt text
The image reference uses a relative path which is good. However, let's verify its existence and enhance accessibility.
Consider adding more descriptive alt text for better accessibility:
-![view-material](./imgs/materialPanel.png)
+![Material panel showing component and block collections in the designer interface](./imgs/materialPanel.png)
✅ Verification successful
Add descriptive alt text for better accessibility
The image exists at the correct path, but it lacks descriptive alt text which is important for accessibility. Adding meaningful alt text will help screen reader users understand the content of the image.
-![view-material](./imgs/materialPanel.png)
+![Material panel showing component and block collections in the designer interface](./imgs/materialPanel.png)
🏁 Scripts executed
The following scripts were executed for the analysis:
Script:
#!/bin/bash
# Verify image existence and suggest improvements
if [ -f "docs/about-materials/imgs/materialPanel.png" ]; then
echo "✓ Image exists"
else
echo "⨯ Image not found at: docs/about-materials/imgs/materialPanel.png"
fi
Length of output: 95
docs/about-designer/customize-material-package-themes-dsl-toolbar-plugins.md (1)
7-20
: LGTM! Well-organized customization guide
The content provides clear instructions for customizing different aspects of the designer. The use of numbered lists and images enhances understanding.
Let's verify all referenced images exist:
✅ Verification successful
All referenced images are present and correctly linked
The verification confirms that all 5 images referenced in the documentation (defineMaterial.png
, defineTheme.png
, defineDsl.png
, defineTools.png
, and definePlugs.png
) exist in the expected docs/about-designer/imgs/
directory. The documentation's image references are valid and complete.
🏁 Scripts executed
The following scripts were executed for the analysis:
Script:
#!/bin/bash
# Verify all images referenced in the document
images=("defineMaterial.png" "defineTheme.png" "defineDsl.png" "defineTools.png" "definePlugs.png")
for img in "${images[@]}"; do
if [ -f "docs/about-designer/imgs/$img" ]; then
echo "✓ Found: $img"
else
echo "⨯ Missing: $img"
fi
done
Length of output: 809
docs/advanced-features/conditional-rendering.md (1)
10-10
: Verify image references and fix broken links
The PR objectives mention missing images linked to not-found
. Please ensure these image references are valid:
./imgs/addvar-15.png
./imgs/state-isLogin为false时.png
./imgs/state-isLogin为ture时.png
Also applies to: 25-25, 29-29
✅ Verification successful
All referenced images are present and correctly linked
The verification shows that all three image files exist in the correct location under docs/advanced-features/imgs/
:
- ✓
addvar-15.png
- ✓
state-isLogin为false时.png
- ✓
state-isLogin为ture时.png
The image references in the documentation are valid and properly linked. No broken links were found.
🏁 Scripts executed
The following scripts were executed for the analysis:
Script:
#!/bin/bash
# Check if referenced images exist
for img in addvar-15.png "state-isLogin为false时.png" "state-isLogin为ture时.png"; do
fd -t f "$img" docs/
done
Length of output: 547
docs/extension-capabilities-tutorial/customize-plugin-ui.md (1)
7-11
: LGTM! Clear explanation of plugin UI customization options.
The documentation clearly explains the available customization properties (title
, icon
, align
) and their purposes.
docs/basic-features/intro-to-designer.md (1)
15-29
: LGTM! Comprehensive toolbar functionality description.
The documentation provides a clear and complete list of toolbar functions with good explanations for each feature.
docs/advanced-features/advanced-panel-settings.md (1)
10-10
: Verify image references
The PR objectives mention missing images linked to not-found
. Please ensure the following image references are properly linked and accessible:
./imgs/conditionRender.gif
./imgs/useLoop.gif
./imgs/bindEvent.gif
Also applies to: 19-19, 48-48
✅ Verification successful
All referenced images are present and properly linked
The verification confirms that all the referenced images exist in the correct location:
docs/advanced-features/imgs/conditionRender.gif
docs/advanced-features/imgs/useLoop.gif
docs/advanced-features/imgs/bindEvent.gif
The relative paths in the documentation are correctly pointing to these files, and all images are accessible.
🏁 Scripts executed
The following scripts were executed for the analysis:
Script:
#!/bin/bash
# Check if the referenced images exist
for img in conditionRender.gif useLoop.gif bindEvent.gif; do
fd -t f "$img" docs/advanced-features/imgs/
done
Length of output: 469
docs/ecosystem-center/how-to-import-library.md (1)
9-9
: Verify image availability
The image reference ./imgs/componentLibInfo.png
appears to be missing according to the PR objectives. Please ensure all referenced images are properly added to the repository.
✅ Verification successful
Image files are present in the repository
All referenced images, including componentLibInfo.png
, are present in the correct location at docs/ecosystem-center/imgs/
. The image paths in the documentation are correctly specified relative to the markdown file.
🏁 Scripts executed
The following scripts were executed for the analysis:
Script:
#!/bin/bash
# Check if referenced images exist
fd -e png -e jpg -e jpeg -e gif "componentLibInfo.png|componentConfigBase.png|componentConfigSchema.png|componentConfigTec.png" .
Length of output: 341
docs/extension-capabilities-tutorial/code-output-function/how-to-customize-code-output.md (1)
1-121
: Documentation is well-structured and comprehensive
The tutorial provides clear explanations, proper code examples, and helpful diagrams. The content flows logically from basic concepts to advanced customization.
docs/extension-capabilities-tutorial/develop-configurator-components.md (1)
7-7
: LGTM: Image references are properly formatted
The image references use correct relative paths and appropriate file formats (PNG for static image, GIF for demonstration).
Also applies to: 144-144
docs/development-getting-started/quick-start.md (1)
31-31
: Version reference is correct
The CLI version @opentiny/[email protected]
matches the latest stable version as indicated in the retrieved learnings.
docs/advanced-features/how-to-use-slots.md (1)
45-45
: Fix broken image link.
The image link ./imgs/defineslot.gif
appears to be broken. Please ensure the image file exists in the correct location and update the path if necessary.
✅ Verification successful
Image path is correct and file exists
The image file defineslot.gif
exists at the correct relative path ./imgs/defineslot.gif
from the markdown file's location in docs/advanced-features/how-to-use-slots.md
. The image link is working as expected.
🏁 Scripts executed
The following scripts were executed for the analysis:
Script:
#!/bin/bash
# Check if the image exists
fd -t f "defineslot.gif" ./docs
Length of output: 76
docs/advanced-features/using-utils-methods.md (1)
16-16
: Fix broken image link.
The image link not-found/zh-cn_image_0000001994511922.png
appears to be broken. Please ensure the image file exists in the correct location and update the path if necessary.
docs/extension-capabilities-tutorial/code-output-function/how-to-customize-code-output-plugins.md (1)
6-6
:
Fix broken image references in the documentation.
Several image references are used in the documentation but according to the PR objectives, there are issues with missing images. Please ensure all referenced images are properly added to the repository:
- plugin1.png
- plugin2.png
- plugin3.png
- plugin4.png
- plugin5.png
- plugin6.png
- plugin7.png
Also applies to: 56-56, 62-62, 91-91, 138-138
|
||
# app-service | ||
|
||
## 传入schema生成代码 | ||
|
||
<a id=传入schema生成代码> </a> | ||
|
||
### 基本信息 | ||
|
||
**Path:** /api/schema2code | ||
|
||
**Method:** POST | ||
|
||
**接口描述:** | ||
|
||
|
||
### 请求参数 | ||
|
||
**Headers** | ||
|
||
| 参数名称 | 参数值 | 是否必须 | 示例 | 备注 | | ||
| ------------ | ---------------- | -------- | ---- | ---- | | ||
| Content-Type | application/json | 是 | | | | ||
|
||
**Body** | ||
|
||
<table> | ||
<thead class="ant-table-thead"> | ||
<tr> | ||
<th key=name>名称</th><th key=type>类型</th><th key=required>是否必须</th><th key=default>默认值</th><th key=desc>备注</th><th key=sub>其他信息</th> | ||
</tr> | ||
</thead><tbody className="ant-table-tbody"><tr key=0-0><td key=0><span style="padding-left: 0px"><span style="color: #8c8a8a"></span> framework</span></td><td key=1><span>string</span></td><td key=2>非必须</td><td key=3></td><td key=4><span style="white-space: pre-wrap"></span></td><td key=5></td></tr><tr key=0-1><td key=0><span style="padding-left: 0px"><span style="color: #8c8a8a"></span> pageInfo</span></td><td key=1><span>object</span></td><td key=2>非必须</td><td key=3></td><td key=4><span style="white-space: pre-wrap"></span></td><td key=5></td></tr><tr key=0-1-0><td key=0><span style="padding-left: 20px"><span style="color: #8c8a8a">├─</span> name</span></td><td key=1><span>string</span></td><td key=2>非必须</td><td key=3></td><td key=4><span style="white-space: pre-wrap"></span></td><td key=5></td></tr><tr key=0-1-1><td key=0><span style="padding-left: 20px"><span style="color: #8c8a8a">├─</span> schema</span></td><td key=1><span>object</span></td><td key=2>非必须</td><td key=3></td><td key=4><span style="white-space: pre-wrap"></span></td><td key=5></td></tr><tr key=0-1-1-0><td key=0><span style="padding-left: 40px"><span style="color: #8c8a8a">├─</span> componentName</span></td><td key=1><span>string</span></td><td key=2>非必须</td><td key=3></td><td key=4><span style="white-space: pre-wrap"></span></td><td key=5></td></tr><tr key=0-1-1-1><td key=0><span style="padding-left: 40px"><span style="color: #8c8a8a">├─</span> css</span></td><td key=1><span>string</span></td><td key=2>非必须</td><td key=3></td><td key=4><span style="white-space: pre-wrap"></span></td><td key=5></td></tr><tr key=0-1-1-2><td key=0><span style="padding-left: 40px"><span style="color: #8c8a8a">├─</span> props</span></td><td key=1><span>object</span></td><td key=2>非必须</td><td key=3></td><td key=4><span style="white-space: pre-wrap"></span></td><td key=5></td></tr><tr key=0-1-1-3><td key=0><span style="padding-left: 40px"><span style="color: #8c8a8a">├─</span> lifeCycles</span></td><td key=1><span>object</span></td><td key=2>非必须</td><td key=3></td><td key=4><span style="white-space: pre-wrap"></span></td><td key=5></td></tr><tr key=0-1-1-4><td key=0><span style="padding-left: 40px"><span style="color: #8c8a8a">├─</span> children</span></td><td key=1><span>object []</span></td><td key=2>非必须</td><td key=3></td><td key=4><span style="white-space: pre-wrap"></span></td><td key=5><p key=3><span style="font-weight: '700'">item 类型: </span><span>object</span></p></td></tr><tr key=0-1-1-4-0><td key=0><span style="padding-left: 60px"><span style="color: #8c8a8a">├─</span> componentName</span></td><td key=1><span>string</span></td><td key=2>必须</td><td key=3></td><td key=4><span style="white-space: pre-wrap"></span></td><td key=5></td></tr><tr key=0-1-1-4-1><td key=0><span style="padding-left: 60px"><span style="color: #8c8a8a">├─</span> props</span></td><td key=1><span>object</span></td><td key=2>必须</td><td key=3></td><td key=4><span style="white-space: pre-wrap"></span></td><td key=5></td></tr><tr key=0-1-1-4-1-0><td key=0><span style="padding-left: 80px"><span style="color: #8c8a8a">├─</span> text</span></td><td key=1><span>object</span></td><td key=2>非必须</td><td key=3></td><td key=4><span style="white-space: pre-wrap"></span></td><td key=5></td></tr><tr key=0-1-1-4-1-0-0><td key=0><span style="padding-left: 100px"><span style="color: #8c8a8a">├─</span> key</span></td><td key=1><span>string</span></td><td key=2>非必须</td><td key=3></td><td key=4><span style="white-space: pre-wrap"></span></td><td key=5></td></tr><tr key=0-1-1-4-1-0-1><td key=0><span style="padding-left: 100px"><span style="color: #8c8a8a">├─</span> type</span></td><td key=1><span>string</span></td><td key=2>非必须</td><td key=3></td><td key=4><span style="white-space: pre-wrap"></span></td><td key=5></td></tr><tr key=0-1-1-4-1-0-2><td key=0><span style="padding-left: 100px"><span style="color: #8c8a8a">├─</span> en_US</span></td><td key=1><span>string</span></td><td key=2>非必须</td><td key=3></td><td key=4><span style="white-space: pre-wrap"></span></td><td key=5></td></tr><tr key=0-1-1-4-1-0-3><td key=0><span style="padding-left: 100px"><span style="color: #8c8a8a">├─</span> zh_CN</span></td><td key=1><span>string</span></td><td key=2>非必须</td><td key=3></td><td key=4><span style="white-space: pre-wrap"></span></td><td key=5></td></tr><tr key=0-1-1-4-1-1><td key=0><span style="padding-left: 80px"><span style="color: #8c8a8a">├─</span> className</span></td><td key=1><span>string</span></td><td key=2>非必须</td><td key=3></td><td key=4><span style="white-space: pre-wrap"></span></td><td key=5></td></tr><tr key=0-1-1-4-1-2><td key=0><span style="padding-left: 80px"><span style="color: #8c8a8a">├─</span> onClick</span></td><td key=1><span>object</span></td><td key=2>非必须</td><td key=3></td><td key=4><span style="white-space: pre-wrap"></span></td><td key=5></td></tr><tr key=0-1-1-4-1-2-0><td key=0><span style="padding-left: 100px"><span style="color: #8c8a8a">├─</span> type</span></td><td key=1><span>string</span></td><td key=2>非必须</td><td key=3></td><td key=4><span style="white-space: pre-wrap"></span></td><td key=5></td></tr><tr key=0-1-1-4-1-2-1><td key=0><span style="padding-left: 100px"><span style="color: #8c8a8a">├─</span> value</span></td><td key=1><span>string</span></td><td key=2>非必须</td><td key=3></td><td key=4><span style="white-space: pre-wrap"></span></td><td key=5></td></tr><tr key=0-1-1-4-1-3><td key=0><span style="padding-left: 80px"><span style="color: #8c8a8a">├─</span> style</span></td><td key=1><span>string</span></td><td key=2>非必须</td><td key=3></td><td key=4><span style="white-space: pre-wrap"></span></td><td key=5></td></tr><tr key=0-1-1-4-2><td key=0><span style="padding-left: 60px"><span style="color: #8c8a8a">├─</span> id</span></td><td key=1><span>string</span></td><td key=2>必须</td><td key=3></td><td key=4><span style="white-space: pre-wrap"></span></td><td key=5></td></tr><tr key=0-1-1-4-3><td key=0><span style="padding-left: 60px"><span style="color: #8c8a8a">├─</span> componentType</span></td><td key=1><span>string</span></td><td key=2>非必须</td><td key=3></td><td key=4><span style="white-space: pre-wrap"></span></td><td key=5></td></tr><tr key=0-1-1-5><td key=0><span style="padding-left: 40px"><span style="color: #8c8a8a">├─</span> dataSource</span></td><td key=1><span>object</span></td><td key=2>非必须</td><td key=3></td><td key=4><span style="white-space: pre-wrap"></span></td><td key=5></td></tr><tr key=0-1-1-5-0><td key=0><span style="padding-left: 60px"><span style="color: #8c8a8a">├─</span> list</span></td><td key=1><span>string []</span></td><td key=2>非必须</td><td key=3></td><td key=4><span style="white-space: pre-wrap"></span></td><td key=5><p key=3><span style="font-weight: '700'">item 类型: </span><span>string</span></p></td></tr><tr key=array-87><td key=0><span style="padding-left: 80px"><span style="color: #8c8a8a">├─</span> </span></td><td key=1><span></span></td><td key=2>非必须</td><td key=3></td><td key=4><span style="white-space: pre-wrap"></span></td><td key=5></td></tr><tr key=0-1-1-6><td key=0><span style="padding-left: 40px"><span style="color: #8c8a8a">├─</span> state</span></td><td key=1><span>object</span></td><td key=2>非必须</td><td key=3></td><td key=4><span style="white-space: pre-wrap"></span></td><td key=5></td></tr><tr key=0-1-1-7><td key=0><span style="padding-left: 40px"><span style="color: #8c8a8a">├─</span> methods</span></td><td key=1><span>object</span></td><td key=2>非必须</td><td key=3></td><td key=4><span style="white-space: pre-wrap"></span></td><td key=5></td></tr><tr key=0-1-1-7-0><td key=0><span style="padding-left: 60px"><span style="color: #8c8a8a">├─</span> onClick_new</span></td><td key=1><span>object</span></td><td key=2>非必须</td><td key=3></td><td key=4><span style="white-space: pre-wrap"></span></td><td key=5></td></tr><tr key=0-1-1-7-0-0><td key=0><span style="padding-left: 80px"><span style="color: #8c8a8a">├─</span> type</span></td><td key=1><span>string</span></td><td key=2>非必须</td><td key=3></td><td key=4><span style="white-space: pre-wrap"></span></td><td key=5></td></tr><tr key=0-1-1-7-0-1><td key=0><span style="padding-left: 80px"><span style="color: #8c8a8a">├─</span> value</span></td><td key=1><span>string</span></td><td key=2>非必须</td><td key=3></td><td key=4><span style="white-space: pre-wrap"></span></td><td key=5></td></tr><tr key=0-1-1-8><td key=0><span style="padding-left: 40px"><span style="color: #8c8a8a">├─</span> utils</span></td><td key=1><span>string []</span></td><td key=2>非必须</td><td key=3></td><td key=4><span style="white-space: pre-wrap"></span></td><td key=5><p key=3><span style="font-weight: '700'">item 类型: </span><span>string</span></p></td></tr><tr key=array-88><td key=0><span style="padding-left: 60px"><span style="color: #8c8a8a">├─</span> </span></td><td key=1><span></span></td><td key=2>非必须</td><td key=3></td><td key=4><span style="white-space: pre-wrap"></span></td><td key=5></td></tr><tr key=0-1-1-9><td key=0><span style="padding-left: 40px"><span style="color: #8c8a8a">├─</span> bridge</span></td><td key=1><span>string []</span></td><td key=2>非必须</td><td key=3></td><td key=4><span style="white-space: pre-wrap"></span></td><td key=5><p key=3><span style="font-weight: '700'">item 类型: </span><span>string</span></p></td></tr><tr key=array-89><td key=0><span style="padding-left: 60px"><span style="color: #8c8a8a">├─</span> </span></td><td key=1><span></span></td><td key=2>非必须</td><td key=3></td><td key=4><span style="white-space: pre-wrap"></span></td><td key=5></td></tr><tr key=0-1-1-10><td key=0><span style="padding-left: 40px"><span style="color: #8c8a8a">├─</span> inputs</span></td><td key=1><span>string []</span></td><td key=2>非必须</td><td key=3></td><td key=4><span style="white-space: pre-wrap"></span></td><td key=5><p key=3><span style="font-weight: '700'">item 类型: </span><span>string</span></p></td></tr><tr key=array-90><td key=0><span style="padding-left: 60px"><span style="color: #8c8a8a">├─</span> </span></td><td key=1><span></span></td><td key=2>非必须</td><td key=3></td><td key=4><span style="white-space: pre-wrap"></span></td><td key=5></td></tr><tr key=0-1-1-11><td key=0><span style="padding-left: 40px"><span style="color: #8c8a8a">├─</span> outputs</span></td><td key=1><span>string []</span></td><td key=2>非必须</td><td key=3></td><td key=4><span style="white-space: pre-wrap"></span></td><td key=5><p key=3><span style="font-weight: '700'">item 类型: </span><span>string</span></p></td></tr><tr key=array-91><td key=0><span style="padding-left: 60px"><span style="color: #8c8a8a">├─</span> </span></td><td key=1><span></span></td><td key=2>非必须</td><td key=3></td><td key=4><span style="white-space: pre-wrap"></span></td><td key=5></td></tr> | ||
</tbody> | ||
</table> | ||
|
||
|
||
### 返回数据 | ||
|
||
<table> | ||
<thead class="ant-table-thead"> | ||
<tr> | ||
<th key=name>名称</th><th key=type>类型</th><th key=required>是否必须</th><th key=default>默认值</th><th key=desc>备注</th><th key=sub>其他信息</th> | ||
</tr> | ||
</thead><tbody className="ant-table-tbody"><tr key=0-0><td key=0><span style="padding-left: 0px"><span style="color: #8c8a8a"></span> data</span></td><td key=1><span>object []</span></td><td key=2>非必须</td><td key=3></td><td key=4><span style="white-space: pre-wrap"></span></td><td key=5><p key=3><span style="font-weight: '700'">item 类型: </span><span>object</span></p></td></tr><tr key=0-0-0><td key=0><span style="padding-left: 20px"><span style="color: #8c8a8a">├─</span> panelName</span></td><td key=1><span>string</span></td><td key=2>非必须</td><td key=3></td><td key=4><span style="white-space: pre-wrap">文件名称</span></td><td key=5></td></tr><tr key=0-0-1><td key=0><span style="padding-left: 20px"><span style="color: #8c8a8a">├─</span> panelValue</span></td><td key=1><span>string</span></td><td key=2>非必须</td><td key=3></td><td key=4><span style="white-space: pre-wrap">文件内容</span></td><td key=5></td></tr><tr key=0-0-2><td key=0><span style="padding-left: 20px"><span style="color: #8c8a8a">├─</span> panelType</span></td><td key=1><span>string</span></td><td key=2>非必须</td><td key=3></td><td key=4><span style="white-space: pre-wrap">文件类型</span></td><td key=5></td></tr><tr key=0-0-3><td key=0><span style="padding-left: 20px"><span style="color: #8c8a8a">├─</span> prettierOpts</span></td><td key=1><span>object</span></td><td key=2>非必须</td><td key=3></td><td key=4><span style="white-space: pre-wrap">代码格式选项</span></td><td key=5></td></tr><tr key=0-0-3-0><td key=0><span style="padding-left: 40px"><span style="color: #8c8a8a">├─</span> printWidth</span></td><td key=1><span>number</span></td><td key=2>非必须</td><td key=3></td><td key=4><span style="white-space: pre-wrap">指定每行代码的最大列数</span></td><td key=5></td></tr><tr key=0-0-3-1><td key=0><span style="padding-left: 40px"><span style="color: #8c8a8a">├─</span> semi</span></td><td key=1><span>boolean</span></td><td key=2>非必须</td><td key=3></td><td key=4><span style="white-space: pre-wrap">控制是否在语句末尾添加分号</span></td><td key=5></td></tr><tr key=0-0-3-2><td key=0><span style="padding-left: 40px"><span style="color: #8c8a8a">├─</span> singleQuote</span></td><td key=1><span>boolean</span></td><td key=2>非必须</td><td key=3></td><td key=4><span style="white-space: pre-wrap">控制是否使用单引号代替双引号作为字符串的引号样式</span></td><td key=5></td></tr><tr key=0-0-3-3><td key=0><span style="padding-left: 40px"><span style="color: #8c8a8a">├─</span> trailingComma</span></td><td key=1><span>string</span></td><td key=2>非必须</td><td key=3></td><td key=4><span style="white-space: pre-wrap">控制对象和数组字面量中最后一个属性或元素后面是否添加尾随逗号</span></td><td key=5></td></tr><tr key=0-0-3-4><td key=0><span style="padding-left: 40px"><span style="color: #8c8a8a">├─</span> parser</span></td><td key=1><span>string</span></td><td key=2>非必须</td><td key=3></td><td key=4><span style="white-space: pre-wrap">指定要使用的解析器</span></td><td key=5></td></tr><tr key=0-0-3-5><td key=0><span style="padding-left: 40px"><span style="color: #8c8a8a">├─</span> htmlWhitespaceSensitivity</span></td><td key=1><span>string</span></td><td key=2>非必须</td><td key=3></td><td key=4><span style="white-space: pre-wrap">用于控制 HTML 文件中空白字符的敏感度。该选项支持三个值: "css":保留仅对 CSS 属性之前和之后的空白字符进行格式化。 "strict":保留所有空白字符,并尽可能保持原样。 "ignore":忽略所有空白字符,除非它们出现在标签之间。</span></td><td key=5></td></tr><tr key=0-0-4><td key=0><span style="padding-left: 20px"><span style="color: #8c8a8a">├─</span> type</span></td><td key=1><span>string</span></td><td key=2>非必须</td><td key=3></td><td key=4><span style="white-space: pre-wrap">类型</span></td><td key=5></td></tr><tr key=0-0-5><td key=0><span style="padding-left: 20px"><span style="color: #8c8a8a">├─</span> index</span></td><td key=1><span>boolean</span></td><td key=2>非必须</td><td key=3></td><td key=4><span style="white-space: pre-wrap">索引</span></td><td key=5></td></tr><tr key=0-0-6><td key=0><span style="padding-left: 20px"><span style="color: #8c8a8a">├─</span> filePath</span></td><td key=1><span>string</span></td><td key=2>非必须</td><td key=3></td><td key=4><span style="white-space: pre-wrap">文件路径</span></td><td key=5></td></tr> | ||
</tbody> | ||
</table> | ||
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
🛠️ Refactor suggestion
Document error responses and status codes
The API documentation should include possible error responses and HTTP status codes for better error handling by clients.
Add a section like:
### Error Responses
| Status Code | Description | Example Response |
|-------------|-------------|------------------|
| 400 | Invalid request parameters | `{"error": "Invalid schema format"}` |
| 401 | Unauthorized | `{"error": "Authentication required"}` |
| 403 | Forbidden | `{"error": "Insufficient permissions"}` |
| 500 | Server error | `{"error": "Internal server error"}` |
🧰 Tools
🪛 Markdownlint (0.37.0)
19-19: null
Emphasis used instead of a heading
(MD036, no-emphasis-as-heading)
25-25: null
Emphasis used instead of a heading
(MD036, no-emphasis-as-heading)
<table> | ||
<thead class="ant-table-thead"> | ||
<tr> | ||
<th key=name>名称</th><th key=type>类型</th><th key=required>是否必须</th><th key=default>默认值</th><th key=desc>备注</th><th key=sub>其他信息</th> | ||
</tr> | ||
</thead><tbody className="ant-table-tbody"><tr key=0-0><td key=0><span style="padding-left: 0px"><span style="color: #8c8a8a"></span> data</span></td><td key=1><span>object</span></td><td key=2>必须</td><td key=3></td><td key=4><span style="white-space: pre-wrap"></span></td><td key=5></td></tr><tr key=0-0-0><td key=0><span style="padding-left: 20px"><span style="color: #8c8a8a">├─</span> id</span></td><td key=1><span>number</span></td><td key=2>必须</td><td key=3></td><td key=4><span style="white-space: pre-wrap">数据源ID</span></td><td key=5><p key=5><span style="font-weight: '700'">mock: </span><span>@integer</span></p></td></tr><tr key=0-0-1><td key=0><span style="padding-left: 20px"><span style="color: #8c8a8a">├─</span> name</span></td><td key=1><span>string</span></td><td key=2>必须</td><td key=3></td><td key=4><span style="white-space: pre-wrap">数据源名称: 字母下划线开头,只包含英文字母数字下划线,长度200以内</span></td><td key=5><p key=5><span style="font-weight: '700'">mock: </span><span>@string</span></p></td></tr><tr key=0-0-2><td key=0><span style="padding-left: 20px"><span style="color: #8c8a8a">├─</span> data</span></td><td key=1><span>object</span></td><td key=2>必须</td><td key=3></td><td key=4><span style="white-space: pre-wrap">数据源的数据json串</span></td><td key=5></td></tr><tr key=0-0-3><td key=0><span style="padding-left: 20px"><span style="color: #8c8a8a">├─</span> tpl</span></td><td key=1><span>string</span></td><td key=2>必须</td><td key=3></td><td key=4><span style="white-space: pre-wrap">数据源模板ID</span></td><td key=5><p key=5><span style="font-weight: '700'">mock: </span><span>@integer</span></p></td></tr><tr key=0-0-4><td key=0><span style="padding-left: 20px"><span style="color: #8c8a8a">├─</span> app</span></td><td key=1><span>string</span></td><td key=2>必须</td><td key=3></td><td key=4><span style="white-space: pre-wrap">数据源所属应用ID</span></td><td key=5><p key=5><span style="font-weight: '700'">mock: </span><span>@integer</span></p></td></tr><tr key=0-0-5><td key=0><span style="padding-left: 20px"><span style="color: #8c8a8a">├─</span> desc</span></td><td key=1><span>string</span></td><td key=2>非必须</td><td key=3></td><td key=4><span style="white-space: pre-wrap">数据源描述</span></td><td key=5></td></tr><tr key=0-0-6><td key=0><span style="padding-left: 20px"><span style="color: #8c8a8a">├─</span> created_at</span></td><td key=1><span>string</span></td><td key=2>非必须</td><td key=3></td><td key=4><span style="white-space: pre-wrap">创建时间</span></td><td key=5><p key=5><span style="font-weight: '700'">mock: </span><span>@time</span></p></td></tr><tr key=0-0-7><td key=0><span style="padding-left: 20px"><span style="color: #8c8a8a">├─</span> updated_at</span></td><td key=1><span>string</span></td><td key=2>非必须</td><td key=3></td><td key=4><span style="white-space: pre-wrap">更新时间</span></td><td key=5><p key=5><span style="font-weight: '700'">mock: </span><span>@time</span></p></td></tr> | ||
</tbody> | ||
</table> |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
🛠️ Refactor suggestion
Document validation rules and constraints
The API documentation should clearly specify validation rules for input parameters.
Add validation rules section:
### Validation Rules
| Parameter | Rules |
|-----------|-------|
| name | - Must start with letter or underscore
- Can only contain letters, numbers, underscores
- Maximum length: 200 characters |
| app | - Must be a valid application ID
- Must be numeric
- Application must exist |
| tpl | - Must be a valid template ID
- Must be numeric
- Template must exist |
<table> | ||
<thead class="ant-table-thead"> | ||
<tr> | ||
<th key=name>名称</th><th key=type>类型</th><th key=required>是否必须</th><th key=default>默认值</th><th key=desc>备注</th><th key=sub>其他信息</th> | ||
</tr> | ||
</thead><tbody className="ant-table-tbody"><tr key=0-0><td key=0><span style="padding-left: 0px"><span style="color: #8c8a8a"></span> data</span></td><td key=1><span>object</span></td><td key=2>非必须</td><td key=3></td><td key=4><span style="white-space: pre-wrap"></span></td><td key=5></td></tr><tr key=0-0-0><td key=0><span style="padding-left: 20px"><span style="color: #8c8a8a">├─</span> data</span></td><td key=1><span>object</span></td><td key=2>非必须</td><td key=3></td><td key=4><span style="white-space: pre-wrap"></span></td><td key=5></td></tr><tr key=0-0-0-0><td key=0><span style="padding-left: 40px"><span style="color: #8c8a8a">├─</span> key</span></td><td key=1><span>string</span></td><td key=2>非必须</td><td key=3></td><td key=4><span style="white-space: pre-wrap"></span></td><td key=5></td></tr><tr key=0-0-1><td key=0><span style="padding-left: 20px"><span style="color: #8c8a8a">├─</span> name</span></td><td key=1><span>string</span></td><td key=2>必须</td><td key=3></td><td key=4><span style="white-space: pre-wrap">数据源名称</span></td><td key=5><p key=5><span style="font-weight: '700'">mock: </span><span>@string</span></p></td></tr><tr key=0-0-2><td key=0><span style="padding-left: 20px"><span style="color: #8c8a8a">├─</span> id</span></td><td key=1><span>number</span></td><td key=2>必须</td><td key=3></td><td key=4><span style="white-space: pre-wrap">数据源ID</span></td><td key=5><p key=5><span style="font-weight: '700'">mock: </span><span>@integer</span></p></td></tr><tr key=0-0-3><td key=0><span style="padding-left: 20px"><span style="color: #8c8a8a">├─</span> tpl</span></td><td key=1><span>string</span></td><td key=2>必须</td><td key=3></td><td key=4><span style="white-space: pre-wrap">数据源模板ID</span></td><td key=5><p key=5><span style="font-weight: '700'">mock: </span><span>@integer</span></p></td></tr><tr key=0-0-4><td key=0><span style="padding-left: 20px"><span style="color: #8c8a8a">├─</span> app</span></td><td key=1><span>string</span></td><td key=2>必须</td><td key=3></td><td key=4><span style="white-space: pre-wrap">数据源所属应用ID</span></td><td key=5><p key=5><span style="font-weight: '700'">mock: </span><span>@integer</span></p></td></tr><tr key=0-0-5><td key=0><span style="padding-left: 20px"><span style="color: #8c8a8a">├─</span> created_at</span></td><td key=1><span>string</span></td><td key=2>非必须</td><td key=3></td><td key=4><span style="white-space: pre-wrap">创建时间</span></td><td key=5></td></tr><tr key=0-0-6><td key=0><span style="padding-left: 20px"><span style="color: #8c8a8a">├─</span> updated_at</span></td><td key=1><span>string</span></td><td key=2>非必须</td><td key=3></td><td key=4><span style="white-space: pre-wrap">更新时间</span></td><td key=5></td></tr><tr key=0-0-7><td key=0><span style="padding-left: 20px"><span style="color: #8c8a8a">├─</span> desc</span></td><td key=1><span>string</span></td><td key=2>非必须</td><td key=3></td><td key=4><span style="white-space: pre-wrap">数据源描述</span></td><td key=5><p key=5><span style="font-weight: '700'">mock: </span><span>@string</span></p></td></tr> | ||
</tbody> |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Fix inconsistent parameter types in response schema
There are inconsistencies in the parameter types between request and response:
tpl
isnumber
in request butstring
in responseapp
isnumber
in request butstring
in response
Update the response schema to match request types:
-"tpl": { "type": "string" },
-"app": { "type": "string" },
+"tpl": { "type": "number" },
+"app": { "type": "number" },
Committable suggestion skipped: line range outside the PR's diff.
English | 简体中文
PR
PR Checklist
Please check if your PR fulfills the following requirements:
PR Type
What kind of change does this PR introduce?
Background and solution
添加文档
What is the current behavior?
Issue Number: N/A
What is the new behavior?
Does this PR introduce a breaking change?
Other information
遗留事项
not-found
,public_sys-resources
链接的图片Summary by CodeRabbit
New Features
Documentation
Bug Fixes