# calculation 计量支付Web 前台部分 - 本程序使用mysql数据库作为数据存储 - 本程序使用redis作为数据缓存 ## 快速入门 如需进一步了解,参见 [egg 文档][egg]。 ### 开发要求 - 所有文件的写入,均应写入到ctx.app.config.filePath下。其中:临时存储文件(例如导入签约清单,上传文件接受后,将数据导入到数据库后,该文件不会再次使用),应写入cache文件夹,该文件夹会定期清理;其他必需文件,可自行规划存储 ### 本地开发 - 首先导入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