Files
full/wiki/api/05-initial.md

248 lines
5.8 KiB
Markdown
Raw Normal View History

# 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` | 可选 |