# 云开发低码行业SDK

## 快速开始

安装：

```sh
npm install lcap-business-common
```

在行业模板数据源中的某个方法中使用：

```js
const Joi = require('joi');
const { LcapContainer } = require('lcap-business-common');

async function main(params, context) {
    // 1. 初始化容器
    const { services } = new LcapContainer({
        lcDatasourceCtx: context,
    });
    // 2. 访问常用的模块，以及其上的方法和对象
    const { tcbService: { db }, utilService } = services;

    // 3. 使用：校验转换数据源入参
    const schema = Joi.object({
        _id: Joi.string().valid().required(),
    });
    const validParams = utilService.checkParams(params || {}, schema);

    // 4. 使用：读取数据源底层数据表数据
    const col = db.collection('lcap-business-edu-practice');
    return await col.where({}).get()
}

module.exports = main;
```

## 本地开发

本地开发分为 2 部分：
- 数据源方法：只单纯地使用 `lcap-business-common` 库来快速开发行业模板数据源逻辑
- lcap-business-common 库：除了开发行业逻辑，提炼公共模块/方法，可供其他行业复用

### 开发数据源方法

为了能在本地运行数据源方法的代码，看到效果。需要改造下**快速开始**部分的代码。

在 `main()` 定义后，新增代码：

```js
/**
 * 本地测试逻辑
 */
if ((new LcapContainer()).services.configService.isLocalDev()) {
  main({
    _id: 'cbddf0af60e56bf01549e96323e81845',
  }).then((res) => {
    console.log('>>> res is', res);
  });
}
```

本地通过 Node.js 执行文件数据源方法文件即可看到效果。

### 开发 lcap-business-common 库

请使用 `npm link` 方式进行开发。请参考 [如何在本地调试 npm 包](https://github.com/allenGKC/Blog/issues/13)。

## 更多内容

请参考[docs](./docs/readme)
