2021-10-25

在这里插入图片描述

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_tokenstring获取小程序全局唯一后台接口调用凭证
jump_wxaObject跳转到的目标小程序信息。
is_expirebooleanfalse生成的 scheme 码类型,到期失效:true,永久有效:false。
expire_typenumber0到期失效的 scheme 码失效类型,失效时间:0,失效间隔天数:1
expire_timenumber到期失效的 scheme 码的失效时间,为 Unix 时间戳。生成的到期失效 scheme 码在该时间前有效。最长有效期为1年。is_expire 为 true 且 expire_type 为 0 时必填
expire_intervalnumber到期失效的 scheme 码的失效间隔天数。生成的到期失效 scheme 码在该间隔时间到达前有效。最长间隔天数为365天。is_expire 为 true 且 expire_type 为 1 时必填

jump_wxa的结构

属性类型默认值必填说明
pathstring通过 scheme 码进入的小程序页面路径,必须是已经发布的小程序存在的页面,不可携带 query。path 为空时会跳转小程序主页。
querystring通过 scheme 码进入小程序时的 query,最大1024个字符,只支持数字,大小写英文以及部分特殊字符:!#$&’()*+,/:;=?@-._~%
env_versionstring“release”要打开的小程序版本。正式版为"release",体验版为"trial",开发版为"develop",仅在微信外打开时生效。

返回值
openlink
生成小程序的scheme码
异常返回
JSON

属性类型说明
errcodenumber错误码
errmsgstring错误信息

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
请求参数:

属性类型默认值必填说明
jumpWxaObject跳转到的目标小程序信息。
isExpirebooleanfalse生成的scheme 码类型,到期失效:true,永久有效:false。
expireTypenumber0小程序scheme 码失效类型,失效时间:0,失效间隔天数:1
expireTimenumber到期失效的scheme 码的失效时间,为 Unix 时间戳。生成的到期失效scheme 码在该时间前有效。最长有效期为1年。is_expire 为 true 且 expire_type 为 0 时必填
expireIntervalnumber到期失效的scheme 码的失效间隔天数。生成的到期失效 scheme 码在该间隔时间到达前有效。最长间隔天数为365天。is_expire 为 true 且 expire_type 为 1 时必填
cloudBaseObject云开发静态网站自定义 H5 配置参数,可配置中转的云开发 H5 页面。不填默认用官方 H5 页面

jumpWxa 的结构

属性类型默认值必填说明
pathstring通过 scheme 码进入的小程序页面路径,必须是已经发布的小程序存在的页面,不可携带 query。path 为空时会跳转小程序主页。
querystring通过 scheme 码进入小程序时的 query,最大1024个字符,只支持数字,大小写英文以及部分特殊字符:!#$&’()*+,/:;=?@-._~%
envVersionstring“release”要打开的小程序版本。正式版为"release",体验版为"trial",开发版为"develop",仅在微信外打开时生效。

返回值
openlink
生成的小程序scheme 码
异常
Object
JSON

属性类型说明
errcodenumber错误码
errmsgstring错误信息

示例
请求:

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_tokenstring获取小程序全局唯一后台接口调用凭证
pathstring通过 URL Link 进入的小程序页面路径,必须是已经发布的小程序存在的页面,不可携带 query 。path 为空时会跳转小程序主页
querystring通过 URL Link 进入小程序时的query,最大1024个字符,只支持数字,大小写英文以及部分特殊字符:!#$&’()*+,/:;=?@-._~%
env_versionstring“release”要打开的小程序版本。正式版为"release",体验版为"trial",开发版为"develop",仅在微信外打开时生效。
is_expirebooleanfalse生成的 scheme 码类型,到期失效:true,永久有效:false。
expire_typenumber0到期失效的 scheme 码失效类型,失效时间:0,失效间隔天数:1
expire_timenumber到期失效的 scheme 码的失效时间,为 Unix 时间戳。生成的到期失效 scheme 码在该时间前有效。最长有效期为1年。is_expire 为 true 且 expire_type 为 0 时必填
expire_intervalnumber到期失效的 scheme 码的失效间隔天数。生成的到期失效 scheme 码在该间隔时间到达前有效。最长间隔天数为365天。is_expire 为 true 且 expire_type 为 1 时必填
cloud_baseObject云开发静态网站自定义 H5 配置参数,可配置中转的云开发 H5 页面。不填默认用官方 H5 页面

cloud_base的结构

属性类型默认值必填说明
envstring云开发环境
domainstring静态网站自定义域名,不填则使用默认域名
pathstring/云开发静态网站 H5 页面路径,不可携带 query
querystring云开发静态网站 H5 页面 query 参数,最大 1024 个字符,只支持数字,大小写英文以及部分特殊字符:!#$&’()*+,/:;=?@-._~%
resource_appidstring第三方批量代云开发时必填,表示创建该 env 的 appid (小程序/第三方平台)

返回值
url_link
生成的小程序URL Link
异常返回
Object
JSON

属性类型说明
errcodenumber错误码
errmsgstring错误信息

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
请求参数:

属性类型默认值必填说明
pathstring通过 URL Link 进入的小程序页面路径,必须是已经发布的小程序存在的页面,不可携带 query 。path 为空时会跳转小程序主页
querystring通过 URL Link 进入小程序时的query,最大1024个字符,只支持数字,大小写英文以及部分特殊字符:!#$&’()*+,/:;=?@-._~%
envVersionstring“release”要打开的小程序版本。正式版为"release",体验版为"trial",开发版为"develop",仅在微信外打开时生效。
isExpirebooleanfalse生成的 URL Link 类型,到期失效:true,永久有效:false。
expireTypenumber0小程序 URL Link 失效类型,失效时间:0,失效间隔天数:1
expireTimenumber到期失效的 URL Link的失效时间,为 Unix 时间戳。生成的到期失效 URL Link在该时间前有效。最长有效期为1年。is_expire 为 true 且 expire_type 为 0 时必填
expireIntervalnumber到期失效的 URL Link的失效间隔天数。生成的到期失效 URL Link在该间隔时间到达前有效。最长间隔天数为365天。is_expire 为 true 且 expire_type 为 1 时必填
cloudBaseObject云开发静态网站自定义 H5 配置参数,可配置中转的云开发 H5 页面。不填默认用官方 H5 页面

cloudBase 的结构

属性类型默认值必填说明
envstring云开发环境
domainstring静态网站自定义域名,不填则使用默认域名
pathstring/云开发静态网站 H5 页面路径,不可携带 query
querystring云开发静态网站 H5 页面 query 参数,最大 1024 个字符,只支持数字,大小写英文以及部分特殊字符:!#$&’()*+,/:;=?@-._~%
resourceAppidstring第三方批量代云开发时必填,表示创建该 env 的 appid (小程序/第三方平台)

返回值
url_link
生成的小程序URL Link
异常
Object
JSON

属性类型说明
errcodenumber错误码
errmsgstring错误信息

示例
请求:

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_tokenstring获取小程序全局唯一后台接口调用凭证
page_urlstring通过 Short Link 进入的小程序页面路径,必须是已经发布的小程序存在的页面,可携带 query,最大1024个字符
page_titlestring页面标题,不能包含违法信息,超过20字符会用… 截断代替
is_permanentbooleanfalse生成的 Short Link 类型,短期有效:false,永久有效:true

返回值
Link
生成的小程序Short Link
异常返回
Object
JSON

属性类型说明
errcodenumber错误码
errmsgstring错误信息

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
请求参数:

属性类型默认值必填说明
pageUrlstring通过 Short Link 进入的小程序页面路径,必须是已经发布的小程序存在的页面,可携带 query,最大1024个字符
pageTitlestring页面标题,不能包含违法信息,超过20字符会用… 截断代替
isPermanentbooleanfalse生成的 Short Link 类型,短期有效:false,永久有效:true

返回值
link
生成的小程序Short Link
Object
JSON

属性类型说明
errcodenumber错误码
errmsgstring错误信息

示例
请求:

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_tokenstring获取小程序全局唯一后台接口调用凭证
pathstring扫码进入的小程序页面路径,最大长度 128 字节,不能为空;对于小游戏,可以只传入 query 部分,来实现传参效果,如:传入 “?foo=bar”,即可在 wx.getLaunchOptionsSync 接口中的 query 参数获取到 {foo:“bar”}
widthnumber430二维码的宽度,单位 px。最小 280px,最大 1280px

返回值
Buffer
返回 的图片Buffer
异常
Object
JSON

属性类型说明
errcodenumber错误码
errmsgstring错误信息

errcode的合法值

说明最低版本
45029生成码个数总和到达最大个数限制

返回值说明
如果调用成功,会直接返回图片二进制内容,如果请求失败,会返回JSON格式的数据
示例
请求:

{
 "path":"page/index/index",
 "width":430
}

返回:

{
 "errcode": 0,
 "errmsg": "ok",
 "contentType": "image/jpeg",
 "buffer": Buffer
}

云调用
接口方法
openapi.wxacode.createQRcode
请求参数:

属性类型默认值必填说明
pathstring扫码进入的小程序页面路径,最大长度 128 字节,不能为空;对于小游戏,可以只传入 query 部分,来实现传参效果,如:传入 “?foo=bar”,即可在 wx.getLaunchOptionsSync 接口中的 query 参数获取到 {foo:“bar”}
widthnumber430二维码的宽度,单位 px。最小 280px,最大 1280px

返回值
Object
包含二进制数据及其数据类型的对象

属性类型说明
contentTypeString数据类型 (MIME Type)
bufferBuffer数据Buffer

异常
Object
JSON

属性类型说明
errCodenumber错误码
errMsgstring错误信息

示例
请求:

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_tokenstring获取小程序全局唯一后台接口调用凭证
pathstring扫码进入的小程序页面路径,最大长度 128 字节,不能为空;对于小游戏,可以只传入 query 部分,来实现传参效果,如:传入 “?foo=bar”,即可在 wx.getLaunchOptionsSync 接口中的 query 参数获取到 {foo:“bar”}
widthnumber430二维码的宽度,单位 px。最小 280px,最大 1280px
auto_colorbooleanfalse自动配置线条颜色,如果颜色依然是黑色,则说明不建议配置主色调
line_colorObject{“r”:0,“g”:0,“b”:0}auto_color 为 false 时生效,使用 rgb 设置颜色 例如 {“r”:“xxx”,“g”:“xxx”,“b”:“xxx”} 十进制表示
is_hyalinebooleanfalse是否需要透明底色,为 true 时,生成透明底色的小程序码

返回值
Buffer
返回 的图片Buffer
异常
Object
JSON

属性类型说明
errcodenumber错误码
errmsgstring错误信息

errcode的合法值

说明最低版本
45029生成码个数总和到达最大个数限制

返回值说明
如果调用成功,会直接返回图片二进制内容,如果请求失败,会返回JSON格式的数据
示例
请求:

{
 "path":"page/index/index",
 "width":430
}

返回:

{
 "errcode": 0,
 "errmsg": "ok",
 "contentType": "image/jpeg",
 "buffer": Buffer
}

云调用
接口方法
openapi.wxacode.get
请求参数:

属性类型默认值必填说明
pathstring扫码进入的小程序页面路径,最大长度 128 字节,不能为空;对于小游戏,可以只传入 query 部分,来实现传参效果,如:传入 “?foo=bar”,即可在 wx.getLaunchOptionsSync 接口中的 query 参数获取到 {foo:“bar”}
widthnumber430二维码的宽度,单位 px。最小 280px,最大 1280px
autoColorbooleanfalse自动配置线条颜色,如果颜色依然是黑色,则说明不建议配置主色调
lineColorObject{“r”:0,“g”:0,“b”:0}auto_color 为 false 时生效,使用 rgb 设置颜色 例如 {“r”:“xxx”,“g”:“xxx”,“b”:“xxx”} 十进制表示
isHyalinebooleanfalse是否需要透明底色,为 true 时,生成透明底色的小程序码

返回值
Object
包含二进制数据及其数据类型的对象

属性类型说明
contentTypeString数据类型 (MIME Type)
bufferBuffer数据Buffer

异常
Object
JSON

属性类型说明
errCodenumber错误码
errMsgstring错误信息

示例
请求:

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_tokenstring获取小程序全局唯一后台接口调用凭证
scenestring最大32个可见字符,只支持数字,大小写英文以及部分特殊字符:!#$&’()*+,/:;=?@-._~,其它字符请自行编码为合法字符(因不支持%,中文无法使用 urlencode 处理,请使用其他编码方式)
pagestring必须是已经发布的小程序存在的页面(否则报错),例如 pages/index/index, 根路径前不要填加 /,不能携带参数(参数请放在scene字段里),如果不填写这个字段,默认跳主页面
widthnumber430二维码的宽度,单位 px。最小 280px,最大 1280px
auto_colorbooleanfalse自动配置线条颜色,如果颜色依然是黑色,则说明不建议配置主色调
line_colorObject{“r”:0,“g”:0,“b”:0}auto_color 为 false 时生效,使用 rgb 设置颜色 例如 {“r”:“xxx”,“g”:“xxx”,“b”:“xxx”} 十进制表示
is_hyalinebooleanfalse是否需要透明底色,为 true 时,生成透明底色的小程序码

返回值
Buffer
返回 的图片Buffer
异常
Object
JSON

属性类型说明
errcodenumber错误码
errmsgstring错误信息

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
请求参数:

属性类型默认值必填说明
scenestring最大32个可见字符,只支持数字,大小写英文以及部分特殊字符:!#$&’()*+,/:;=?@-._~,其它字符请自行编码为合法字符(因不支持%,中文无法使用 urlencode 处理,请使用其他编码方式)
pagestring必须是已经发布的小程序存在的页面(否则报错),例如 pages/index/index, 根路径前不要填加 /,不能携带参数(参数请放在scene字段里),如果不填写这个字段,默认跳主页面
widthnumber430二维码的宽度,单位 px。最小 280px,最大 1280px
auto_colorbooleanfalse自动配置线条颜色,如果颜色依然是黑色,则说明不建议配置主色调
line_colorObject{“r”:0,“g”:0,“b”:0}auto_color 为 false 时生效,使用 rgb 设置颜色 例如 {“r”:“xxx”,“g”:“xxx”,“b”:“xxx”} 十进制表示
is_hyalinebooleanfalse是否需要透明底色,为 true 时,生成透明底色的小程序码

返回值
Object
包含二进制数据及其数据类型的对象

属性类型说明
contentTypeString数据类型 (MIME Type)
bufferBuffer数据 Buffer

异常
Object
JSON

属性类型说明
errcodenumber错误码
errmsgstring错误信息

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’

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值