View Source WeChat.MiniProgram.Code (wechat v0.16.0)
小程序码
Summary
Types
自动配置线条颜色,如果颜色依然是黑色,则说明不建议配置主色调
是否需要透明底色,为 true
时,生成透明底色的小程序码
auto_color 为 false 时生效,使用 rgb 设置颜色
小程序页面路径
场景值
二维码的宽度
Types
@type auto_color() :: boolean()
自动配置线条颜色,如果颜色依然是黑色,则说明不建议配置主色调
@type code_options() :: %{ path: path(), width: width(), auto_color: auto_color(), line_color: line_color(), is_hyaline: is_hyaline() }
@type is_hyaline() :: boolean()
是否需要透明底色,为 true
时,生成透明底色的小程序码
@type line_color() :: map()
auto_color 为 false 时生效,使用 rgb 设置颜色
例如 %{r: "xxx",g: "xxx",b: "xxx"}
十进制表示
@type path() :: String.t()
小程序页面路径
最大长度 128
字节,不能为空;对于小游戏,可以只传入 query
部分,来实现传参效果,如:传入 ?foo=bar
,
即可在 wx.getLaunchOptionsSync
接口中的 query
参数获取到 {foo:"bar"}
。
@type scene() :: String.t()
场景值
最大32
个可见字符,只支持数字,大小写英文以及部分特殊字符:!#$&'()*+,/:;=?@-._~
,
其它字符请自行编码为合法字符(因不支持%,中文无法使用 UrlEncode
处理,请使用其他编码方式)
scene
字段的值会作为 query
参数传递给小程序/小游戏。用户扫描该码进入小程序/小游戏后,开发者可以获取到二维码中的 scene
值,再做处理逻辑。
调试阶段可以使用开发工具的条件编译自定义参数 scene=xxxx
进行模拟,开发工具模拟时的 scene
的参数值需要进行 encodeURIComponent
@type width() :: 280..1280
二维码的宽度
单位 px
。最小 280px
,最大 1280px
Functions
@spec create_code(WeChat.client(), path(), width(), code_options()) :: WeChat.response()
生成的小程序码 - 官方文档
获取小程序码,适用于需要的码数量较少的业务场景。通过该接口生成的小程序码,永久有效,有数量限制, 详见获取二维码。
@spec create_code_unlimited(WeChat.client(), scene(), code_options()) :: WeChat.response()
生成的小程序码 - 官方文档
获取小程序码,适用于需要的码数量极多的业务场景。通过该接口生成的小程序码,永久有效,数量暂无限制, 详见获取二维码。
@spec create_qrcode(WeChat.client(), path(), width()) :: WeChat.response()
生成的小程序二维码 - 官方文档
获取小程序二维码,适用于需要的码数量较少的业务场景。通过该接口生成的小程序二维码,永久有效,有数量限制, 详见获取二维码。
@spec download(file_path :: Path.t(), create_fun :: (-> WeChat.response())) :: WeChat.response() | :ok | {:error, File.posix()}