[微信小程序]海报推广

近期接到个需求,商家需要一个二维码放在海报上,用户扫描二维码就会进入小程序的推广页,在页面里可以看到各种介绍、广告,如果感兴趣可以留下姓名和电话号,供后台回访拨号。

拿到需求先分析了下难点,没玩过的就是二维码从哪来,其他的业务无非是增删改查了。

通过我这把度,得知微信开发者文档里就有现成的接口,专门提供相应页面的二维码,下面看一下它是啥样的。

wxacode.createQRCode | 微信开放文档

大致就是给你提供一个接口,你往里发请求,告诉他你要跳到什么路径,往路径里传什么参。发请求的时候要用到access_token,获取token需要appid,secret(这两个可以在自己管理平台上获取)。

具体请求发下来就是下面这套代码了,应该是可以拿来直接用滴。

        wx.request({
          url: 'https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid=' + '你的appid' + '&secret=' + '你的secret',
          method: "GET",
          success: res => {
            let token = res.data.access_token
            wx.request({
              url: 'https://api.weixin.qq.com/cgi-bin/wxaapp/createwxaqrcode?access_token=' + token,
              data: {
                path: "pages/pageName/pageName", // 扫小程序码要进入的页面路径
              },
              responseType: 'arraybuffer',
              method: "POST",
              success(res) {
                let fileManager = wx.getFileSystemManager(); //获取文件管理器
                let filePath = wx.env.USER_DATA_PATH + '/inner.jpg'; //设置临时路径


        // 存二维码
                wx.cloud.uploadFile({
                  cloudPath: 'qr_' + Date.parse(new Date()) + '.png',
                  filePath: filePath, // 文件路径
                  success: res => {}
                })



        //显示二维码 
                fileManager.writeFile({ //获取到的数据写入临时路径
                  filePath: filePath, //临时路径
                  encoding: 'binary', //编码方式,二进制
                  data: res.data, //请求到的数据
                  success: function (res) {
                    console.log(res)
                    // console.log(filePath)//打印路径
                    that.setData({
                      imgUrl: filePath
                    })
                  },
                  fail: function (res) {
                    console.log(res)
                  },
                });
              },
              fail(err) {
                console.log(err)
              }
            })
          }
        })

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值