# `LibWechat.Typespecs`
[🔗](https://github.com/tt67wq/lib-wechat/blob/main/lib/lib_wechat/typespecs.ex#L1)

LibWechat 类型规范模块

此模块定义了 LibWechat 库中使用的各种类型规范，用于提高代码的可读性和类型安全性。
类型规范有助于开发者理解函数的输入和输出类型，也有助于静态分析工具（如 Dialyzer）检查代码中的类型错误。

# `access_token`

```elixir
@type access_token() :: String.t()
```

# `api_response`

```elixir
@type api_response() :: {:ok, dict()} | {:error, LibWechat.Error.t()}
```

# `appid`

```elixir
@type appid() :: String.t()
```

# `binary_response`

```elixir
@type binary_response() :: {:ok, binary()} | {:error, LibWechat.Error.t()}
```

# `body`

```elixir
@type body() :: iodata() | nil
```

# `code`

```elixir
@type code() :: String.t()
```

# `config`

```elixir
@type config() :: keyword()
```

# `dict`

```elixir
@type dict() :: %{required(String.t()) =&gt; any()}
```

# `finch_instance`

```elixir
@type finch_instance() :: module()
```

# `headers`

```elixir
@type headers() :: [{String.t(), String.t()}]
```

# `http_client`

```elixir
@type http_client() :: module()
```

# `http_status`

```elixir
@type http_status() :: non_neg_integer()
```

# `message_payload`

```elixir
@type message_payload() :: dict()
```

# `method`

```elixir
@type method() :: :get | :post | :head | :patch | :delete | :options | :put
```

# `name`

```elixir
@type name() :: atom() | {:global, term()} | {:via, module(), term()}
```

# `on_start`

```elixir
@type on_start() ::
  {:ok, pid()} | :ignore | {:error, {:already_started, pid()} | term()}
```

# `openid`

```elixir
@type openid() :: String.t()
```

# `opts`

```elixir
@type opts() :: keyword()
```

# `page`

```elixir
@type page() :: String.t()
```

# `params`

```elixir
@type params() :: %{required(String.t()) =&gt; binary()} | nil
```

# `path`

```elixir
@type path() :: String.t()
```

# `query_params`

```elixir
@type query_params() :: %{required(String.t()) =&gt; String.t()} | keyword()
```

# `scene`

```elixir
@type scene() :: integer() | String.t()
```

# `secret`

```elixir
@type secret() :: String.t()
```

# `security_payload`

```elixir
@type security_payload() :: dict()
```

# `service_host`

```elixir
@type service_host() :: String.t()
```

# `session_key`

```elixir
@type session_key() :: String.t()
```

# `template_id`

```elixir
@type template_id() :: String.t()
```

# `url`

```elixir
@type url() :: String.t()
```

# `wxa_payload`

```elixir
@type wxa_payload() :: dict()
```

---

*Consult [api-reference.md](api-reference.md) for complete listing*
