Skip to content

Commit 23ef2f2

Browse files
committed
update readme
1 parent eb81e23 commit 23ef2f2

2 files changed

Lines changed: 82 additions & 6 deletions

File tree

README.md

Lines changed: 41 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,8 @@
99
- **动态类型自动补全**:基于 `ScriptMetadata` 提供变量名补全和点号链式访问补全(如 `request.test.name`
1010
- **Groovy 语法提示**:内置 `if`/`for`/`while`/`println`/`return` 等常用 Groovy 语法片段
1111
- **代码格式化**:内置 Groovy 格式化器,也可通过 `onFormat` 自定义格式化逻辑
12-
- **属性面板**:右侧侧边栏展示主函数签名、变量、数据类型(字段和方法),支持折叠/展开和拖拽调节宽度
12+
- **属性面板**:右侧侧边栏展示主函数签名、函数入参、绑定参数、数据类型(字段和方法),支持折叠/展开和拖拽调节宽度
13+
- **脚本说明**:工具栏"脚本说明"按钮,点击展开/收起脚本描述弹框,支持多行文本和 `key: value` 格式高亮
1314
- **主题切换**:暗色/亮色两套主题,编辑器、补全弹窗、属性面板同步切换,编辑器内部管理主题状态
1415
- **全屏模式**:支持 CSS 全屏(`position: fixed` 覆盖视口),不影响编辑器内容
1516
- **自定义工具栏**:通过 `toolbarExtra` 传入任意 React 节点
@@ -127,7 +128,44 @@ function App() {
127128

128129
| 属性 | 类型 | 默认值 | 说明 |
129130
|---|---|---|---|
130-
| `toolbarExtra` | `React.ReactNode` | `undefined` | 工具栏额外内容,渲染在内置按钮之后,可传入任意 JSX |
131+
| `toolbar` | `ToolbarItem[]` | `undefined` | 工具栏自定义按钮列表,渲染在内置按钮之后、`toolbarExtra` 之前 |
132+
| `toolbarExtra` | `React.ReactNode` | `undefined` | 工具栏额外内容,渲染在最后,可传入任意 JSX |
133+
134+
`ToolbarItem` 类型:
135+
136+
```typescript
137+
interface ToolbarItem {
138+
key: string; // 唯一标识
139+
label: ReactNode; // 按钮内容
140+
title: string; // 鼠标悬停提示
141+
backgroundColor: string;
142+
hoverBackgroundColor: string;
143+
textColor: string;
144+
borderColor: string;
145+
onClick: () => void;
146+
}
147+
```
148+
149+
**使用按钮列表:**
150+
151+
```tsx
152+
<ScriptCodeEditor
153+
toolbar={[
154+
{
155+
key: 'save',
156+
label: '💾 保存',
157+
title: '保存脚本',
158+
backgroundColor: '#007bff',
159+
hoverBackgroundColor: '#0056b3',
160+
textColor: '#fff',
161+
borderColor: '#007bff',
162+
onClick: () => saveCode(),
163+
},
164+
]}
165+
/>
166+
```
167+
168+
**使用自定义内容:**
131169

132170
```tsx
133171
<ScriptCodeEditor
@@ -154,7 +192,7 @@ function App() {
154192
interface ScriptMetadata {
155193
/** 主函数名称(可选) */
156194
mainMethod?: string;
157-
/** 主函数描述信息(可选,提供后在属性面板主函数名旁显示悬浮提示*/
195+
/** 脚本说明(可选,提供后在工具栏显示"脚本说明"按钮,点击展开/收起描述弹框*/
158196
description?: string;
159197
/** 注入变量(如 $request,name 含 $ 前缀) */
160198
binds: ScriptBindInfo[];

packages/script-engine/README.md

Lines changed: 41 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,8 @@
99
- **动态类型自动补全**:基于 `ScriptMetadata` 提供变量名补全和点号链式访问补全(如 `request.test.name`
1010
- **Groovy 语法提示**:内置 `if`/`for`/`while`/`println`/`return` 等常用 Groovy 语法片段
1111
- **代码格式化**:内置 Groovy 格式化器,也可通过 `onFormat` 自定义格式化逻辑
12-
- **属性面板**:右侧侧边栏展示主函数签名、变量、数据类型(字段和方法),支持折叠/展开和拖拽调节宽度
12+
- **属性面板**:右侧侧边栏展示主函数签名、函数入参、绑定参数、数据类型(字段和方法),支持折叠/展开和拖拽调节宽度
13+
- **脚本说明**:工具栏"脚本说明"按钮,点击展开/收起脚本描述弹框,支持多行文本和 `key: value` 格式高亮
1314
- **主题切换**:暗色/亮色两套主题,编辑器、补全弹窗、属性面板同步切换,编辑器内部管理主题状态
1415
- **全屏模式**:支持 CSS 全屏(`position: fixed` 覆盖视口),不影响编辑器内容
1516
- **自定义工具栏**:通过 `toolbarExtra` 传入任意 React 节点
@@ -127,7 +128,44 @@ function App() {
127128

128129
| 属性 | 类型 | 默认值 | 说明 |
129130
|---|---|---|---|
130-
| `toolbarExtra` | `React.ReactNode` | `undefined` | 工具栏额外内容,渲染在内置按钮之后,可传入任意 JSX |
131+
| `toolbar` | `ToolbarItem[]` | `undefined` | 工具栏自定义按钮列表,渲染在内置按钮之后、`toolbarExtra` 之前 |
132+
| `toolbarExtra` | `React.ReactNode` | `undefined` | 工具栏额外内容,渲染在最后,可传入任意 JSX |
133+
134+
`ToolbarItem` 类型:
135+
136+
```typescript
137+
interface ToolbarItem {
138+
key: string; // 唯一标识
139+
label: ReactNode; // 按钮内容
140+
title: string; // 鼠标悬停提示
141+
backgroundColor: string;
142+
hoverBackgroundColor: string;
143+
textColor: string;
144+
borderColor: string;
145+
onClick: () => void;
146+
}
147+
```
148+
149+
**使用按钮列表:**
150+
151+
```tsx
152+
<ScriptCodeEditor
153+
toolbar={[
154+
{
155+
key: 'save',
156+
label: '💾 保存',
157+
title: '保存脚本',
158+
backgroundColor: '#007bff',
159+
hoverBackgroundColor: '#0056b3',
160+
textColor: '#fff',
161+
borderColor: '#007bff',
162+
onClick: () => saveCode(),
163+
},
164+
]}
165+
/>
166+
```
167+
168+
**使用自定义内容:**
131169

132170
```tsx
133171
<ScriptCodeEditor
@@ -154,7 +192,7 @@ function App() {
154192
interface ScriptMetadata {
155193
/** 主函数名称(可选) */
156194
mainMethod?: string;
157-
/** 主函数描述信息(可选,提供后在属性面板主函数名旁显示悬浮提示*/
195+
/** 脚本说明(可选,提供后在工具栏显示"脚本说明"按钮,点击展开/收起描述弹框*/
158196
description?: string;
159197
/** 注入变量(如 $request,name 含 $ 前缀) */
160198
binds: ScriptBindInfo[];

0 commit comments

Comments
 (0)