WeChat.MiniProgram.Code (wechat v0.2.0)

小程序码

Link to this section Summary

Types

自动配置线条颜色,如果颜色依然是黑色,则说明不建议配置主色调

是否需要透明底色,为 true 时,生成透明底色的小程序码

auto_color 为 false 时生效,使用 rgb 设置颜色

扫码进入的小程序页面路径

场景值

二维码的宽度

Link to this section Types

Link to this type

auto_color()

Specs

auto_color() :: boolean()

自动配置线条颜色,如果颜色依然是黑色,则说明不建议配置主色调

Link to this type

code_options()

Specs

code_options() :: %{
  path: path(),
  width: width(),
  auto_color: auto_color(),
  line_color: line_color(),
  is_hyaline: is_hyaline()
}
Link to this type

is_hyaline()

Specs

is_hyaline() :: boolean()

是否需要透明底色,为 true 时,生成透明底色的小程序码

Link to this type

line_color()

Specs

line_color() :: map()

auto_color 为 false 时生效,使用 rgb 设置颜色

例如 %{r: "xxx",g: "xxx",b: "xxx"} 十进制表示

Specs

path() :: String.t()

扫码进入的小程序页面路径

最大长度 128 字节,不能为空;对于小游戏,可以只传入 query 部分,来实现传参效果,如:传入 ?foo=bar, 即可在 wx.getLaunchOptionsSync 接口中的 query 参数获取到 {foo:"bar"}

Specs

scene() :: String.t()

场景值

最大32个可见字符,只支持数字,大小写英文以及部分特殊字符:!#$&'()*+,/:;=?@-._~, 其它字符请自行编码为合法字符(因不支持%,中文无法使用 UrlEncode 处理,请使用其他编码方式)

scene 字段的值会作为 query 参数传递给小程序/小游戏。用户扫描该码进入小程序/小游戏后,开发者可以获取到二维码中的 scene 值,再做处理逻辑。 调试阶段可以使用开发工具的条件编译自定义参数 scene=xxxx 进行模拟,开发工具模拟时的 scene 的参数值需要进行 encodeURIComponent

Specs

width() :: 280..1280

二维码的宽度

单位 px。最小 280px,最大 1280px

Link to this section Functions

Link to this function

create_code(client, path, width \\ 430, options \\ %{})

Specs

create_code(WeChat.client(), path(), width(), code_options()) ::
  WeChat.response()

生成的小程序码 - 官方文档

获取小程序码,适用于需要的码数量较少的业务场景。通过该接口生成的小程序码,永久有效,有数量限制, 详见获取二维码

Link to this function

create_code_unlimited(client, scene, options \\ %{})

Specs

create_code_unlimited(WeChat.client(), scene(), code_options()) ::
  WeChat.response()

生成的小程序码 - 官方文档

获取小程序码,适用于需要的码数量极多的业务场景。通过该接口生成的小程序码,永久有效,数量暂无限制, 详见获取二维码

Link to this function

create_qrcode(client, path, width \\ 430)

Specs

create_qrcode(WeChat.client(), path(), width()) :: WeChat.response()

生成的小程序二维码 - 官方文档

获取小程序二维码,适用于需要的码数量较少的业务场景。通过该接口生成的小程序二维码,永久有效,有数量限制, 详见获取二维码

Link to this function

download(file_path, create_fun)

Specs

download(file_path :: Path.t(), create_fun :: (() -> WeChat.response())) ::
  WeChat.response() | :ok | {:error, File.posix()}