1、通过点击按钮跳转小程序
1.1、获取小程序链接
1.1.1、获取URL Scheme
服务端接口:
urlscheme.generate
获取小程序scheme码,适用于短信、邮件、外部网页、微信内等拉起小程序的业务场景。通过该接口,可以选择生成到期失效和永久失效的小程序码,有数量限制。
调用方式: HTTPS调用
请求地址: POST https://api.weixin.qq.com/wxa/generatescheme?access_token=ACCESS_TOKEN
请求参数:
属性 | 类型 | 默认值 | 必填 | 说明 |
---|---|---|---|---|
access_token | string | 是 | 获取小程序全局唯一后台接口调用凭证 | |
jump_wxa | Object | 否 | 跳转到的目标小程序信息。 | |
is_expire | boolean | false | 否 | 生成的 scheme 码类型,到期失效:true,永久有效:false。 |
expire_type | number | 0 | 否 | 到期失效的 scheme 码失效类型,失效时间:0,失效间隔天数:1 |
expire_time | number | 否 | 到期失效的 scheme 码的失效时间,为 Unix 时间戳。生成的到期失效 scheme 码在该时间前有效。最长有效期为1年。is_expire 为 true 且 expire_type 为 0 时必填 | |
expire_interval | number | 否 | 到期失效的 scheme 码的失效间隔天数。生成的到期失效 scheme 码在该间隔时间到达前有效。最长间隔天数为365天。is_expire 为 true 且 expire_type 为 1 时必填 |
jump_wxa的结构
属性 | 类型 | 默认值 | 必填 | 说明 |
---|---|---|---|---|
path | string | 否 | 通过 scheme 码进入的小程序页面路径,必须是已经发布的小程序存在的页面,不可携带 query。path 为空时会跳转小程序主页。 | |
query | string | 否 | 通过 scheme 码进入小程序时的 query,最大1024个字符,只支持数字,大小写英文以及部分特殊字符:!#$&’()*+,/:;=?@-._~% | |
env_version | string | “release” | 否 | 要打开的小程序版本。正式版为"release",体验版为"trial",开发版为"develop",仅在微信外打开时生效。 |
返回值
openlink
生成小程序的scheme码
异常返回
JSON
属性 | 类型 | 说明 |
---|---|---|
errcode | number | 错误码 |
errmsg | string | 错误信息 |
errcode的合法值
值 | 说明 | 最低版本 |
---|---|---|
40002 | 暂无生成权限 | |
40013 | 生成权限被封禁 | |
85079 | 小程序未发布 | |
40165 | 参数path填写错误 | |
40212 | 参数query填写错误 | |
85401 | 参数expire_time填写错误,时间间隔大于1分钟且小于1年 | |
85402 | 参数env_version填写错误 | |
44990 | 生成Scheme频率过快(超过100次/秒) | |
85400 | 长期有效Scheme达到生成上限10万 | |
45009 | 单天生成Scheme数量超过上限50万 |
返回值说明
如果调用成功,会直接返回生成小程序的scheme码,如果请求失败,会返回JSON格式的数据。
示例
请求:
{
"jump_wxa":
{
"path": "/pages/publishHomework/publishHomework",
"query": ""
},
"is_expire":true,
"expire_time":1606737600
}
返回:
{
"errcode": 0,
"errmsg": "ok",
"openlink": Scheme,
}
云调用
云调用是微信云开发提供的云函数中调用微信开放接口的能力,需要在云函数中通过wx-server-sdk使用。
接口方法
openapi.urlscheme.generate
请求参数:
属性 | 类型 | 默认值 | 必填 | 说明 |
---|---|---|---|---|
jumpWxa | Object | 否 | 跳转到的目标小程序信息。 | |
isExpire | boolean | false | 否 | 生成的scheme 码类型,到期失效:true,永久有效:false。 |
expireType | number | 0 | 否 | 小程序scheme 码失效类型,失效时间:0,失效间隔天数:1 |
expireTime | number | 否 | 到期失效的scheme 码的失效时间,为 Unix 时间戳。生成的到期失效scheme 码在该时间前有效。最长有效期为1年。is_expire 为 true 且 expire_type 为 0 时必填 | |
expireInterval | number | 否 | 到期失效的scheme 码的失效间隔天数。生成的到期失效 scheme 码在该间隔时间到达前有效。最长间隔天数为365天。is_expire 为 true 且 expire_type 为 1 时必填 | |
cloudBase | Object | 否 | 云开发静态网站自定义 H5 配置参数,可配置中转的云开发 H5 页面。不填默认用官方 H5 页面 |
jumpWxa 的结构
属性 | 类型 | 默认值 | 必填 | 说明 |
---|---|---|---|---|
path | string | 否 | 通过 scheme 码进入的小程序页面路径,必须是已经发布的小程序存在的页面,不可携带 query。path 为空时会跳转小程序主页。 | |
query | string | 否 | 通过 scheme 码进入小程序时的 query,最大1024个字符,只支持数字,大小写英文以及部分特殊字符:!#$&’()*+,/:;=?@-._~% | |
envVersion | string | “release” | 否 | 要打开的小程序版本。正式版为"release",体验版为"trial",开发版为"develop",仅在微信外打开时生效。 |
返回值
openlink
生成的小程序scheme 码
异常
Object
JSON
属性 | 类型 | 说明 |
---|---|---|
errcode | number | 错误码 |
errmsg | string | 错误信息 |
示例
请求:
const cloud = require('wx-server-sdk')
cloud.init({
env: cloud.DYNAMIC_CURRENT_ENV,
})
exports.main = async (event, context) => {
try {
const result = await cloud.openapi.urlscheme.generate({
"jumpWxa": {
"path": '/pages/publishHomework/publishHomework',
"query": ''
},
"isExpire": true,
"expireTime": 1606737600
})
return result
} catch (err) {
return err
}
}
返回:
{
"errcode": 0,
"errmsg": "ok",
"openlink": Scheme,
}
通过服务端接口或在小程序管理后台[工具]-[生成URL Scheme]入口可以获取打开小程序任意页面页面的URL Scheme。适用于短信、邮件、微信外网页等场景打开小程序。通过 URL Scheme 打开小程序的场景值为 1065。
1.1.2、获取URL LinK
服务端接口:
urllink.generate
获取小程序 URL Link,适用于短信、邮件、网页、微信内等拉起小程序的业务场景。通过该接口,可以选择生成到期失效和永久有效的小程序链接,有数量限制
调用方式: HTTPS调用
请求地址: POST https://api.weixin.qq.com/wxa/generate_urllink?access_token=ACCESS_TOKEN
请求参数:
属性 | 类型 | 默认值 | 必填 | 说明 |
---|---|---|---|---|
access_token | string | 是 | 获取小程序全局唯一后台接口调用凭证 | |
path | string | 否 | 通过 URL Link 进入的小程序页面路径,必须是已经发布的小程序存在的页面,不可携带 query 。path 为空时会跳转小程序主页 | |
query | string | 否 | 通过 URL Link 进入小程序时的query,最大1024个字符,只支持数字,大小写英文以及部分特殊字符:!#$&’()*+,/:;=?@-._~% | |
env_version | string | “release” | 否 | 要打开的小程序版本。正式版为"release",体验版为"trial",开发版为"develop",仅在微信外打开时生效。 |
is_expire | boolean | false | 否 | 生成的 scheme 码类型,到期失效:true,永久有效:false。 |
expire_type | number | 0 | 否 | 到期失效的 scheme 码失效类型,失效时间:0,失效间隔天数:1 |
expire_time | number | 否 | 到期失效的 scheme 码的失效时间,为 Unix 时间戳。生成的到期失效 scheme 码在该时间前有效。最长有效期为1年。is_expire 为 true 且 expire_type 为 0 时必填 | |
expire_interval | number | 否 | 到期失效的 scheme 码的失效间隔天数。生成的到期失效 scheme 码在该间隔时间到达前有效。最长间隔天数为365天。is_expire 为 true 且 expire_type 为 1 时必填 | |
cloud_base | Object | 否 | 云开发静态网站自定义 H5 配置参数,可配置中转的云开发 H5 页面。不填默认用官方 H5 页面 |
cloud_base的结构
属性 | 类型 | 默认值 | 必填 | 说明 |
---|---|---|---|---|
env | string | 是 | 云开发环境 | |
domain | string | 否 | 静态网站自定义域名,不填则使用默认域名 | |
path | string | / | 否 | 云开发静态网站 H5 页面路径,不可携带 query |
query | string | 否 | 云开发静态网站 H5 页面 query 参数,最大 1024 个字符,只支持数字,大小写英文以及部分特殊字符:!#$&’()*+,/:;=?@-._~% | |
resource_appid | string | 否 | 第三方批量代云开发时必填,表示创建该 env 的 appid (小程序/第三方平台) |
返回值
url_link
生成的小程序URL Link
异常返回
Object
JSON
属性 | 类型 | 说明 |
---|---|---|
errcode | number | 错误码 |
errmsg | string | 错误信息 |
errcode的合法值
值 | 说明 | 最低版本 |
---|---|---|
40002 | 暂无生成权限 | |
40013 | 生成权限被封禁 | |
85079 | 小程序未发布 | |
40165 | 参数path填写错误 | |
40212 | 参数query填写错误 | |
85401 | 参数expire_time填写错误,时间间隔大于1分钟且小于1年 | |
85402 | 参数env_version填写错误 | |
44990 | 生成Scheme频率过快(超过100次/秒) | |
85400 | 长期有效Scheme达到生成上限10万 | |
45009 | 单天生成Scheme数量超过上限50万 |
返回值说明
如果调用成功,会直接返回生成的小程序 URL Link。如果请求失败,会返回 JSON 格式的数据。
示例
请求:
{
"path": "/pages/publishHomework/publishHomework",
"query": "",
"is_expire":true,
"expire_type":1,
"expire_interval":1,
"cloud_base":
{
"env": "xxx",
"domain": "xxx.xx",
"path": "/jump-wxa.html",
"query": "a=1&b=2"
}
}
返回:
{
"errcode": 0,
"errmsg": "ok",
"url_link": "URL Link"
}
云调用
接口方法
openapi.urllink.generate
请求参数:
属性 | 类型 | 默认值 | 必填 | 说明 |
---|---|---|---|---|
path | string | 否 | 通过 URL Link 进入的小程序页面路径,必须是已经发布的小程序存在的页面,不可携带 query 。path 为空时会跳转小程序主页 | |
query | string | 否 | 通过 URL Link 进入小程序时的query,最大1024个字符,只支持数字,大小写英文以及部分特殊字符:!#$&’()*+,/:;=?@-._~% | |
envVersion | string | “release” | 否 | 要打开的小程序版本。正式版为"release",体验版为"trial",开发版为"develop",仅在微信外打开时生效。 |
isExpire | boolean | false | 否 | 生成的 URL Link 类型,到期失效:true,永久有效:false。 |
expireType | number | 0 | 否 | 小程序 URL Link 失效类型,失效时间:0,失效间隔天数:1 |
expireTime | number | 否 | 到期失效的 URL Link的失效时间,为 Unix 时间戳。生成的到期失效 URL Link在该时间前有效。最长有效期为1年。is_expire 为 true 且 expire_type 为 0 时必填 | |
expireInterval | number | 否 | 到期失效的 URL Link的失效间隔天数。生成的到期失效 URL Link在该间隔时间到达前有效。最长间隔天数为365天。is_expire 为 true 且 expire_type 为 1 时必填 | |
cloudBase | Object | 否 | 云开发静态网站自定义 H5 配置参数,可配置中转的云开发 H5 页面。不填默认用官方 H5 页面 |
cloudBase 的结构
属性 | 类型 | 默认值 | 必填 | 说明 |
---|---|---|---|---|
env | string | 是 | 云开发环境 | |
domain | string | 否 | 静态网站自定义域名,不填则使用默认域名 | |
path | string | / | 否 | 云开发静态网站 H5 页面路径,不可携带 query |
query | string | 否 | 云开发静态网站 H5 页面 query 参数,最大 1024 个字符,只支持数字,大小写英文以及部分特殊字符:!#$&’()*+,/:;=?@-._~% | |
resourceAppid | string | 否 | 第三方批量代云开发时必填,表示创建该 env 的 appid (小程序/第三方平台) |
返回值
url_link
生成的小程序URL Link
异常
Object
JSON
属性 | 类型 | 说明 |
---|---|---|
errcode | number | 错误码 |
errmsg | string | 错误信息 |
示例
请求:
const cloud = require('wx-server-sdk')
cloud.init({
env: cloud.DYNAMIC_CURRENT_ENV,
})
exports.main = async (event, context) => {
try {
const result = await cloud.openapi.urllink.generate({
"path": '/pages/publishHomework/publishHomework',
"query": '',
"isExpire": true,
"expireType": 1,
"expireInterval": 1,
"cloudBase": {
"env": 'xxx',
"domain": 'xxx.xx',
"path": '/jump-wxa.html',
"query": 'a=1&b=2'
}
})
return result
} catch (err) {
return err
}
}
返回:
{
"errcode": 0,
"errmsg": "ok",
"url_link": "URL Link"
}
通过服务端接口可以获取打开小程序任意页面的URL Link。适用于从短信、邮件、网页、微信内等场景打开小程序。通过 URL Link 打开小程序的场景值为 1194。
1.1.3、获取Short Link
服务端接口:
shortlink.generate
获取小程序 Short Link,适用于微信内拉起小程序的业务场景。通过该接口,可以选择生成到期失效和永久有效的小程序短链
调用方式: POST调用
请求地址: https://api.weixin.qq.com/wxa/genwxashortlink?access_token=ACCESS_TOKEN
请求参数:
属性 | 类型 | 默认值 | 必填 | 说明 |
---|---|---|---|---|
access_token | string | 是 | 获取小程序全局唯一后台接口调用凭证 | |
page_url | string | 是 | 通过 Short Link 进入的小程序页面路径,必须是已经发布的小程序存在的页面,可携带 query,最大1024个字符 | |
page_title | string | 是 | 页面标题,不能包含违法信息,超过20字符会用… 截断代替 | |
is_permanent | boolean | false | 否 | 生成的 Short Link 类型,短期有效:false,永久有效:true |
返回值
Link
生成的小程序Short Link
异常返回
Object
JSON
属性 | 类型 | 说明 |
---|---|---|
errcode | number | 错误码 |
errmsg | string | 错误信息 |
errcode的合法值
值 | 说明 | 最低版本 |
---|---|---|
40066 | 无效的url,已发布小程序没有对应url | |
40225 | 无效的页面标题 | |
85400 | 长期有效Short Link达到生成上限10万 | |
45009 | 单天生成Short Link数量超过上限50万 | |
43104 | 没有调用权限,目前只开放给电商类目(具体包含以下一级类目:电商平台、商家自营、跨境电商) |
返回值说明
如果调用成功,会直接返回生成的小程序 Short Link。如果请求失败,会返回 JSON 格式的数据
示例
请求:
{
"page_url": "/pages/publishHomework/publishHomework?query1=q1",
"page_title": "Homework title",
"is_permanent":false
}
返回:
{
"errcode": 0,
"errmsg": "ok",
"link": "Short Link"
}
云调用
接口方法
openapi.shortlink.generate
请求参数:
属性 | 类型 | 默认值 | 必填 | 说明 |
---|---|---|---|---|
pageUrl | string | 是 | 通过 Short Link 进入的小程序页面路径,必须是已经发布的小程序存在的页面,可携带 query,最大1024个字符 | |
pageTitle | string | 是 | 页面标题,不能包含违法信息,超过20字符会用… 截断代替 | |
isPermanent | boolean | false | 否 | 生成的 Short Link 类型,短期有效:false,永久有效:true |
返回值
link
生成的小程序Short Link
Object
JSON
属性 | 类型 | 说明 |
---|---|---|
errcode | number | 错误码 |
errmsg | string | 错误信息 |
示例
请求:
const cloud = require('wx-server-sdk')
cloud.init({
env: cloud.DYNAMIC_CURRENT_ENV,
})
exports.main = async (event, context) => {
try {
const result = await cloud.openapi.shortlink.generate({
"pageUrl": '/pages/publishHomework/publishHomework?query1=q1',
"pageTitle": 'Homework title',
"isPermanent": false
})
return result
} catch (err) {
return err
}
}
返回:
{
"errcode": 0,
"errmsg": "ok",
"link": "Short Link"
}
通过服务端接口可以获取打开小程序任意页面的Short Link。适用于微信内拉起小程序的业务场景。
2、通过生成的二维码图片扫码跳转小程序
2.1、获取小程序码
2.1.1、wxacode.createORCode
获取小程序二维码,适用于需要的码数量较少的业务场景。通过该接口生成的小程序码,永久有效,有数量限制
调用方式: HTTPS调用
请求地址: POST https://api.weixin.qq.com/cgi-bin/wxaapp/createwxaqrcode?access_token=ACCESS_TOKEN
请求参数:
属性 | 类型 | 默认值 | 必填 | 说明 |
---|---|---|---|---|
access_token | string | 是 | 获取小程序全局唯一后台接口调用凭证 | |
path | string | 是 | 扫码进入的小程序页面路径,最大长度 128 字节,不能为空;对于小游戏,可以只传入 query 部分,来实现传参效果,如:传入 “?foo=bar”,即可在 wx.getLaunchOptionsSync 接口中的 query 参数获取到 {foo:“bar”} | |
width | number | 430 | 否 | 二维码的宽度,单位 px。最小 280px,最大 1280px |
返回值
Buffer
返回 的图片Buffer
异常
Object
JSON
属性 | 类型 | 说明 |
---|---|---|
errcode | number | 错误码 |
errmsg | string | 错误信息 |
errcode的合法值
值 | 说明 | 最低版本 |
---|---|---|
45029 | 生成码个数总和到达最大个数限制 |
返回值说明
如果调用成功,会直接返回图片二进制内容,如果请求失败,会返回JSON格式的数据
示例
请求:
{
"path":"page/index/index",
"width":430
}
返回:
{
"errcode": 0,
"errmsg": "ok",
"contentType": "image/jpeg",
"buffer": Buffer
}
云调用
接口方法
openapi.wxacode.createQRcode
请求参数:
属性 | 类型 | 默认值 | 必填 | 说明 |
---|---|---|---|---|
path | string | 是 | 扫码进入的小程序页面路径,最大长度 128 字节,不能为空;对于小游戏,可以只传入 query 部分,来实现传参效果,如:传入 “?foo=bar”,即可在 wx.getLaunchOptionsSync 接口中的 query 参数获取到 {foo:“bar”} | |
width | number | 430 | 否 | 二维码的宽度,单位 px。最小 280px,最大 1280px |
返回值
Object
包含二进制数据及其数据类型的对象
属性 | 类型 | 说明 |
---|---|---|
contentType | String | 数据类型 (MIME Type) |
buffer | Buffer | 数据Buffer |
异常
Object
JSON
属性 | 类型 | 说明 |
---|---|---|
errCode | number | 错误码 |
errMsg | string | 错误信息 |
示例
请求:
const cloud = require('wx-server-sdk')
cloud.init({
env: cloud.DYNAMIC_CURRENT_ENV,
})
exports.main = async (event, context) => {
try {
const result = await cloud.openapi.wxacode.createQRCode({
"path": 'page/index/index',
"width": 430
})
return result
} catch (err) {
return err
}
}
返回:
{
"errcode": 0,
"errmsg": "ok",
"contentType": "image/jpeg",
"buffer": Buffer
}
2.1.2、wxacode.get
获取小程序码,适用于需要的码数量较少的业务场景。通过该接口生成的小程序码,永久有效,有数量限制
调用方式: HTTPS调用
请求地址: POST https://api.weixin.qq.com/wxa/getwxacode?access_token=ACCESS_TOKEN
请求参数:
属性 | 类型 | 默认值 | 必填 | 说明 |
---|---|---|---|---|
access_token | string | 是 | 获取小程序全局唯一后台接口调用凭证 | |
path | string | 是 | 扫码进入的小程序页面路径,最大长度 128 字节,不能为空;对于小游戏,可以只传入 query 部分,来实现传参效果,如:传入 “?foo=bar”,即可在 wx.getLaunchOptionsSync 接口中的 query 参数获取到 {foo:“bar”} | |
width | number | 430 | 否 | 二维码的宽度,单位 px。最小 280px,最大 1280px |
auto_color | boolean | false | 否 | 自动配置线条颜色,如果颜色依然是黑色,则说明不建议配置主色调 |
line_color | Object | {“r”:0,“g”:0,“b”:0} | 否 | auto_color 为 false 时生效,使用 rgb 设置颜色 例如 {“r”:“xxx”,“g”:“xxx”,“b”:“xxx”} 十进制表示 |
is_hyaline | boolean | false | 否 | 是否需要透明底色,为 true 时,生成透明底色的小程序码 |
返回值
Buffer
返回 的图片Buffer
异常
Object
JSON
属性 | 类型 | 说明 |
---|---|---|
errcode | number | 错误码 |
errmsg | string | 错误信息 |
errcode的合法值
值 | 说明 | 最低版本 |
---|---|---|
45029 | 生成码个数总和到达最大个数限制 |
返回值说明
如果调用成功,会直接返回图片二进制内容,如果请求失败,会返回JSON格式的数据
示例
请求:
{
"path":"page/index/index",
"width":430
}
返回:
{
"errcode": 0,
"errmsg": "ok",
"contentType": "image/jpeg",
"buffer": Buffer
}
云调用
接口方法
openapi.wxacode.get
请求参数:
属性 | 类型 | 默认值 | 必填 | 说明 |
---|---|---|---|---|
path | string | 是 | 扫码进入的小程序页面路径,最大长度 128 字节,不能为空;对于小游戏,可以只传入 query 部分,来实现传参效果,如:传入 “?foo=bar”,即可在 wx.getLaunchOptionsSync 接口中的 query 参数获取到 {foo:“bar”} | |
width | number | 430 | 否 | 二维码的宽度,单位 px。最小 280px,最大 1280px |
autoColor | boolean | false | 否 | 自动配置线条颜色,如果颜色依然是黑色,则说明不建议配置主色调 |
lineColor | Object | {“r”:0,“g”:0,“b”:0} | 否 | auto_color 为 false 时生效,使用 rgb 设置颜色 例如 {“r”:“xxx”,“g”:“xxx”,“b”:“xxx”} 十进制表示 |
isHyaline | boolean | false | 否 | 是否需要透明底色,为 true 时,生成透明底色的小程序码 |
返回值
Object
包含二进制数据及其数据类型的对象
属性 | 类型 | 说明 |
---|---|---|
contentType | String | 数据类型 (MIME Type) |
buffer | Buffer | 数据Buffer |
异常
Object
JSON
属性 | 类型 | 说明 |
---|---|---|
errCode | number | 错误码 |
errMsg | string | 错误信息 |
示例
请求:
const cloud = require('wx-server-sdk')
cloud.init({
env: cloud.DYNAMIC_CURRENT_ENV,
})
exports.main = async (event, context) => {
try {
const result = await cloud.openapi.wxacode.get({
"path": 'page/index/index',
"width": 430
})
return result
} catch (err) {
return err
}
}
返回:
{
"errcode": 0,
"errmsg": "ok",
"contentType": "image/jpeg",
"buffer": Buffer
}
2.1.3、wxacode.getUnlimited
获取小程序码,适用于需要的码数量极多的业务场景。通过该接口生成的小程序码,永久有效,数量暂无限制。
调用方式: HTTPS调用
请求地址: POST https://api.weixin.qq.com/wxa/getwxacodeunlimit?access_token=ACCESS_TOKEN
请求参数:
属性 | 类型 | 默认值 | 必填 | 说明 |
---|---|---|---|---|
access_token | string | 是 | 获取小程序全局唯一后台接口调用凭证 | |
scene | string | 是 | 最大32个可见字符,只支持数字,大小写英文以及部分特殊字符:!#$&’()*+,/:;=?@-._~,其它字符请自行编码为合法字符(因不支持%,中文无法使用 urlencode 处理,请使用其他编码方式) | |
page | string | 否 | 必须是已经发布的小程序存在的页面(否则报错),例如 pages/index/index, 根路径前不要填加 /,不能携带参数(参数请放在scene字段里),如果不填写这个字段,默认跳主页面 | |
width | number | 430 | 否 | 二维码的宽度,单位 px。最小 280px,最大 1280px |
auto_color | boolean | false | 否 | 自动配置线条颜色,如果颜色依然是黑色,则说明不建议配置主色调 |
line_color | Object | {“r”:0,“g”:0,“b”:0} | 否 | auto_color 为 false 时生效,使用 rgb 设置颜色 例如 {“r”:“xxx”,“g”:“xxx”,“b”:“xxx”} 十进制表示 |
is_hyaline | boolean | false | 否 | 是否需要透明底色,为 true 时,生成透明底色的小程序码 |
返回值
Buffer
返回 的图片Buffer
异常
Object
JSON
属性 | 类型 | 说明 |
---|---|---|
errcode | number | 错误码 |
errmsg | string | 错误信息 |
errcode的合法值
值 | 说明 | 最低版本 |
---|---|---|
45009 | 调用分钟频率受限(目前5000次/分钟,会调整),如需大量小程序码,建议预生成。 | |
41030 | 所传page页面不存在,或者小程序没有发布 |
返回值说明
如果调用成功,会直接返回图片二进制内容,如果请求失败,会返回JSON格式的数据
获取scene值
scene 字段的值会作为 query 参数传递给小程序/小游戏。用户扫描该码进入小程序/小游戏后,开发者可以获取到二维码中的 scene 值,再做处理逻辑。
调试阶段可以使用开发工具的条件编译自定义参数 scene=xxxx 进行模拟,开发工具模拟时的 scene 的参数值需要进行 encodeURIComponent
小程序
Page({
onLoad (query) {
// scene 需要使用 decodeURIComponent 才能获取到生成二维码时传入的 scene
const scene = decodeURIComponent(query.scene)
}
})
示例
请求:
{
"scene": "a=1"
}
返回:
{
"errcode": 0,
"errmsg": "ok",
"contentType": "image/jpeg",
"buffer": Buffer
}
云调用
接口方法: openapi.wxacode.getUnlimited
请求参数:
属性 | 类型 | 默认值 | 必填 | 说明 |
---|---|---|---|---|
scene | string | 是 | 最大32个可见字符,只支持数字,大小写英文以及部分特殊字符:!#$&’()*+,/:;=?@-._~,其它字符请自行编码为合法字符(因不支持%,中文无法使用 urlencode 处理,请使用其他编码方式) | |
page | string | 否 | 必须是已经发布的小程序存在的页面(否则报错),例如 pages/index/index, 根路径前不要填加 /,不能携带参数(参数请放在scene字段里),如果不填写这个字段,默认跳主页面 | |
width | number | 430 | 否 | 二维码的宽度,单位 px。最小 280px,最大 1280px |
auto_color | boolean | false | 否 | 自动配置线条颜色,如果颜色依然是黑色,则说明不建议配置主色调 |
line_color | Object | {“r”:0,“g”:0,“b”:0} | 否 | auto_color 为 false 时生效,使用 rgb 设置颜色 例如 {“r”:“xxx”,“g”:“xxx”,“b”:“xxx”} 十进制表示 |
is_hyaline | boolean | false | 否 | 是否需要透明底色,为 true 时,生成透明底色的小程序码 |
返回值
Object
包含二进制数据及其数据类型的对象
属性 | 类型 | 说明 |
---|---|---|
contentType | String | 数据类型 (MIME Type) |
buffer | Buffer | 数据 Buffer |
异常
Object
JSON
属性 | 类型 | 说明 |
---|---|---|
errcode | number | 错误码 |
errmsg | string | 错误信息 |
errcode的合法值
值 | 说明 | 最低版本 |
---|
示例
请求:
const cloud = require('wx-server-sdk')
cloud.init({
env: cloud.DYNAMIC_CURRENT_ENV,
})
exports.main = async (event, context) => {
try {
const result = await cloud.openapi.wxacode.getUnlimited({
"scene": 'a=1'
})
return result
} catch (err) {
return err
}
}
返回:
{
"errcode": 0,
"errmsg": "ok",
"contentType": "image/jpeg",
"buffer": Buffer
}
3、接收跳转参数
通过接口获取的链接及二维码,在跳转时会将其余参数转换成页面 ? 后面的部分,形如 page=‘pages/index/index?foo=bar’