@digitalsee-ai/rcs 0.0.14 → 0.0.15

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -1,237 +1,237 @@
1
- ![logo](https://www.digitalsee.cn/_next/static/media/logo_purple.a1d68599.svg)
2
-
3
- # @digitalsee/rcs
4
-
5
- **数犀 React 组件库**
6
-
7
-
8
- 为数犀内部提供跨工程运行的React组件服务
9
-
10
-
11
- ---
12
-
13
- ## 📦 安装
14
-
15
- 使用 pnpm(推荐):
16
- ```bash
17
- pnpm add @digitalsee/rcs
18
- ```
19
-
20
- 使用 npm:
21
- ```bash
22
- npm install @digitalsee/rcs
23
- ```
24
-
25
- 使用 yarn:
26
- ```bash
27
- yarn add @digitalsee/rcs
28
- ```
29
-
30
- ## ✨ 特性
31
-
32
- - 🎨 **工作流编辑器** - 基于 ReactFlow 的强大可视化工作流编辑器
33
- - 📊 **数据可视化** - 内置 JSON 渲染器和数据展示组件
34
- - 🌍 **国际化支持** - 内置中文(简体/繁体)和英文支持
35
- - 🎯 **TypeScript** - 完整的 TypeScript 类型支持
36
- - 🔧 **可定制** - 灵活的配置和主题定制
37
- - ⚡ **高性能** - 优化的渲染性能和内存使用
38
- - 📱 **响应式** - 适配各种屏幕尺寸
39
-
40
- ## 🚀 快速开始
41
-
42
- ### 基础使用
43
-
44
- ```tsx
45
- import { Workflow } from '@digitalsee/rcs';
46
- import '@digitalsee/rcs/styles.css';
47
-
48
- function App() {
49
- return (
50
- <Workflow
51
- workflowId="my-workflow"
52
- // 更多配置项...
53
- />
54
- );
55
- }
56
- ```
57
-
58
- ### 使用 JsonRenderer
59
-
60
- ```tsx
61
- import { JsonRenderer } from '@digitalsee/rcs';
62
- import '@digitalsee/rcs/styles.css';
63
-
64
- function App() {
65
- const data = {
66
- name: "示例数据",
67
- value: 123
68
- };
69
-
70
- return <JsonRenderer data={data} />;
71
- }
72
- ```
73
-
74
- ## 📚 主要组件
75
-
76
- ### 🔄 Workflow(工作流)
77
-
78
- 完整的可视化工作流编辑器,支持:
79
-
80
- - ✅ 节点的拖拽和连接
81
- - ✅ 自定义节点类型
82
- - ✅ 边的样式和交互
83
- - ✅ 撤销/重做功能
84
- - ✅ 小地图导航
85
- - ✅ 自动布局
86
- - ✅ 调试面板
87
- - ✅ 数据持久化
88
-
89
- **主要特性:**
90
- - 支持多种节点类型(触发器、动作、条件等)
91
- - 灵活的节点配置面板
92
- - 实时数据流调试
93
- - 节点搜索和筛选
94
- - 快捷键支持
95
-
96
- ### 📋 JsonRenderer
97
-
98
- 强大的 JSON 数据渲染组件:
99
- - 语法高亮
100
- - 可折叠/展开
101
- - 搜索功能
102
- - 复制功能
103
-
104
- ## 🔨 开发
105
-
106
- ### 环境要求
107
-
108
- - Node.js >= 22
109
- - pnpm >= 10.12.1
110
-
111
- ### 开发命令
112
-
113
- ```bash
114
- # 安装依赖
115
- pnpm install
116
-
117
- # 启动 Storybook 开发环境
118
- pnpm dev
119
-
120
- # 构建组件库
121
- pnpm build:vite
122
-
123
- # 运行测试
124
- pnpm test
125
-
126
- # 代码格式化
127
- pnpm format
128
-
129
- # 代码检查
130
- pnpm lint
131
- ```
132
-
133
- ### 构建输出
134
-
135
- ```bash
136
- # 构建并发布新版本
137
- pnpm update:version
138
- ```
139
-
140
- 构建产物包括:
141
- - `dist/rcs.es.js` - ES Module 格式
142
- - `dist/rcs.umd.js` - UMD 格式
143
- - `dist/rcs.css` - 样式文件
144
- - `dist/index.d.ts` - TypeScript 类型定义
145
-
146
- ## 🎨 技术栈
147
-
148
- - **核心框架**: React 19+
149
- - **状态管理**: Redux Toolkit
150
- - **流程图**: @xyflow/react
151
- - **UI 组件**: Ant Design 5+ / Ant Design Pro Components
152
- - **样式方案**: Tailwind CSS + Less
153
- - **代码编辑器**: Monaco Editor / CodeMirror
154
- - **富文本**: Slate.js
155
- - **构建工具**: Vite
156
- - **文档工具**: Storybook
157
- - **代码质量**: Biome
158
- - **测试框架**: Vitest
159
-
160
- ## 📖 依赖要求
161
-
162
- ### Peer Dependencies
163
-
164
- 确保你的项目中已安装以下依赖:
165
-
166
- - `react` >= 18.0.0
167
- - `react-dom` >= 18.0.0
168
- - `antd` >= 5.0.0
169
- - `@ant-design/icons` >= 5.0.0
170
- - `@ant-design/pro-components` >= 2.0.0
171
- - `@reduxjs/toolkit` >= 2.0.0
172
- - `react-redux` >= 9.0.0
173
- - `@xyflow/react` >= 12.0.0
174
- - `ahooks` >= 3.0.0
175
- - `lodash-es` >= 4.17.0
176
-
177
- ## 🌐 国际化
178
-
179
- 组件库内置多语言支持:
180
-
181
- ```tsx
182
- import { IntlProvider } from 'react-intl';
183
- import zhCN from '@digitalsee/rcs/locales/zh-CN';
184
-
185
- <IntlProvider locale="zh-CN" messages={zhCN}>
186
- <Workflow />
187
- </IntlProvider>
188
- ```
189
-
190
- 支持的语言:
191
- - 🇨🇳 简体中文 (zh-CN)
192
- - 🇹🇼 繁体中文 (zh-TW)
193
- - 🇺🇸 英文 (en-US)
194
-
195
- ## 📝 版本管理
196
-
197
- ```bash
198
- # 补丁版本 (0.0.x)
199
- pnpm bump
200
-
201
- # 次要版本 (0.x.0)
202
- pnpm bump:minor
203
-
204
- # 主要版本 (x.0.0)
205
- pnpm bump:major
206
- ```
207
-
208
- ## 🤝 贡献
209
-
210
- 欢迎提交 Issue 和 Pull Request!
211
-
212
- ### 开发流程
213
-
214
- 1. Fork 本仓库
215
- 2. 创建你的特性分支 (`git checkout -b feature/AmazingFeature`)
216
- 3. 提交你的改动 (`git commit -m 'Add some AmazingFeature'`)
217
- 4. 推送到分支 (`git push origin feature/AmazingFeature`)
218
- 5. 提交 Pull Request
219
-
220
- ### 代码规范
221
-
222
- 项目使用 Biome 进行代码检查和格式化:
223
- ```bash
224
- pnpm format # 自动格式化代码
225
- pnpm lint # 检查代码问题
226
- ```
227
-
228
-
229
- ## 🔗 相关链接
230
-
231
- - [数犀官网](https://www.digitalsee.cn)
232
-
233
- ---
234
-
235
- <div align="center">
236
- Made with ❤️ by <a href="https://www.digitalsee.cn">数犀 DigitalSee</a>
237
- </div>
1
+ ![logo](https://www.digitalsee.cn/_next/static/media/logo_purple.a1d68599.svg)
2
+
3
+ # @digitalsee/rcs
4
+
5
+ **数犀 React 组件库**
6
+
7
+
8
+ 为数犀内部提供跨工程运行的React组件服务
9
+
10
+
11
+ ---
12
+
13
+ ## 📦 安装
14
+
15
+ 使用 pnpm(推荐):
16
+ ```bash
17
+ pnpm add @digitalsee/rcs
18
+ ```
19
+
20
+ 使用 npm:
21
+ ```bash
22
+ npm install @digitalsee/rcs
23
+ ```
24
+
25
+ 使用 yarn:
26
+ ```bash
27
+ yarn add @digitalsee/rcs
28
+ ```
29
+
30
+ ## ✨ 特性
31
+
32
+ - 🎨 **工作流编辑器** - 基于 ReactFlow 的强大可视化工作流编辑器
33
+ - 📊 **数据可视化** - 内置 JSON 渲染器和数据展示组件
34
+ - 🌍 **国际化支持** - 内置中文(简体/繁体)和英文支持
35
+ - 🎯 **TypeScript** - 完整的 TypeScript 类型支持
36
+ - 🔧 **可定制** - 灵活的配置和主题定制
37
+ - ⚡ **高性能** - 优化的渲染性能和内存使用
38
+ - 📱 **响应式** - 适配各种屏幕尺寸
39
+
40
+ ## 🚀 快速开始
41
+
42
+ ### 基础使用
43
+
44
+ ```tsx
45
+ import { Workflow } from '@digitalsee/rcs';
46
+ import '@digitalsee/rcs/styles.css';
47
+
48
+ function App() {
49
+ return (
50
+ <Workflow
51
+ workflowId="my-workflow"
52
+ // 更多配置项...
53
+ />
54
+ );
55
+ }
56
+ ```
57
+
58
+ ### 使用 JsonRenderer
59
+
60
+ ```tsx
61
+ import { JsonRenderer } from '@digitalsee/rcs';
62
+ import '@digitalsee/rcs/styles.css';
63
+
64
+ function App() {
65
+ const data = {
66
+ name: "示例数据",
67
+ value: 123
68
+ };
69
+
70
+ return <JsonRenderer data={data} />;
71
+ }
72
+ ```
73
+
74
+ ## 📚 主要组件
75
+
76
+ ### 🔄 Workflow(工作流)
77
+
78
+ 完整的可视化工作流编辑器,支持:
79
+
80
+ - ✅ 节点的拖拽和连接
81
+ - ✅ 自定义节点类型
82
+ - ✅ 边的样式和交互
83
+ - ✅ 撤销/重做功能
84
+ - ✅ 小地图导航
85
+ - ✅ 自动布局
86
+ - ✅ 调试面板
87
+ - ✅ 数据持久化
88
+
89
+ **主要特性:**
90
+ - 支持多种节点类型(触发器、动作、条件等)
91
+ - 灵活的节点配置面板
92
+ - 实时数据流调试
93
+ - 节点搜索和筛选
94
+ - 快捷键支持
95
+
96
+ ### 📋 JsonRenderer
97
+
98
+ 强大的 JSON 数据渲染组件:
99
+ - 语法高亮
100
+ - 可折叠/展开
101
+ - 搜索功能
102
+ - 复制功能
103
+
104
+ ## 🔨 开发
105
+
106
+ ### 环境要求
107
+
108
+ - Node.js >= 22
109
+ - pnpm >= 10.12.1
110
+
111
+ ### 开发命令
112
+
113
+ ```bash
114
+ # 安装依赖
115
+ pnpm install
116
+
117
+ # 启动 Storybook 开发环境
118
+ pnpm dev
119
+
120
+ # 构建组件库
121
+ pnpm build:vite
122
+
123
+ # 运行测试
124
+ pnpm test
125
+
126
+ # 代码格式化
127
+ pnpm format
128
+
129
+ # 代码检查
130
+ pnpm lint
131
+ ```
132
+
133
+ ### 构建输出
134
+
135
+ ```bash
136
+ # 构建并发布新版本
137
+ pnpm update:version
138
+ ```
139
+
140
+ 构建产物包括:
141
+ - `dist/rcs.es.js` - ES Module 格式
142
+ - `dist/rcs.umd.js` - UMD 格式
143
+ - `dist/rcs.css` - 样式文件
144
+ - `dist/index.d.ts` - TypeScript 类型定义
145
+
146
+ ## 🎨 技术栈
147
+
148
+ - **核心框架**: React 19+
149
+ - **状态管理**: Redux Toolkit
150
+ - **流程图**: @xyflow/react
151
+ - **UI 组件**: Ant Design 5+ / Ant Design Pro Components
152
+ - **样式方案**: Tailwind CSS + Less
153
+ - **代码编辑器**: Monaco Editor / CodeMirror
154
+ - **富文本**: Slate.js
155
+ - **构建工具**: Vite
156
+ - **文档工具**: Storybook
157
+ - **代码质量**: Biome
158
+ - **测试框架**: Vitest
159
+
160
+ ## 📖 依赖要求
161
+
162
+ ### Peer Dependencies
163
+
164
+ 确保你的项目中已安装以下依赖:
165
+
166
+ - `react` >= 18.0.0
167
+ - `react-dom` >= 18.0.0
168
+ - `antd` >= 5.0.0
169
+ - `@ant-design/icons` >= 5.0.0
170
+ - `@ant-design/pro-components` >= 2.0.0
171
+ - `@reduxjs/toolkit` >= 2.0.0
172
+ - `react-redux` >= 9.0.0
173
+ - `@xyflow/react` >= 12.0.0
174
+ - `ahooks` >= 3.0.0
175
+ - `lodash-es` >= 4.17.0
176
+
177
+ ## 🌐 国际化
178
+
179
+ 组件库内置多语言支持:
180
+
181
+ ```tsx
182
+ import { IntlProvider } from 'react-intl';
183
+ import zhCN from '@digitalsee/rcs/locales/zh-CN';
184
+
185
+ <IntlProvider locale="zh-CN" messages={zhCN}>
186
+ <Workflow />
187
+ </IntlProvider>
188
+ ```
189
+
190
+ 支持的语言:
191
+ - 🇨🇳 简体中文 (zh-CN)
192
+ - 🇹🇼 繁体中文 (zh-TW)
193
+ - 🇺🇸 英文 (en-US)
194
+
195
+ ## 📝 版本管理
196
+
197
+ ```bash
198
+ # 补丁版本 (0.0.x)
199
+ pnpm bump
200
+
201
+ # 次要版本 (0.x.0)
202
+ pnpm bump:minor
203
+
204
+ # 主要版本 (x.0.0)
205
+ pnpm bump:major
206
+ ```
207
+
208
+ ## 🤝 贡献
209
+
210
+ 欢迎提交 Issue 和 Pull Request!
211
+
212
+ ### 开发流程
213
+
214
+ 1. Fork 本仓库
215
+ 2. 创建你的特性分支 (`git checkout -b feature/AmazingFeature`)
216
+ 3. 提交你的改动 (`git commit -m 'Add some AmazingFeature'`)
217
+ 4. 推送到分支 (`git push origin feature/AmazingFeature`)
218
+ 5. 提交 Pull Request
219
+
220
+ ### 代码规范
221
+
222
+ 项目使用 Biome 进行代码检查和格式化:
223
+ ```bash
224
+ pnpm format # 自动格式化代码
225
+ pnpm lint # 检查代码问题
226
+ ```
227
+
228
+
229
+ ## 🔗 相关链接
230
+
231
+ - [数犀官网](https://www.digitalsee.cn)
232
+
233
+ ---
234
+
235
+ <div align="center">
236
+ Made with ❤️ by <a href="https://www.digitalsee.cn">数犀 DigitalSee</a>
237
+ </div>
@@ -30,5 +30,11 @@ export declare enum DynamicFormFileds {
30
30
  /** 多选列表 */
31
31
  MULTI_SELECT_LIST = "MULTI_SELECT_LIST",
32
32
  /** 小时分钟选择器 */
33
- SYNC_HOUR_MINUTE = "SYNC_HOUR_MINUTE"
33
+ SYNC_HOUR_MINUTE = "SYNC_HOUR_MINUTE",
34
+ /** 鉴权Token */
35
+ AUTH_TOKEN = "AUTH_TOKEN",
36
+ /** SECRET_KEY 配合HMAC */
37
+ SECRET_KEY = "SECRET_KEY",
38
+ /** 选择OAuth2客户端 */
39
+ SELECT_CLIENT = "SELECT_CLIENT"
34
40
  }
@@ -45,6 +45,8 @@ export interface WorkflowApiEndpoints {
45
45
  removeEdges: string;
46
46
  selectOptions: string;
47
47
  flowOpStatus: string;
48
+ getAppList: string;
49
+ subFlowList: string;
48
50
  }
49
51
  export interface WorkflowApiConfig {
50
52
  endpoints: WorkflowApiEndpoints;
@@ -120,4 +122,6 @@ export declare function apiRemoveEdges(flowId: string, edges: string[]): Promise
120
122
  export declare function apiGetSelectOptions(type: string): Promise<unknown>;
121
123
  export declare function updateFlowOpStatus(paramsId: any, opStatus: any): Promise<unknown>;
122
124
  export declare const apiGetAcountInstanceV2: (linkId: string, actionAccountSchemaId?: string) => Promise<unknown>;
125
+ export declare const getAppList: (params: any, formData?: any) => Promise<unknown>;
126
+ export declare const fetchSubFlowList: (name: any, formData?: any) => Promise<unknown>;
123
127
  export {};
@@ -0,0 +1,11 @@
1
+ import { IFieldSuperProps } from '../../../NodesConfig/components/FormFieldRenderer/fields/super';
2
+ interface AuthTokenFieldProps extends IFieldSuperProps<string> {
3
+ disabled?: boolean;
4
+ }
5
+ /**
6
+ * @description 鉴权 Token 输入组件,支持显示/隐藏、复制和重新生成
7
+ * @param {AuthTokenFieldProps} props 组件属性
8
+ * @returns {JSX.Element} Token 输入组件
9
+ */
10
+ export declare const AuthTokenField: (props: AuthTokenFieldProps) => import("react/jsx-runtime").JSX.Element;
11
+ export default AuthTokenField;
@@ -0,0 +1,10 @@
1
+ import { default as React } from 'react';
2
+ import { ConfigSubflowProps, ConfigSubflowRef } from './types';
3
+ /**
4
+ * ConfigSubflow 子流程配置组件
5
+ * @description 支持选择子流程并配置参数的表单控件
6
+ */
7
+ declare const ConfigSubflow: React.ForwardRefExoticComponent<ConfigSubflowProps & React.RefAttributes<ConfigSubflowRef>>;
8
+ export default ConfigSubflow;
9
+ export { ConfigSubflow };
10
+ export type { ConfigSubflowProps, ConfigSubflowRef, ConfigSubflowValue, ConfigSubflowError, SubFlowInfo, ParamConfigItem, } from './types';
@@ -0,0 +1,81 @@
1
+ import { IFieldSuperProps } from '../../../NodesConfig/components/FormFieldRenderer/fields/super';
2
+ /**
3
+ * 子流程信息
4
+ * @description 从 /acm/flow/sub-flow/list 接口返回的子流程数据
5
+ * @example
6
+ * {
7
+ * "id": "2016350214829555714",
8
+ * "name": "待调用的子流程-1",
9
+ * "description": null,
10
+ * "params": { "name": "张三", "id": "1" }
11
+ * }
12
+ */
13
+ export interface SubFlowInfo {
14
+ /** 子流程 ID */
15
+ id: string;
16
+ /** 子流程名称 */
17
+ name: string;
18
+ /** 流程描述 */
19
+ description?: string | null;
20
+ /** 子流程的参数配置(key-value 格式,值为示例/默认值) */
21
+ params?: Record<string, string | number | boolean>;
22
+ }
23
+ /**
24
+ * 子流程配置值
25
+ * @description 组件最终输出的配置值结构
26
+ * @example
27
+ * {
28
+ * "flowId": "2016350214829555714",
29
+ * "input": { "id": 1, "name": "张三" }
30
+ * }
31
+ */
32
+ export interface ConfigSubflowValue {
33
+ /** 选择的子流程 ID */
34
+ flowId: string;
35
+ /** 子流程的输入参数配置,key-value 键值对 */
36
+ input: Record<string, unknown>;
37
+ }
38
+ /**
39
+ * ConfigSubflow 组件属性
40
+ * @description 用于 FormItem 的受控组件属性
41
+ */
42
+ export interface ConfigSubflowProps extends IFieldSuperProps<ConfigSubflowValue> {
43
+ /** 是否禁用 */
44
+ disabled?: boolean;
45
+ /** 节点 ID,用于变量选择器 */
46
+ nodeId?: string;
47
+ }
48
+ /**
49
+ * 参数配置项(内部使用)
50
+ * @description key-value 列表中的单项配置
51
+ */
52
+ export interface ParamConfigItem {
53
+ /** 内部唯一标识 */
54
+ id: string;
55
+ /** 参数键名(不可修改) */
56
+ key: string;
57
+ /** 参数值 */
58
+ value: unknown;
59
+ /** 示例值/默认值(来自子流程配置) */
60
+ exampleValue?: string | number | boolean;
61
+ }
62
+ /**
63
+ * ConfigSubflow 组件 ref 暴露的方法
64
+ */
65
+ export interface ConfigSubflowRef {
66
+ /** 校验配置,返回是否通过 */
67
+ validate: () => boolean;
68
+ /** 清除校验错误 */
69
+ clearErrors: () => void;
70
+ }
71
+ /**
72
+ * 校验错误信息
73
+ */
74
+ export interface ConfigSubflowError {
75
+ /** 错误类型 */
76
+ type: 'flow' | 'param';
77
+ /** 参数键名(type 为 param 时有效) */
78
+ paramKey?: string;
79
+ /** 错误信息 */
80
+ message: string;
81
+ }
@@ -0,0 +1,13 @@
1
+ import { default as React } from 'react';
2
+ import { MutilRowGuardProps, MutilRowGuardRef } from './types';
3
+ /**
4
+ * MutilRowGuard 数据校验规则配置组件
5
+ * @description 支持多行规则配置和拖拽排序的表单控件
6
+ * @param {MutilRowGuardProps} props 组件属性
7
+ * @param {React.Ref<MutilRowGuardRef>} ref 组件 ref
8
+ */
9
+ declare const MutilRowGuard: React.ForwardRefExoticComponent<MutilRowGuardProps & React.RefAttributes<MutilRowGuardRef>>;
10
+ export default MutilRowGuard;
11
+ export { MutilRowGuard };
12
+ export { mutilRowGuardValidator, mutilRowGuardRequiredValidator } from './types';
13
+ export type { GuardRule, MutilRowGuardValue, MutilRowGuardProps, MutilRowGuardRef, GuardRuleError } from './types';