neo-cmp-cli 1.8.0 → 1.8.2
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
|
@@ -243,9 +243,93 @@ module.exports = {
|
|
|
243
243
|
|
|
244
244
|
### 3. 使用平台实体数据源
|
|
245
245
|
|
|
246
|
-
|
|
246
|
+
可在自定义组件中使用 OpenAPI SDK 对接平台实体数据源,详细使用方法见 [neo-open-api](https://www.npmjs.com/package/neo-open-api)。
|
|
247
|
+
|
|
248
|
+
```typescript
|
|
249
|
+
import { xObject } from 'neo-open-api';
|
|
250
|
+
|
|
251
|
+
// 查询联系人列表
|
|
252
|
+
const {data: contacts} = await xObject.query({
|
|
253
|
+
xObjectApiKey: 'Contact',
|
|
254
|
+
fields: ['name', 'phone', 'email'],
|
|
255
|
+
page: 1,
|
|
256
|
+
pageSize: 20,
|
|
257
|
+
orderBy: 'createdAt desc'
|
|
258
|
+
});
|
|
259
|
+
|
|
260
|
+
// 创建新联系人
|
|
261
|
+
const {data: newContact} = await xObject.create('Contact', {
|
|
262
|
+
data: {
|
|
263
|
+
name: '王五',
|
|
264
|
+
phone: '13700137000',
|
|
265
|
+
email: 'wangwu@example.com'
|
|
266
|
+
}
|
|
267
|
+
});
|
|
268
|
+
|
|
269
|
+
// 更新联系人
|
|
270
|
+
const {data: updatedContact} = await xObject.update('Contact', newContact.id, {
|
|
271
|
+
data: {
|
|
272
|
+
name: '王五(更新)'
|
|
273
|
+
}
|
|
274
|
+
});
|
|
275
|
+
|
|
276
|
+
// 获取联系人详情
|
|
277
|
+
const {data: contactDetail} = await xObject.get('Contact', newContact.id);
|
|
278
|
+
|
|
279
|
+
// 删除联系人
|
|
280
|
+
await xObject.delete('Contact', newContact.id);
|
|
281
|
+
```
|
|
282
|
+
|
|
283
|
+
|
|
284
|
+
### 4. 使用平台自定义API
|
|
285
|
+
|
|
286
|
+
可在自定义组件中使用 OpenAPI SDK 对接平台自定义API,详细使用方法见 [neo-open-api](https://www.npmjs.com/package/neo-open-api)。
|
|
287
|
+
|
|
288
|
+
```typescript
|
|
289
|
+
import { customApi } from 'neo-open-api';
|
|
290
|
+
|
|
291
|
+
// 基本用法
|
|
292
|
+
const result = await customApi.run({
|
|
293
|
+
apiUrl: '/rest/custom/api/endpoint', // 自定义API地址
|
|
294
|
+
methodType: 'POST', // 请求方法,如 'GET', 'POST', 'PUT', 'DELETE' 等(可选,默认为 'POST')
|
|
295
|
+
data: { // 请求数据
|
|
296
|
+
key1: 'value1',
|
|
297
|
+
key2: 'value2'
|
|
298
|
+
}
|
|
299
|
+
});
|
|
300
|
+
```
|
|
301
|
+
|
|
302
|
+
**参数说明:**
|
|
303
|
+
- `apiUrl`: 自定义API的完整地址(必填)
|
|
304
|
+
- `methodType` 或 `method`: 请求方法,默认为 'POST'
|
|
305
|
+
- `data`: 请求数据对象,会被包装在 `data` 字段中发送
|
|
306
|
+
|
|
307
|
+
**返回结果:**
|
|
308
|
+
```typescript
|
|
309
|
+
{
|
|
310
|
+
status: boolean, // 返回 true 表示执行成功
|
|
311
|
+
code: number | string, // 返回码
|
|
312
|
+
msg: string, // 一般用于返回错误信息
|
|
313
|
+
data: any // API返回的数据
|
|
314
|
+
}
|
|
315
|
+
```
|
|
316
|
+
|
|
317
|
+
**使用示例:**
|
|
318
|
+
```typescript
|
|
319
|
+
import { customApi } from 'neo-open-api';
|
|
320
|
+
|
|
321
|
+
// 执行自定义API
|
|
322
|
+
const result = await customApi.run({
|
|
323
|
+
apiUrl: '/rest/custom/api/processData',
|
|
324
|
+
methodType: 'POST',
|
|
325
|
+
data: {
|
|
326
|
+
param1: 'value1',
|
|
327
|
+
param2: 'value2'
|
|
328
|
+
}
|
|
329
|
+
});
|
|
330
|
+
```
|
|
247
331
|
|
|
248
|
-
###
|
|
332
|
+
### 5. 默认复用平台第三方依赖
|
|
249
333
|
|
|
250
334
|
自定义组件构建过程中默认会剔除掉平台已有依赖模块(比如 antd、echarts、axios、lodash 等),确保自定义组件构建后的资源体积较小。
|
|
251
335
|
|
|
@@ -276,7 +360,7 @@ module.exports = {
|
|
|
276
360
|
|
|
277
361
|
> **注意**:自定义组件中请使用依赖包支持的版本,如版本不匹配运行时可能出现异常。
|
|
278
362
|
|
|
279
|
-
###
|
|
363
|
+
### 6. 本地调试自定义组件
|
|
280
364
|
|
|
281
365
|
#### 步骤 1:启动外链调试模式
|
|
282
366
|
|
|
@@ -294,7 +378,7 @@ neo linkDebug
|
|
|
294
378
|
|
|
295
379
|
页面设计器开启 debug 模式后,左侧会展示**外部链接**管理面板。将第 1 步生成的「外链脚本地址」添加进来,即可在此页面设计器 / 组件物料面板中看到对应自定义组件。
|
|
296
380
|
|
|
297
|
-
###
|
|
381
|
+
### 7. 发布自定义组件至 NeoCRM
|
|
298
382
|
|
|
299
383
|
执行 `neo push cmp` 即可构建并发布自定义组件至 NeoCRM 平台,其构建后资源也会上传到 NeoCRM 平台端提供的 CDN 中。
|
|
300
384
|
|
|
@@ -342,7 +426,7 @@ A: 请检查 `neo.config.js` 文件中是否配置了 `neoConfig.auth`,确保
|
|
|
342
426
|
|
|
343
427
|
发布成功后,即可在对应租户环境下的页面设计器和表单设计器中使用此自定义组件。
|
|
344
428
|
|
|
345
|
-
###
|
|
429
|
+
### 8. 拉取线上自定义组件至本地项目
|
|
346
430
|
|
|
347
431
|
执行 `neo pull cmp` 即可从 NeoCRM 平台拉取自定义组件源码到当前项目。该命令会将线上自定义组件的源码下载并解析到当前项目的 `src/components` 目录下。
|
|
348
432
|
|
|
@@ -370,7 +454,7 @@ neo pull cmp -n xxCmp
|
|
|
370
454
|
- 如果组件源码中包含新增的依赖包,拉取完成后会提示执行 `npm install` 或 `yarn install`
|
|
371
455
|
- zip 源文件会保留在 `.neo-cli/zip-source` 目录下,可手动删除
|
|
372
456
|
|
|
373
|
-
###
|
|
457
|
+
### 9. 删除线上自定义组件
|
|
374
458
|
|
|
375
459
|
执行 `neo delete cmp` 即可从 NeoCRM 平台删除指定的自定义组件。该命令会删除平台上的自定义组件,删除后该组件将无法在页面设计器和表单设计器中使用。
|
|
376
460
|
|
|
@@ -397,7 +481,7 @@ neo delete cmp -n xxCmp
|
|
|
397
481
|
- ⚠️ **影响范围**:删除组件后,所有使用该组件的页面和表单将受到影响,请确保没有正在使用的场景
|
|
398
482
|
- 💡 **建议先备份**:删除前建议先使用 `neo pull cmp` 拉取组件源码到本地进行备份
|
|
399
483
|
|
|
400
|
-
###
|
|
484
|
+
### 10. 发布自定义组件至 CDN
|
|
401
485
|
|
|
402
486
|
执行 `neo publish2oss` 即可构建对应自定义组件,并自动将构建后资源上传到对象存储(OSS)中。
|
|
403
487
|
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "neo-cmp-cli",
|
|
3
|
-
"version": "1.8.
|
|
4
|
-
"description": "
|
|
3
|
+
"version": "1.8.2",
|
|
4
|
+
"description": "Neo 自定义组件开发工具,支持react 和 vue2.0技术栈。",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"neo-cli",
|
|
7
7
|
"自定义组件开发工具"
|
|
@@ -34,10 +34,10 @@
|
|
|
34
34
|
},
|
|
35
35
|
"repository": {
|
|
36
36
|
"type": "git",
|
|
37
|
-
"url": "https://
|
|
37
|
+
"url": "https://github.com/xsy-neoui/neo-cmp-cli.git"
|
|
38
38
|
},
|
|
39
39
|
"bugs": {
|
|
40
|
-
"url": "https://github.com/
|
|
40
|
+
"url": "https://github.com/xsy-neoui/neo-cmp-cli/issues"
|
|
41
41
|
},
|
|
42
42
|
"dependencies": {
|
|
43
43
|
"adm-zip": "^0.5.10",
|