导语:

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

(学习视频分享:编程入门)

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

实例效果:

具体实现:

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

小程序端逻辑代码Page({

data: {},

// 绑定的点击事件函数

onViewTap() {

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

},

// 生成小程序码

createQrCode() {

this.showLoading();

wx.cloud

.callFunction({

// 请求云函数

// 云函数getQrCode

name: 'getQrCode',

})

.then((res) => {

console.log(res);

const fileId = res.result;

wx.previewImage({

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

urls: [fileId],

current: fileId,

});

this.hideLoading();

});

},

// toast生成中

showLoading() {

wx.showLoading({

title: '正在生成中...',

icon: 'none',

});

},

hideLoading() {

wx.hideLoading();

},

});

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

云函数端实现代码

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

其中config.json内为{

"permissions": {

"openapi": [

"wxacode.getUnlimited"

]

}

}

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

而index.js中如下代码// 云函数入口文件

const cloud = require('wx-server-sdk');

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: 'qrcode/' + Date.now() + '-' + Math.random() + '.png', // 生成的小程序码存储到云存储当中去,路径

fileContent: result.buffer,

});

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

};

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

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

相关文档

结语

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

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

php小程序码生成并保存,小程序中如何生成小程序码相关推荐

  1. python随机密码生成在26个字母中随机生成10个_习题6:二.3 随机密码生成

    编写程序在26个字母大小写和9个数字组成的列表中随机生成10个8位密码. import random num_ls = [] # 创建数字.小写字母.大写字母空列表 str_ls = [] STR_l ...

  2. maven生成html单元测试报告,Maven中配置生成单元测试报告配置

    对junit单元测试的报告: 1.  ------------------------------------------------------- 2.   T E S T S 3.  ------ ...

  3. doc自动生成html,java web应用中自动生成文章html页面的实现.doc

    java web应用中自动生成文章html页面的实现 java web应用中自动生成文章html页面的实现 2009-11-09 00:24:15 标签:web开发,页面转换 [推送到技术圈] 版权声 ...

  4. vuejs中html2canvas使用 背景图和二维码海报图片保存到一张图片上 生成一张海报并下载

    不少的项目中都用到了二维码加背景图片生成海报的宣传图片,实现方法就是canvas绘制到一张上后进行下载.html2canvas的技巧在这里不在讲解. 二维码和背景图片进行定位. 在传统场合,这类功能往 ...

  5. 蓝牙小电池图标_方寸间、掌握中,omthing小方盒开箱测评

    市面上的蓝牙耳机越来越多,每一款都让"打工人"感觉到迷惑,到底什么是最好?什么才是最适合"打工人"的耳机?今天我们开箱的这款万魔声学旗下品牌omthing的首款 ...

  6. 如何用python控制电脑的应用程序打不开_如果电脑中的一个应用程序打不开,点击图标没反应,能否将其强制打开...

    您好!出现:0x???????? 指令引用的0x????????内存.该内存不能为"read"或"written".答案[shijan8原创]★严禁复制★ [1 ...

  7. Maui Blazor windows程序无法通过双击 bin 文件夹中的 exe打开程序的解决办法

    ​ 使用Visual Studio创建了一个.NET Maui Blazor 应用,通过Visual Studio调试Windows应用时,需要打开开发者模式 打开开发者模式,调试一切正常,但如果直接 ...

  8. python 生成html文件浏览器,pycharm中怎么生成HTML文档并在浏览器查看HTML文档

    首先,介绍一下Python自带的pydoc模块,该模块能帮助我们生成以及查看HTML文档.(在控制台查看文档B格差了那么一丢丢,俺就没兴趣勒)待会能够熟练使用pydoc以后我们便可以直接在浏览器上打开 ...

  9. np中meshgrid生成二维矩阵matplotlib中imshow生成图形

    numpy中meshgrid函数接收两个一维数组,并产生两个二维矩阵 import numpy as np points=np.arange(-5,5,0.01) #生成1000个间隔相等的点 xs, ...

  10. 更方便!微信小程序任务栏功能升级:增加「我的小程序」

    为了让用户更方便地使用小程序,微信公众平台今天宣布,升级小程序任务栏功能.新功能将支持用户打开最近使用过的小程序和「我的小程序」,「我的小程序」的个数上限将提高到 50 个. 此外,原有的星标功能,将 ...

最新文章

  1. c++ 11 多线程处理(1)
  2. mysql删除数据后id自增不连续的解决方法
  3. jQuery EasyUI动态添加控件或者ajax加载页面后不能自动渲染问题的解决方法
  4. RabbitMQ(七):常用方法说明 与 学习小结
  5. c语言 typedef_C Typedef-能力倾向问题与解答
  6. 边缘计算精华问答 | 为什么需要边缘计算?
  7. C—蓝彗星(差分问题)
  8. 谷歌浏览器中打开IE
  9. linux启动本地远程服务,如何使用SSH在本地控制远程服务器执行命令
  10. 第 14 章 SMS
  11. 超好用的网页浮动广告代码
  12. 2019京东全球科技探索者大会议程抢先曝光!
  13. java中三元运算符_java中的三元运算符详解
  14. Java实现 洛谷 P1064 金明的预算方案
  15. 你真的会冲奶粉吗?3步正确冲泡奶粉,合理避开4个常见的误区
  16. Java项目:图书管理系统(java+JSP+layui+bootstrap+Servlet+Mysql)
  17. Win10下搭建绿色版基于WAMP的PHP开发环境
  18. Win32中设置窗体失去焦点,并重新获取焦点
  19. Python编写一球从100米高度自由落下,每次落地后反跳回原高度的一半;再落下,求它在第10次落地时,共经过多少米?第10次反弹多高?
  20. plt.scatter 中cmap参数详解

热门文章

  1. go语言 mysql卡死_一次mysql死锁的排查过程-Go语言中文社区
  2. flag的具体用法python_Python Qt.WindowFlags方法代码示例
  3. 在python中可以使用for作为变量名对吗_python能用一个变量的值作为另一个变量的变量名吗?...
  4. c语言中怎么暂停一个一个游戏,求助:最近在linux下用c语言写了一个贪吃蛇程序,有几个问题,第一:贪吃蛇怎么实现暂停,第二:有时候同时输入上下左右中的两个键就会直接游戏结束...
  5. win8无线网络受限怎么办 win8网络受限的解决方法
  6. C/C++如何快速区分指针数组|数组指针|函数指针|指针函数
  7. push_back还是emplace_back?
  8. spring boot配置dubbo注意事项
  9. 小米手机上安装https证书(例如pem证书,crt证书)详解
  10. scanf 接收 空格 输入_如何允许使用scanf输入空格?