248 lines
5.8 KiB
Markdown
248 lines
5.8 KiB
Markdown
|
|
# INITIAL API
|
|||
|
|
|
|||
|
|
客户端初始化、基础数据和版本更新检查。
|
|||
|
|
|
|||
|
|
> 本文档由 protobuf descriptor 生成。字段名采用 protobuf JSON 名称;64 位整数在 JSON 中应按字符串处理。
|
|||
|
|
|
|||
|
|
## 接入方式
|
|||
|
|
|
|||
|
|
- 动态 HTTP:`POST /rpc/initial/{Service}/{Method}`
|
|||
|
|
- 原生 gRPC:`/initial.{Service}/{Method}`
|
|||
|
|
- grpc-gateway:`POST /initial.{Service}/{Method}`
|
|||
|
|
- 鉴权:需要登录的接口通过 `Authorization: Bearer <token>` 传递凭证。
|
|||
|
|
- 动态 HTTP 成功或失败均返回 HTTP 200,业务状态见 `code`、`message`、`details`。
|
|||
|
|
|
|||
|
|
## 服务概览
|
|||
|
|
|
|||
|
|
| 服务 | 方法数 | 说明 |
|
|||
|
|
|---|---:|---|
|
|||
|
|
| `Check` | 3 | Check 服务 |
|
|||
|
|
| `Data` | 3 | Data 服务 |
|
|||
|
|
|
|||
|
|
## Check
|
|||
|
|
|
|||
|
|
| 方法 | 动态 HTTP 路径 | 请求 | 响应 | 类型 |
|
|||
|
|
|---|---|---|---|---|
|
|||
|
|
| `Hello` | `POST /rpc/initial/Check/Hello` | [`initial.Crc`](#initialcrc) | [`initial.StatusReply`](#initialstatusreply) | Unary |
|
|||
|
|
| `Config` | `POST /rpc/initial/Check/Config` | [`initial.ConfigRequest`](#initialconfigrequest) | [`initial.ConfigReply`](#initialconfigreply) | Unary |
|
|||
|
|
| `Updates` | `POST /rpc/initial/Check/Updates` | [`initial.CheckForUpdatesRequest`](#initialcheckforupdatesrequest) | [`initial.CheckForUpdatesReply`](#initialcheckforupdatesreply) | Unary |
|
|||
|
|
|
|||
|
|
### Check.Hello
|
|||
|
|
|
|||
|
|
- 动态 HTTP:`POST /rpc/initial/Check/Hello`
|
|||
|
|
- gRPC:`/initial.Check/Hello`
|
|||
|
|
- 白名单键:`initial.Check.Hello`
|
|||
|
|
- 请求示例:
|
|||
|
|
|
|||
|
|
```json
|
|||
|
|
{
|
|||
|
|
"code": "string"
|
|||
|
|
}
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
### Check.Config
|
|||
|
|
|
|||
|
|
- 动态 HTTP:`POST /rpc/initial/Check/Config`
|
|||
|
|
- gRPC:`/initial.Check/Config`
|
|||
|
|
- 白名单键:`initial.Check.Config`
|
|||
|
|
- 请求示例:
|
|||
|
|
|
|||
|
|
```json
|
|||
|
|
{
|
|||
|
|
"app": "string",
|
|||
|
|
"os": "string"
|
|||
|
|
}
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
### Check.Updates
|
|||
|
|
|
|||
|
|
- 动态 HTTP:`POST /rpc/initial/Check/Updates`
|
|||
|
|
- gRPC:`/initial.Check/Updates`
|
|||
|
|
- 白名单键:`initial.Check.Updates`
|
|||
|
|
- 请求示例:
|
|||
|
|
|
|||
|
|
```json
|
|||
|
|
{
|
|||
|
|
"app": "string",
|
|||
|
|
"arch": "string",
|
|||
|
|
"os": "string",
|
|||
|
|
"version": "string"
|
|||
|
|
}
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
## Data
|
|||
|
|
|
|||
|
|
| 方法 | 动态 HTTP 路径 | 请求 | 响应 | 类型 |
|
|||
|
|
|---|---|---|---|---|
|
|||
|
|
| `Country` | `POST /rpc/initial/Data/Country` | [`initial.Empty`](#initialempty) | [`initial.CountryReply`](#initialcountryreply) | Unary |
|
|||
|
|
| `Areas` | `POST /rpc/initial/Data/Areas` | [`initial.AreasRequest`](#initialareasrequest) | [`initial.AreasReply`](#initialareasreply) | Unary |
|
|||
|
|
| `Datas` | `POST /rpc/initial/Data/Datas` | [`initial.Empty`](#initialempty) | [`initial.DatasReply`](#initialdatasreply) | Unary |
|
|||
|
|
|
|||
|
|
### Data.Country
|
|||
|
|
|
|||
|
|
- 动态 HTTP:`POST /rpc/initial/Data/Country`
|
|||
|
|
- gRPC:`/initial.Data/Country`
|
|||
|
|
- 白名单键:`initial.Data.Country`
|
|||
|
|
- 请求示例:
|
|||
|
|
|
|||
|
|
```json
|
|||
|
|
{}
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
### Data.Areas
|
|||
|
|
|
|||
|
|
- 动态 HTTP:`POST /rpc/initial/Data/Areas`
|
|||
|
|
- gRPC:`/initial.Data/Areas`
|
|||
|
|
- 白名单键:`initial.Data.Areas`
|
|||
|
|
- 请求示例:
|
|||
|
|
|
|||
|
|
```json
|
|||
|
|
{
|
|||
|
|
"countryCode": "string",
|
|||
|
|
"countryId": 0,
|
|||
|
|
"showTown": false
|
|||
|
|
}
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
### Data.Datas
|
|||
|
|
|
|||
|
|
- 动态 HTTP:`POST /rpc/initial/Data/Datas`
|
|||
|
|
- gRPC:`/initial.Data/Datas`
|
|||
|
|
- 白名单键:`initial.Data.Datas`
|
|||
|
|
- 请求示例:
|
|||
|
|
|
|||
|
|
```json
|
|||
|
|
{}
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
## 消息结构
|
|||
|
|
|
|||
|
|
### initial.AreasItem
|
|||
|
|
|
|||
|
|
| JSON 字段 | 类型 | 规则 |
|
|||
|
|
|---|---|---|
|
|||
|
|
| `id` | `string` | 可选 |
|
|||
|
|
| `pid` | `string` | 可选 |
|
|||
|
|
| `deep` | `int32` | 可选 |
|
|||
|
|
| `name` | `string` | 可选 |
|
|||
|
|
| `pinyinPrefix` | `string` | 可选 |
|
|||
|
|
| `pinyin` | `string` | 可选 |
|
|||
|
|
| `extId` | `string` | 可选 |
|
|||
|
|
| `extName` | `string` | 可选 |
|
|||
|
|
|
|||
|
|
### initial.AreasReply
|
|||
|
|
|
|||
|
|
| JSON 字段 | 类型 | 规则 |
|
|||
|
|
|---|---|---|
|
|||
|
|
| `areas` | `[]initial.AreasItem` | 数组 |
|
|||
|
|
|
|||
|
|
### initial.AreasRequest
|
|||
|
|
|
|||
|
|
| JSON 字段 | 类型 | 规则 |
|
|||
|
|
|---|---|---|
|
|||
|
|
| `countryId` | `int32` | 可选 |
|
|||
|
|
| `countryCode` | `string` | 可选 |
|
|||
|
|
| `showTown` | `bool` | 可选 |
|
|||
|
|
|
|||
|
|
### initial.CheckForUpdatesReply
|
|||
|
|
|
|||
|
|
| JSON 字段 | 类型 | 规则 |
|
|||
|
|
|---|---|---|
|
|||
|
|
| `identity` | `string` | 可选 |
|
|||
|
|
| `version` | `string` | 可选 |
|
|||
|
|
| `summary` | `string` | 可选 |
|
|||
|
|
| `files` | `string` | 可选 |
|
|||
|
|
| `pubdate` | `string` | 可选 |
|
|||
|
|
|
|||
|
|
### initial.CheckForUpdatesRequest
|
|||
|
|
|
|||
|
|
| JSON 字段 | 类型 | 规则 |
|
|||
|
|
|---|---|---|
|
|||
|
|
| `app` | `string` | 可选 |
|
|||
|
|
| `os` | `string` | 可选 |
|
|||
|
|
| `arch` | `string` | 可选 |
|
|||
|
|
| `version` | `string` | 可选 |
|
|||
|
|
|
|||
|
|
### initial.ConfigItem
|
|||
|
|
|
|||
|
|
| JSON 字段 | 类型 | 规则 |
|
|||
|
|
|---|---|---|
|
|||
|
|
| `Identity` | `string` | 可选 |
|
|||
|
|
| `key` | `string` | 可选 |
|
|||
|
|
| `value` | `string` | 可选 |
|
|||
|
|
| `version` | `int64` | 可选 |
|
|||
|
|
|
|||
|
|
### initial.ConfigReply
|
|||
|
|
|
|||
|
|
| JSON 字段 | 类型 | 规则 |
|
|||
|
|
|---|---|---|
|
|||
|
|
| `data` | `[]initial.ConfigItem` | 数组 |
|
|||
|
|
|
|||
|
|
### initial.ConfigRequest
|
|||
|
|
|
|||
|
|
| JSON 字段 | 类型 | 规则 |
|
|||
|
|
|---|---|---|
|
|||
|
|
| `app` | `string` | 可选 |
|
|||
|
|
| `os` | `string` | 可选 |
|
|||
|
|
|
|||
|
|
### initial.CountryItem
|
|||
|
|
|
|||
|
|
| JSON 字段 | 类型 | 规则 |
|
|||
|
|
|---|---|---|
|
|||
|
|
| `id` | `uint32` | 可选 |
|
|||
|
|
| `Iso2` | `string` | 可选 |
|
|||
|
|
| `Iso3` | `string` | 可选 |
|
|||
|
|
| `numCode` | `string` | 可选 |
|
|||
|
|
| `phoneCode` | `string` | 可选 |
|
|||
|
|
| `currency` | `string` | 可选 |
|
|||
|
|
| `currencySymbol` | `string` | 可选 |
|
|||
|
|
| `region` | `string` | 可选 |
|
|||
|
|
| `timezones` | `string` | 可选 |
|
|||
|
|
| `translations` | `string` | 可选 |
|
|||
|
|
| `name` | `string` | 可选 |
|
|||
|
|
| `localName` | `string` | 可选 |
|
|||
|
|
| `enabled` | `bool` | 可选 |
|
|||
|
|
| `sortOrder` | `int32` | 可选 |
|
|||
|
|
|
|||
|
|
### initial.CountryReply
|
|||
|
|
|
|||
|
|
| JSON 字段 | 类型 | 规则 |
|
|||
|
|
|---|---|---|
|
|||
|
|
| `countries` | `[]initial.CountryItem` | 数组 |
|
|||
|
|
|
|||
|
|
### initial.Crc
|
|||
|
|
|
|||
|
|
| JSON 字段 | 类型 | 规则 |
|
|||
|
|
|---|---|---|
|
|||
|
|
| `code` | `string` | 可选 |
|
|||
|
|
|
|||
|
|
### initial.DatasItem
|
|||
|
|
|
|||
|
|
| JSON 字段 | 类型 | 规则 |
|
|||
|
|
|---|---|---|
|
|||
|
|
| `id` | `int64` | 可选 |
|
|||
|
|
| `dataType` | `string` | 可选 |
|
|||
|
|
| `key` | `string` | 可选 |
|
|||
|
|
| `title` | `string` | 可选 |
|
|||
|
|
| `remark` | `string` | 可选 |
|
|||
|
|
| `icon` | `string` | 可选 |
|
|||
|
|
|
|||
|
|
### initial.DatasReply
|
|||
|
|
|
|||
|
|
| JSON 字段 | 类型 | 规则 |
|
|||
|
|
|---|---|---|
|
|||
|
|
| `datas` | `[]initial.DatasItem` | 数组 |
|
|||
|
|
|
|||
|
|
### initial.Empty
|
|||
|
|
|
|||
|
|
空消息:请求时发送 `{}`。
|
|||
|
|
|
|||
|
|
### initial.StatusReply
|
|||
|
|
|
|||
|
|
| JSON 字段 | 类型 | 规则 |
|
|||
|
|
|---|---|---|
|
|||
|
|
| `code` | `int32` | 可选 |
|
|||
|
|
| `message` | `string` | 可选 |
|
|||
|
|
| `details` | `string` | 可选 |
|
|||
|
|
| `timeseq` | `int64` | 可选 |
|