收藏
回答

wxacode.getUnlimited 能否加上代码段,文档读着像天书,因为我是小白

wxacode.getUnlimited API原页面:https://developers.weixin.qq.com/miniprogram/dev/api-backend/open-api/qr-code/wxacode.getUnlimited.html

我是非常初级,文档只有一行代码:

POST https://api.weixin.qq.com/wxa/getwxacodeunlimit?access_token=ACCESS_TOKEN


我还是不知道怎么写,比如实际代码,POST写哪里?

下面是我弄了正常的代码,大家可以参考一下,面对小白!

下面代码是一个云函数的代码,我的云函数名字叫:get_qr

//代码不能达到生产级别,里面主要能参考的是 HTTPS调用和云调用的写法.
//因为我看完文档还是一脸懵,然后在群里,以及网上折腾了一天才弄出来,所以想给跟我一样的小白一个指引,希望能帮到跟我一样小白的朋友
//我这个是在云函数里用的
// 云函数入口文件
const cloud = require('wx-server-sdk');
const axios = require('axios')
//上传云函数时在终端用命令 npm install 安装依赖,这里还涉及get_qr云函数目录下建package.json,里面的代码,文底也列出来,以防小白不会
cloud.init({
    env"替换为你的环境id"
})

// 云函数入口函数
exports.main = async (event, context) => {
    try {
                //方法一、云调用
                // const wxacodeResult = await cloud.openapi.wxacode.getUnlimited({
        //     scene: event.scene,
        //     page: event.page,
        //     width: 280 //二维码的宽度,单位 px,最小 280px,最大 1280px
        // })

                   //方法二、HTTPS调用
                  //1.获取token
          let options = {
              method'get',
                              //APPID和AppSecret分别替换为你自己的,内容不用加引号,等号右侧还不能有空格
                  url'https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid=APPID&secret=AppSecret'//
                  body: {
                },
                jsontrue
            }
            let token = await axios(options)
                    //从返回的token中只提取access_token
            let access_token = token.data.access_token
        
                // return wxacodeResult;access_token
        if (access_token.errCode != 0) {
            // 生成二维码失败,返回错误信息
            return access_token;
        }
                
                //2.获取小程序码
        options = {
            method'POST',
            url'https://api.weixin.qq.com/wxa/getwxacodeunlimit?access_token=' + access_token + '',
            body: {
                scene: event.scene,
                page: event.page,
                width280 //二维码的宽度,单位 px,最小 280px,最大 1280px
            },
            responseType'arraybuffer'
        }
        let wxacodeResult = await axios(options) //获取成功

        // 判断是否错误
                //HTTPS调用:返回值Buffer,异常返回Object(JSON),值有errCode,errmsg,errcode的值有45009(频率受限),41030(小程序页面不存在或未发布)
         if (wxacodeResult.errcode != 0) {
            // 生成二维码失败,返回错误信息
                         console.log('wxacodeResult.errcode:',wxacodeResult.errcode)
            //return wxacodeResult.errmsg;//这里的判断好像errcode在返回值时也不是文档写的0,而是undefined,所以注释了
        }
                 //。。。。。
                //代码还没完,后面就是处理返回的小程序码,比如放如云存储什么的
      } catch (err) {
          return err
      }
  }
  
  


调用端的函数,这个是写在页面下的函数

getQRCode:function(){
    // 从云函数获取小程序码
    wx.cloud.callFunction({
      name'get_qr',
      data: {
          page'pages/index/index',
          scene'a=1',
      }
  }).then(res => {
      console.log(res.result);
      if (res.result.status == 0) {
          // _this.setData({
              qr_url: res.result.tempFileURL,
              //opener: queryPage + '&' + queryScene,
              console.log(qr_url)
          // })
      } else {
          console.log("调用失败")
      }
  }).catch(err => {
      // handle error
      console.error("错误信息:",err);
      console.log("捕捉到错误,调用失败")
  })
  }


package.json的代码

{
    "name""get_qr",
    "version""1.0.0",
    "description""",
    "main""index.js",
    "scripts": {
        "test""echo \"Error: no test specified\" && exit 1"
    },
    "author""",
    "license""ISC",
    "dependencies": {
        "wx-server-sdk""latest",
        "axios":"latest"
    }
}


最后一次编辑于  2020-07-22
回答关注问题邀请回答
收藏

4 个回答

  • VBit
    VBit
    2020-07-21

    不能,语言太多,而且文档已经很详细,建议把基础知识打牢固

    2020-07-21
    有用
    回复
  • 浪花骑士
    浪花骑士
    2020-07-21
    POST https://api.weixin.qq.com/wxa/getwxacodeunlimit?access_token=ACCESS_TOKEN
    

    的意思是需要用POST的方式去请求https://api.weixin.qq.com/wxa/getwxacodeunlimit

    需要在请求时携带access_token等参数

    你用什么语言就用什么语言去实现上述逻辑,这有啥看不明白

    2020-07-21
    有用
    回复
  • 子不语
    子不语
    2020-07-21

    这些不是参数么?

    请学会如何「提问」(👈戳我)

    2020-07-21
    有用
    回复
  • 微喵网络
    微喵网络
    2020-07-21

    建议贵公司招一个专业的后端开发

    2020-07-21
    有用
    回复
登录 后发表内容
问题标签