# 快麦工单-移动端-服务大厅

## 前期准备

1. 你需要全局安装pnpm命令,具体可以参考 [pnpm官网](https://www.pnpm.cn/installation)
2. 开发工具安装eslint插件

## 可用的脚本

在项目根目录可以执行以下命令:

### `pnpm dev`

启动项目

### `pnpm build`

打包项目

### `pnpm publish:test`

发布到测试服务

### `pnpm check`

对 packages/service-hall 进行tsc格式校验

### `pnpm lint`

对 packages/**/*.tsx? */ 进行eslint格式校验

### `pnpm lint:js`

对 packages/**/*.jsx? 进行eslint格式校验

### `pnpm format`

调用 prettier 格式化所有**/*.[tj]s?(x)文件

### `pnpm format-check`

调用 prettier 检查所有**/*.[tj]s?(x)文件格式

### `pnpm release`

发布新版本，只是本地npm相关操作

### `pnpm commit`

调用cz，进行格式化commit


## 开发流程

### 单一内容开发

1. 从develop新建feat-xxx/fix-xxx分支
2. 本地开发
3. 提交改动的代码，推荐使用commit脚本`pnpm commit`进行规范化commit
4. 测试通过，合并到develop

### 版本发布

#### 灰度

1. 发布内容直接合并到 `release-gray` 分支，push到远程仓库即可

### 正式

1. 发布内容合并到 `release` 分支
2. 执行 `pnpm release`, 进行归档记录
3. 将`release`分支和新生成的tag 同步到远程仓库，tag变动会自动触发ci
4. 测试通过后，将`release`合并到mater，并推送到远程仓库

#### 本地测试发布

1. 本地开发，发布到测试环境 执行： `pnpm build:test && pnpm publish:test`


## 第三方库

### UI
[Ant Design Mobile](https://mobile.ant.design/zh/components/button)

### ROUTER
[react-router](https://reactrouter.com/en/main)

### STORE
[redux](https://redux.js.org/)
[redux-toolkit](https://redux-toolkit.js.org/)
