# calculation

计量支付Web 前台部分
- 本程序使用mysql数据库作为数据存储
- 本程序使用redis作为数据缓存

## 快速入门

<!-- 在此次添加使用文档 -->

如需进一步了解，参见 [egg 文档][egg]。

### 本地开发
- 首先导入sql
- 开启redis
- 执行以下命令

```bash
$ npm i
$ npm run dev
$ open http://localhost:7001/
```

### 部署

```bash
$ npm start
$ npm stop
```

### 单元测试
- [egg-bin] 内置了 [mocha], [thunk-mocha], [power-assert], [istanbul] 等框架，让你可以专注于写单元测试，无需理会配套工具。
- 断言库非常推荐使用 [power-assert]。
- 具体参见 [egg 文档 - 单元测试](https://eggjs.org/zh-cn/core/unittest)。

```bash
$ npm run test-local  本地运行单元测试
$ npm test            线上运行单元测试
```

> 注意: 运行单元测试必须停掉运行的网站，命令才能执行成功

### 内置指令

- 使用 `npm run lint` 来做代码风格检查。
- 使用 `npm test` 来执行单元测试。
- 使用 `npm run autod` 来自动检测依赖更新，详细参见 [autod](https://www.npmjs.com/package/autod) 。

### 自动生成代码
```text
// 生成控制器代码 (脚本会自动添加到对应位置)
node tool/builder.js controller:名称

// 生成service代码 (脚本会自动添加到对应位置)
// 表名table为可选参数 不填入则默认为名称的小写
node tool/builder.js service:名称 table:表名

// 生成view代码
// 脚本会自动生成对应名称的文件夹
// 表名folder为可选参数 不填入则默认为名称的小写
node tool/builder.js view:名称 folder:文件夹名称

// 生成一整套代码
// 参数与上面一致
node tool/builder.js all:名称 table:表名 folder:文件夹名称
```

[egg]: https://eggjs.org