# 冷链运输平台

### 环境要求

- go 1.19
- mysql 8.0+
- redis 4.0+

### 关联工具库

#### 导入线上库

go env -w GOPRIVATE=https://gogs.baozhida.cn

#### 导入本地库

go mod edit -replace gogs.baozhida.cn/zoie/OAuth-core=${Yours_Path}/OAuth-core

##### 示列：

```bash
go mod edit -replace gogs.baozhida.cn/zoie/OAuth-core=/Users/work/bzd_project/OAuth-core
```

### 软件架构

go gorm

### 开发工具

开发前需要安装以下工具

- [cobra](https://github.com/spf13/cobra) (optional): CLI tool, 可以生成 cmd.go 文件
- [gin-swagger](https://github.com/swaggo/gin-swagger) (required): 生成swagger文档

### 配置

参考 `conf/setting.yml`

### 编译

```bash
# windows
go build main.go

# macOS or linux 
make build
```

#### 交叉编译

```bash
# windows
env GOOS=windows GOARCH=amd64 go build main.go

# macOS or linux 
env GOOS=linux GOARCH=amd64 go build main.go
```



### 启动服务，也可以用IDE进行调试
启动冷链 FRPC

```shell
# macOS or linux 下使用
$ ./cold-delivery server -c conf/settings.yml


# 注意:windows 下使用
$ cold-delivery.exe server -c conf/settings.yml
```

### 接口文档

#### 生成swag接口文档

./ssh/swag.sh

```bash
swag init --parseDependency --parseInternal
swag init --parseDependency --parseDepth=6
```

#### 访问

```bash
http://localhost:port/swagger/index.html
```

### 角色数据权限

```bash
1 - 全部数据权限
3 - 本机构数据权限
4 - 本机构及以下数据权限
5 - 仅本人数据权限
```
### 开发库
- [validator](https://github.com/bytedance/go-tagexpr) 参数校验