程序内部生成小程序码的方法与技巧全解

why 1373 2024-07-03

小程序中如何生成小程序码

导语:

小程序是一种不需要-安装即可使用的应用,它实现了应用“触手可及”的梦想,用户扫一扫或者搜一下即可打开应用。也体现了“用完即走”的理念,用户不用关心是否安装太多应用的问题。应用将无处不在,随时可用,但又无需安装卸载。

那么在小程序中,如何生成小程序码?虽然小程序目前可以分享到朋友圈了的,但小程序码的传播无论是直接分享给好友,还是作为图片分享,或是作为线下扫码入口,都是引流的一种重要的入口。

实例效果:

image.png


具体实现:

小程序端代码,在view元素上绑定事件

1

<view bindtap="onViewTap">小程序码</view>

小程序端逻辑代码

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

39

40

Page({

  data: {},

  // 绑定的点击事件函数

  onViewTap() {

    this.createQrCode(); // 调用生成小程序码

  },

 

  // 生成小程序码

  createQrCode() {

    this.showLoading();

    wx.cloud

      .callFunction({

        // 请求云函数

        // 云函数getQrCode

        name: &#39;getQrCode&#39;,

      })

      .then((res) => {

        console.log(res);

        const fileId = res.result;

        wx.previewImage({

          // 小程序码,生成后直接预览,前台展示

          urls: [fileId],

          current: fileId,

        });

        this.hideLoading();

      });

  },

 

  // toast生成中

  showLoading() {

    wx.showLoading({

      title: &#39;正在生成中...&#39;,

      icon: &#39;none&#39;,

    });

  },

 

  hideLoading() {

    wx.hideLoading();

  },

});

在小程序端就上面几行代码

云函数端实现代码

在cloudFunctions文件夹下创建getQrCode云函数,会默认创建config.json,index.js,package.json三个文件

其中config.json内为

1

2

3

4

5

6

7

{

  "permissions": {

    "openapi": [

      "wxacode.getUnlimited"

    ]

  }

}

上面的是利用wxacode.getUnlimited生成小程序码的配置,这个配置是固定的

而index.js中如下代码

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

// 云函数入口文件

const cloud = require(&#39;wx-server-sdk&#39;);

 

cloud.init();

 

// 云函数入口函数

exports.main = async (event, context) => {

  const wxContext = cloud.getWXContext(); // 获取上下文

  const result = await cloud.openapi.wxacode.getUnlimited({

    // 调用生成小程序码的接口,携带一些参数,例如:scene

    scene: wxContext.OPENID,

  });

  // console.log(result)

  const upload = await cloud.uploadFile({

    // 生成的小程序码上传到云存储中

    cloudPath: &#39;qrcode/&#39; + Date.now() + &#39;-&#39; + Math.random() + &#39;.png&#39;, // 生成的小程序码存储到云存储当中去,路径

    fileContent: result.buffer,

  });

  return upload.fileID; // 返回文件的fileID,也就是该图片

};

生成小程序码就是上面几行简单的云函数代码就可可以实现,主要是利用wxacode.getUnlimited这个接口

获取小程序码,适用于需要的码数量极多的业务场景。通过该接口生成的小程序码,永久有效,数量暂无限制

相关文档

wxacode.getUnlimited 小程序码生成接口文档

cloud.uploadFile 本地资源上传至云存储

结语

在小程序中生成小程序码有两种方式一种是https调用,另一种是云调用,在本文中就是使用的云调用最为简单,免去了获取access_token,免鉴权

在小程序端发起请请求生成小程序码的云函数,云函数端借用云调用根据wxcode.getUnlimited这个接口生成小程序码,然后上传到云存储中,返回云存储中的图片的fileID,在小程序端就可以拿到云函数端返回fileID,根据这个fileID把小程序码展示出来。


版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:小程序获取当前日期的方式与实现方法探究
下一篇:实现小程序之间跳转的途径和操作要点详解
相关文章

 发表评论

暂时没有评论,来抢沙发吧~